Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
Properties-for-BotProactiveMessageActivity
Properties-for-BotProactiveMessageActivity
Properties for BotProactiveMessageActivity

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:

  • ShowToUserImmediately – The user will receive and see the complete message immediately. You can use this type to send urgent messages.

  • NotificationReminder – The Message is delivered to the user’s notification list, and a Message Reminder is shown to remind the user to check the notification list.

  • NotificationOnly – The Message is delivered to the user’s notification list. There will be no additional action or any reminders.

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
Sample-Proactive-Message
Sample-Proactive-Message
Sample Proactive Message

...

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.

  1. Add a BotProactiveMessageActivity to your workflow.

  2. 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.

...