How to move messenger thread control to Page Inbox in one click - botframework

A chatbot (Bot Framework v4, NodeJS) is connected to an app tied to a Facebook page (as primary receiver). Users starting a chat on the facebookpage are chatting with a chatbot. Works fine.
Sometimes the admin of the Facebook page needs to chat directly to the user. He can use the Page Inbox app for that. To be able to do that, he needs Thread Control
Currently the steps he needs to perform to get Thread Control for a certain conversation are:
Find the conversation he wants to join (get Thread Control over)
Move that conversation to 'Done' via the checkmark
Find the conversation again by adding the 'done'-filter to the view
Click the Move to Main button (the envelop in the top right corner)
Remove the 'done' filter to find the conversation again
Chat with the user (without the chatbot in the conversation)
After moving the conversation to Done again, the chatbot owns the conversation again.
Is there a more efficient way to get thread control

Related

Clicking notification take me to generic feed rather than to chat section

When I receive a notification In Teams from Bot A and I click on the popup the system does not navigate to the Bot A chat section, but to the generic Feed.
clicking on this take me to generic feed i.e
We got an update from the engineering team, this is expected behavior. The left side panel will just stay at "Feed", which is by design.

How to create MS Teams Survey App Messaging Extension

I am currently creating a survey app for ms teams similar to Polly.ai/survey monkey
The flow would be
User installs app,
app appears as messaging extension on the chat window,
user clicks app to opens page to create survey,
on submit an adaptive card is generated,
the same is responded back to teams,
The new card appears on the message Hi,
I am currently creating a survey app for ms teams similar to Polly.ai/survey monkey
The flow would be
User installs app,
app appears as messaging extension on the chat window,
user clicks app to opens page to create survey,
on submit an adaptive card is generated=>
the same is responded back to teams =>
The new card appears on the message create pane,
User hits enter to post the survey to the group,
All the group members respond to the survey ,
The same is logged
Can anyone help me in providing some links from where I can start.
Or maybe throw some light on what should be my approach.
My progress so far.
Created a teams bot,
On messaging extension invoke returned url that contains HTML for survey creation which is created in vue.js. Used msteams js to submit the json for created survey back to the bot,
Generated an adaptive card with json received and the a new survey created in db,
Sent the card back to teams as message attachment,
The card is displayed in message create pane,
User hits enter to post the card in the group,
Caught the action.submit event from adaptive card on bot framework.
Also, please note while I am generating the card I don’t have user email in the turncontext as well.
Please throw some light on this
Thanks
Please have a look at App templates available. I think for your case Poll and Survey are the best app template available.
Thanks

Chat history Persistence in MicroSoft Botframework WebChat window

I have a requirement of maintaining chat history and loading them back in a window after a page refresh or close and opening of the window.
ISSUE : Buttons/carousel/Adaptive cards/Hero Cards events/ properties are not loading (ie; when I click on button or any event, actions are not happening).
DESCRIPTION:
In order to achieve the requirement i had 2 options.
BotFramework _ Directline JS
I guess using this we can only get conversation history and where we couldn't load back the conversation history in chat window.
Though we can get the conversation history we have to send all the messages to bot again.
So i had opted 2nd one.
Store the html controls and Load it in the bot div: When sending or receiving message action is happening from bot am storing the html controls(i.e; controls under wc-message-groups class in local storage) and binding back to the div on page load if data exists.
This works for me to show conversation history in a chat window. But I am not able to get the events/actions for buttons.
Can we do this with Directline JS or is there any option to load properties/events to controls?
Please help me with this issue.
Thanks in Advance
I would start by taking a look at this thread out the Webchat GitHub repo. There is a good discussion going on about how this may be accomplished.
I also created this project in C# using webchat which will provide chat history in the webchat control. The project uses this pull request branch which you would also need to use. Hope this helps, good luck.

Can't add bot to group chat

I've created a bot (a simple echo bot) and deployed it to Azure. Everything works well now and I can talk to the bot in the desktop Skype client (Windows 10 app).
However, I can't seem to be able to add the bot to an existing group chat. When I click on the add button the list of contacts to add doesn't have my bot in it, which is weird because I've added it to my contacts.
https://stackoverflow.com/a/41644443/249230
^ According to that post I need to create a "private chat" with my bot and then I'll be able to add it to group chats, but I have no idea how to do that.
I haven't published my bot, but I did enable "Allow adding to a group" in bot settings on https://dev.botframework.com.
Any idea why it's not working?
Private chat is talking directly to your bot. If you have added it to your contacts, it should be easy to open a direct conversation with it by double clicking.
Then you can add people in the conversation using the top right button:
Then you will have your group chat working:
Note for other people asking the same question (but you already mentioned that you did it), don't forget to activate the group conversation for your bot in botframework portal, in Skype channel settings
Have you tried to add a bot to group?:
https://telegram.me/[botname]?startgroup=foo

How to echo clicked button text from Rich cards in web chat

We've developed a bot and are sending rich cards to the client. When a user connects to our bot through web chat and clicks a button within those rich cards, the text of the buttons the user clicked on are not echoed to the chat window as if the user would have typed it himself, unlike messenger for example.
The problem with this is that if the user scrolls up in the conversation, all he sees is text written by the bot and it makes it hard for him to see what choices he's made (what buttons were clicked), and therefore what bot's answers correspond to what choice.
Make sure that the Type of your CardAction (your buttons) is set to imBack. Then fill the Value property with the text you want to show in the chat.
Per the documentation:
CardAction.Type: imBack
CardAction.Value: Text of the message to send
to the bot (from the user who clicked the button or tapped the card).
This message (from user to bot) will be visible to all conversation
participants via the client application that is hosting the
conversation.

Resources