...
You can find the BotProactiveMessageActivity in the Activities toolbox in Workflow Studio. Simply drag and drop the activity into your workflow to use the activity in a workflow.
...
Anchor | ||||
---|---|---|---|---|
|
Property | Type | Description |
---|---|---|
BotTenantId | String | BotTenantId Specifies the Tenant ID. The administrator can retrieve the Bot Tenant ID of your organization from the Azure portal. |
BotConversationReferenceId | Guid | Specifies the Conversation Reference ID of the user to whom you are sending the message(i.e., Person.BotConversationReferenceID) |
message title | String | Specifies the subject of the message to show in the notification list. You can see the notification list by sending the bot the “nfs” command. |
Message | String | Specifies the proactive message you want to send to a user. |
MessageType | TheDotNetFactory.Framework.BotWF.Common.ProactiveMessageType | Specifies how the proactive message should be delivered to the user. The ProactiveMessageType is an enum with the following values:
|
MessageReminder | string | Text to show as a reminder to the user indicating that the user has received a message in the notification list. |
CustomProactiveMessage | TheDotNetFactory.Framework.BotWF.Common.BotCapability | You may use this property to support the advanced handling of proactive messaging. You can find details of CustomProactiveMessage in the section. |
Advanced Proactive Messaging
You can use the CustomProactiveMessage property to support complex proactive messages. The CustomProactiveMessage property is of type BotCapability. Therefore, you may use any bot capability, including hero cards and adaptive cards. Current BotCapability objects include:
BotAttachment
BotAttachmentPrompt
BotAttachmentData
BotChoicePrompt
BotHeroCard (Example below)
BotQuickChoicePrompt
BotTextMessage
BotTextPrompt
Anchor | ||||
---|---|---|---|---|
|
...
Please follow the steps below to create a sample proactive message. You will be able to create a message and a hero card as shown in the output above for the following steps below.
Add a BotProactiveMessageActivity to your workflow.
Add a BeforeExecute event of the activity and paste the code below.
Code Block //Create a Hero Card var heroCard = new BotWF.Common.BotHeroCard { Title = "Some card for fun", Text = "How can I help?", Buttons = new List<BotWF.Common.BotCardAction>(), }; //Add two buttons to the Hero Card. heroCard.Buttons.Add(new BotWF.Common.BotCardAction { Type = BotWF.Common.BotActionTypes.ImBack, Title = "Show Ask to see", Value = "ask" }); heroCard.Buttons.Add(new BotWF.Common.BotCardAction { Type = BotWF.Common.BotActionTypes.ImBack, Title = "Move User", Value = "logout2" }); //Set the Bot Conversation Reference ID. heroCard.BotConversationReferenceId = new Guid("86EB46F9-9A66-4A13-9CAC-A2A00731AF0B"); //Set the Bot Tenant ID. heroCard.BotConversationTenantId = "94d8a558-58b3-43f0-a586-81a833cbaa39"; //Set the message type to immediate reminder and notification list. heroCard.ProactiveMessageType = BotWF.Common.ProactiveMessageType.NotificationReminder; //Set the Reminder message. heroCard.ProactiveMessageReminder = "Hi, I have something for you, please check your nfs list."; //Set the subject of the Message. This will show up in the notification list. heroCard.DisplayName = "Show me the card"; //Set the CustomProactiveMessage property to the hero card. botProactiveMessageActivity1.CustomProactiveMessage = heroCard;
Responding to User Input
The BotConversationFlow class allows you to handle user input following the proactive message. You will have to create an instance of the BotConversationFlow class and specify the name of the Botflow that can respond to the user input.
...