Chatbot with Microsoft Office365/outlook Calendar - botframework

I want to develop a chatbot and want to integrate Microsoft Office365/Outlook calendar.
So flow of application will be like this:
1) From Admin panel Manager user will invite Partner users and partner users will come and connect to their office 365 calendar and and enable access to share it. Now this calendar will be available for chatbot.
2) on FrontEnd(chatbot) guest or registered users will provide their emails and book meeting from the available timing based on calendar.
.. guest users will provide there emails and get the available timing from a partner user calendar.
I started looking at Microsoft Graph API.
Can someone provide me with a good start?

To do this you will have to use the authentication features in bot framework. There is a good walkthrough to get you started. There is also a sample that demonstrates the use of the MS Graph API.

Related

Is it possible to programatically add an event to my own Office 365 calendar without an Azure subscription?

According to this guide there are a jillion ways to integrate, some of which are beyond my understanding, but they seem to require a Client Id which is created via portal.azure.com
When I log into that site, it says I don't have a subscription. I don't really want an azure subscription - I have an office 365 subscription already.
Is there a way to integrate with office 365 without an azure subscription or some way that means I don't have to pay for Azure?
I have a program that runs as a windows service that books something, and when it's completed I simply wanted to insert the booking automatically into my outlook calendar.
To access Graph API you need to give a set of permissions to your app for selected endpoints and it can be done only in Azure portal.
Every Office 365 tenant has an Azure Active Directory.
To find it go into the Office 365 Administration dashboard, click the "Show All" menu down the left and side of the page, then click "Azure Active Directory". This will take you into the AAD admin pages in the Azure Portal.
From there you can register an application.

Can I get calendar meetings out of MS Teams?

I want to find if you can programmatically get calendar information out of MS Teams.
I was searching but didn't find any information, as with any documentation related to Microsoft you can't find anything useful.
So What I need any of:
some kind of WebHook, maybe that will run my script when new even is added to my calendar.
MS Teams call my script the meeting.
API that will allow exporting events from the calendar, so I can use a cron job to sync with the app I plan to create.
Basically, I was thinking about this tool ntfy. But I don't want to use MS Teams app for my phone if there is one, because I would like to have an app that will integrate with MS teams and Google Calendar. That I have to use at work. I'm a contractor for a software company that has a client that I'm working for. I need to use MS teams for a software company and Google Calendar for the client. Also, I can't log in with my work Google account, because it's blocked for the security of google drive (this at least was the error message). So my own Android app is the only way to have notifications on my phone (I need it because I sometimes forget about the meetings).
How I should create something like this? I only need general advice about integration with MS Teams. What API should I use? Will ask about Google Calendar in another question.
Note that I have zero knowledge about MS Teams, was searching for some developer documentation but was not able to find anything that can be useful for the thing I need.
I don't have any code yet, I'm investigating possibilities.
You could use so-called "graph api", the api Microsoft promotes to interact with anything related to Microsoft, including teams. There is simply a method to get all events for a team (i.e. group):
https://learn.microsoft.com/en-us/graph/api/calendar-list-events
There is an online sandbox you could use to play with it:
https://developer.microsoft.com/en-us/graph/graph-explorer

MS Teams invite guest using graph api

I'm trying to invite a guest (external user) to my Microsoft Teams team using graph api. I'm doing the following:
Create the invite using create invite api available in Microsoft graph
Add the guest to the team upon success
On the guest side, they receive an invitation email which guides them through the account creation process. Post microsoft account creation, they are asked to create a Teams account (most of our guests do not have a Teams account as well). During this process, they are being asked for Teams organization name which takes them to a completely different Teams org than the one that they were invited for.
Is there anything wrong in what I'm doing?

Is there any way to add and get equipments in a meeting room using Microsoft APIs?

I am new to Microsoft APIs. I have created equipments, rooms and room-list but I'm not able to add/connect equipments to rooms. I also could not find any sufficient documentation regarding this.
Is there any way to add and get equipments in a meeting room using Microsoft API?
Unfortunately, it is not currently possible to add equipment or create room resources through Microsoft Graph API or Azure AD Graph API. I recommend that you visit User Voice and add this as a suggestion. (I'm also linking Azure's User Voice.)
Currently you can only create Room and Equipment Resources via the Office 365 Admin Portal or the Exchange Admin Center.

How to get Microsoft Graph access token using email id in the skype for business bot to add an event to Calendar

In Skype for Business Bot , User is pre-authenticated, need to get Microsoft graph access token , in order to perform Microsoft Graph operations (such as adding events to calendar) in programmatic way..
Please suggest how Microsoft Graph Apis can be integrated with Azure Bot for Skype for business channel.
We want Skype for Business bot to book the meeting just like described here
But instead of Teams need to use Skype for Business. but basically this code line will ask user to explicitly in this code sample
"await context.Forward(new AzureAuthDialog("
There is another sample that need Adminconsent to update the calendar of specific user
Swati
You cannot reuse anything from the pre-authentication. Like any other channel, you have to go through a specific authentication phase.
You have a great sample on the official repository to do this, here: https://github.com/Microsoft/BotBuilder-Samples/tree/master/samples/csharp_dotnetcore/24.bot-authentication-msgraph

Resources