I'm completely new in the microsoft teams application world. I would like to build a teams chatbot which should be able to work as a checklist. So the bot should be able to tell which task are done and some task should be completed by the Bot automatically trough API calls others are just a yes or no question to check if you're done with the task. Further Task should only be possible if the previous task is done. So the Bot should be able to edit and safe the task objects and Task 2 to Task n should be blocked todo while task 1 is still open.
Where do I store the task information eg(id,name, description, status(open,done,in progress) and in which form so the Teams Bot can edit and overwrite the status. Is it possible to do this with a JSON? Or doesn't make this any sense?
Related
I am trying to build a power automate solution to overcome one of the problem in my project.
I need a flow which sends email to list users who haven't finished the task with an option to ask if they have completed the task or not. If user says yes then it should record the response with a proof of the task completion (screenshot of the task).
If user says no, then Friday it should send 2 reminder emails and on Monday it should send email every 2 hr until they complete the task, meaning they should select Yes with screenshot as attachment.
How can I achieve this?
I was able to achieve it as below
Create SharePoint list of all users
Create a Microsoft form with questions about whether they completed task and screenshot of same
Create Automated Flow to send reminder email at scheduled time with the link to form
Once user clicks the link in the email it will redirect the form.
After user submits the form it updates the SharePoint List that user has completed the task.
Recurring reminder to whom have not completed by reading SharePoint list
I have developed a bot in MS Teams and i want to fetch the channel Ids where the bot is installed and can send the messages.
Any ideas how to do this, thanks a lot
You can only really do this when there's an interaction from the user, so for example when the user sends your bot a message. The best time of all, however, is when your bot is actually installed, because then you have it right from the beginning. You use the ConversationUpdate event, as described here.
If it's too late for that (your bot is installed already), then I'm only aware of waiting for the next message - I'm not sure if it's possible to get things like the conversation id another way.
I need to invoke a Task Module in Waterfall step of Dialog in Bot Framework without any button click. Is there any possibility to do that?
This is currently not supported. You will need an action from the user to invoke the task module in Microsoft Teams. Depending on your scenario you could possibly solve it by sending an Adaptive Card with a form, however this will limit you in the features for user interaction.
Task modules can be invoked in three ways:
Channel or personal tabs. Using the Microsoft Teams Tabs SDK you can invoke task modules from buttons, links or menus on your tab. This is covered in detail here.
Bots. Buttons on cards sent from your bot. This is particularly useful when you don't need everyone in a channel to see what you are doing with a bot. For example, when having users respond to a poll in a channel it's not terribly useful to see a record of that poll being created. This is covered in detail here.
Outside of Teams from a deep link. You can also create URLs to invoke a task module from anywhere. This is covered in detail here.
Source: What are task modules?
I am new in Teams & Bot world, and I have some basic doubts, after reading in the docu and testing its samples.
I have 2 projects running in my Visual Studio:
Echo Bot from Bot Framefork
HelloWorld app from Teams Samples (with an 'EchoBot' inside)
I can see that Activities from Teams are managed in a different way:
ActivityHandler with OnMessageActivityAsync, where each message is received:
protected override async Task OnMessageActivityAsync(ITurnContext turnContext...
ApiController with Post method:
Task Post([FromBody] Activity activity)
but 1 manages Microsoft.Bot.Schema.IActivity
and 2 manages Microsoft.Bot.Connector.IActivity
Maybe it sounds basic, but where can I find a simple explanation about these 2 different ways to manage incoming messages and creating responses/updates,...?
My goal is to have an application with Message Extension (like in 2), to get commands from TEAMS (with #MyApp...), but I need to send activities like Cards (like in 1).
I need to reply (Reply1) an incoming message from a user (Message1), and when I finish a local task, add another reply to the same message (Reply2 to Message1). Both are not new messages, but sent in the same "thread"
With these requirements, what is my best start point?
Thanks a lot,
Diego
I have a fairly basic Teams app I've been developing, that has a bot associated with it. The bot is a simple NodeJS application, that us just waiting on events sent by my teams app to it
I see the teams conversationUpdate Type and some associated eventType in the SDK docs.
Is there an easy way to detect if the actual Team itself has been deleted?
i.e I have a Team, I add my app to it and create a tab in the team for the app. I can detect that the app has been added to the team, by checking the teamMemberAdded eventType.
But, I'm unsure if i can use the teamMemberRemoved eventType to determine if the Team has been deleted
Thanks
Currently, Bots do not receive an event when its containing team is deleted.
If you are storing team and channel details for proactive messages then you can clean it up when you get "NotFound" error code in exception while sending a message.