Botframework: Building a proactive Bot
On SharePoint
In this post I'll walk you through a quick demo I prepare for MS ignite Australia 2017. Although it was the last demo and I didn't have the chance to actually make it work in front of a lot of live audience. I decided -what the hell- I'm going back home and I'll record this sh*t and I'll put it out there.
First thing you need to know, is to make the bot start a conversation or send a message proactively, you need to save the conversation address object which consist of the following:
First thing you need to know, is to make the bot start a conversation or send a message proactively, you need to save the conversation address object which consist of the following:
- Bot Object
- Bot ID
- Bot Name
- User Object
- User ID (base64 encoded value not email)
- Service URL ( points to local host when running the bot using the emulator)
from the above it's hard to reconstruct the address object, so I start looking at a way of saving this address. There is couple of events triggered:
- conversationUpdate: When a user or bot start exchanging messages
- contactRelationUpdate: When a user add bot to his/her contact list
I see the second event is more convenient to tab into and to store the user address somewhere.
Once you stored the user address you can either create a new conversation or send a new message within an existing conversation. This message can be triggered by any external event and can be published as another end-point of the bot service itself.
Note: you can easily construct the address if you are working with the botframework emulator
Note: you can easily construct the address if you are working with the botframework emulator
And this is how it looks like