Webex AttachementActionData usage - botframework

How is this class used? If there is a submit button using Action.Submit on an adaptive card, how does the Microsoft Bot get this message?
So this question doesn't get flagged as too generic, there is a Webex adapter connected to a Microsoft bot using this exact demo.
https://learn.microsoft.com/en-us/azure/bot-service/bot-service-adapter-connect-webex?view=azure-bot-service-4.0
The OnMessageActivityAsync message gets the message from the bot, for example, if the user types "Hello", and the bot responds back with an adaptive card that has the action "Action.Submit" that will give the user a card with a submit button. Now, if the user clicks "submit", Webex should send something back to the bot. I don't think it's a message, because I never receive a message. Webex has, on it's side of documentation, a webhook with ActionAttachments. But after creating this webhook and clicking submit, what is the bot supposed to receive?

The answer to this was to change the Webex access token from the auto-generated token to the bot's access token. After doing this, the Action Attachment was working and the bot received the Event Activity.

Related

Power Automate editing posted teams message

I am using power automate to post a message to a teams channel. The message cannot be edited by admin of that teams channel or any user in that channel. I could not find an option to make the teams message editable or make it editable only by admin of that channel. Any pointer on making power automate teams message editable by admin of the group?
In general messages sent from one "user" (or bot) can't be edited by other users, even an admin - that would be a disaster for things like auditability. However, messages sent from a bot (e.g. the Flow bot) -can- be edited by the bot. However, in the case of Power Automate, it does not offer this as an action for the "post a teams channel message" Action, only for the Action that sends an Adaptive Card message. If you can change your flow to send this kind of message, there is an action to then update it later, using the message id.

How to add button for "Send Transcript" to Directline WebChat

I would like customers to be able to click a button to send themselves a transcript at any point in the conversation. This button should essentially send a message to the bot which would initiate an “email transcript" dialog to prompt for their email and send the transcript. I was able to add a button to the directline webchat client (in my title bar) but I can't figure out how to have it create an activity for the bot. I have a custom store that sends an "inactive" activity but I wasn't able to use this same method to make the button send an activity. Can this be achieved? Or is there another way for customers to get a copy of their transcript?
I have achieved the actual transcript retrieval and emailing in code, initiates by a LUIS intent, I just want to provide an intuitive "always there" option to do this.
The WebChat offers a simple sample that shows you how to send activities programmatically to the bot. In this sample they are creating a separate button with an Event Listener, which will sent your message as a message activity.
If you would like to sent it as an event in the background, you could have a look at this sample, which you could combine with the event listener of the first example.
How to send a message programmatically
How to send welcome event
Note: you need to use the JavaScript WebChat, it is not possible to add this functionality to the iFrame version of the Bot Service.

How to get a welcome message on teams even before user sends any message

I have deployed my bot on teams channel.
I would like to send a welcome message to a new user even before user sends a message to the bot.
can we achieve this for teams channel?
If yes, which event can be used to get that user is accessing bot for the first time.
You can use the ConversationUpdate event ActivityTypes.ConversationUpdate // in c#
When a bot is installed, your bot receives a conversationUpdate event. You can then send a proactive message to the user. Could you please try sending a proactive message and let us know if you face any issues?
The conversationUpdate event with the membersAdded object in the payload is sent when either a bot is added to a team or a new user is added to a team where a bot has been added. It is always a good practice to send a welcome message introducing the bot to all the users. Ensure that your bot responds to the conversationUpdate message, with the teamsAddMembers eventType in the channelData object. Also, keep in mind that the memberAdded ID is the bot's App ID itself, because the same event is sent when a user is added to a team.
Hope this helps.

Bot Framework receiving Facebook Messenger Event

Referral events should send an event according to the documentation here. See #2 for more information.
I am trying to receive this event, however, it does not seem as though the event is sent to the bot framework. We verified that the permission is granted with Facebook Messenger setup. I am using nGrok and can see all messages routed to the bot, however, this event does not show up when using an http://m.me/ link
Are these events supported?
You need to subscribe to Referral Messages in the Facebook Messenger Developer Portal. Open the settings blade on the left, scroll down to webhooks, and hit edit events.
Then enable messaging referrals and click save.
When the user clicks on the m.me link it will open the conversation and send a message activity to the bot. Note, I could only get this behavior to work if I added a ref parameter to the link - https://m.me/<PAGE_NAME>?ref=<VALUE>.
Hope this helps!

How can I handle Facebook likes, gifs and stickers inside of my Bot Framework chatbot?

I have created a chatbot using the Microsoft Bot Framework. The only channel I'm interested in right now it's Facebook. When doing some tests on Facebook I've noticed that when I click on the "Like" button, and when I send an gif or audio message, the bot crashes with the following message:
"Value cannot be null. Parameter name: stringToEscape."
How can I handle this kind of message within my bot? I can't replicate this on the emulator, so I don't know what Facebook is sending to my bot when the user sends one of these kind of messages. I would like to just ignore them and avoid the bot crashing.

Resources