The chatbot can also proactively reach out to users when it detects a need for their involvement, such as to notify them of new tasks to approve or if their account has become locked out. Suppose you have scenarios where you have to provide commands directly from Job, API, Workflows, or other system components to the Bot and send messages to users. In that case, you will be using the Proactive Messaging capability of the Bot. E.G., a job can trigger a message asking the user to approve a particular business request. In this doc, we will explore properties and create a Sample Proactive Bot Message.
This tutorial describes properties and shows how to add BotProactiveMessageActivity and sample code in a BotFlow. Please refer to the tutorial below for a descriptive and complete walkthrough about how to create and publish a BotFlow.
The BotProactiveMessageActivity allows you to send messages to any active bot conversation. Person.BotConversationReferenceID A conversation reference ID I.D. is required to proactively initiate a conversation with a user proactively.
Tip |
---|
Person.BotConversationReferenceID A conversation reference ID I.D. is required to initiate a conversation with a user proactively. A reference ID I.D. implies that the user or person Person has an active conversation. A conversation expires if the user closes the communication channel or logs out of the channel (i.e., Teams, Web Chat, etc.). An expired conversation will not have a valid Reference ID, and such a conversation cannot receive messages. Whenever you write any logic for proactive messaging, you should retrieve and check the conversation reference ID I.D. from the Person.BotConversationReferenceID |
...
Property | Type | Description |
---|---|---|
BotTenantId | String | BotTenantId Specifies the Tenant ID. The system 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 titleMessageTitle | String | Specifies the subject of the message to show in the notification list. You can see the notification list by sending the bot 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. |
...
Code Block |
---|
heroCard.ConversationFlow = new BotConversationFlow(). heroCard.ConversationFlow.WorkflowName = "ResponseToUserBotflow"; //Set any required workflow parameters for the Botflow. heroCard.ConversationFlow.Parameters = new Dictionary<string, string>() { {"WorkflowProperty1","123"} }; |
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Macrosuite divider macro | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|