Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Use your Web skills and the Microsoft Graph to build apps for Microsoft Teams

248 views

Published on

Use your Web skills and the Microsoft Graph to build apps for Microsoft Teams

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Use your Web skills and the Microsoft Graph to build apps for Microsoft Teams

  1. 1. #insiderDevTour Use your Web Skills and Microsoft Graph to build Apps for Microsoft Teams
  2. 2. #insiderDevTour Hi! I am Jenkins NS  Modern Workplace Solution Architect  International Speaker  Email : jenkinsns@gmail.com  @jenkinsns  Blog : http://www.Jenkinsblogs.com  SPFx : https://www.facebook.com/spfxinfo/  MS Teamse : https://www.facebook.com/msteamsinfo/  Github : https://github.com/jenkinsns
  3. 3. #insiderDevTour Overview of the Teams Developer Platform Introduction to Teams App Studio How to build a Teams app What’s Coming for Teams developers What we’ll cover today
  4. 4. #insiderDevTour Microsoft Teams Platform build experiences that people love Communicate through chat, meetings & calls Collaborate with deeply integrated Office 365 apps Customize& extend with 3rd party apps, processes, and developer tools Work with confidence enterprise level security, compliance, and manageability Gain context without switching context Meet your people where they are Tailor your teamwork
  5. 5. #insiderDevTour Healthcare Retail Manufacturing Transportation Hospitality Financial Services Public Sector Microsoft 365 Cloud Organizations own their data / organizations give developers access Partner Solution Azure: Bot Framework, LUIS, Cortana, AI, Cognitive Services etc. Business Logic Business Logic On Premise • Line of Business (LOB) apps • ISV solutions • SharePoint solutions Users Information Worker, Firstline Worker, Students, Leadership, etc. Private/Public Cloud • Line of Business (LOB) apps • ISV solutions • SharePoint solutions Teams Application Platform & Graph APIs LOB Apps3rd Party AppsMicrosoft Workloads Microsoft Teams Azure Meetings Calling Video Chat Sharing Broadcast SPFx Microsoft Teams – Hub for Teamwork Microsoft Teams Opportunity
  6. 6. #insiderDevTour Tabs Surface rich content within Teams Microsoft Teams provides a powerful and extensible platform Distribute and manage your app Bots Help users get tasks done in conversations Voice and video Add rich calling and meeting automation and media Messaging Extensions Allow users to query and share rich cards in conversations Power your apps using Graph. Build intelligence and connect to data that drives productivity Microsoft Graph Adaptive Cards Add rich interaction to your connector cards Notifications Post rich updates to channels via connectors Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to AppSource to make available in the Teams app store Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Administrators Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption
  7. 7. #insiderDevTour Chat Lightweight collaboration in 1:1 or group setting without complex permissions Example: 1:1 topics between manager and direct report Team and channel Enable public collaboration and workflows with all team members Example: share, discuss, and get notified about new service incidents Personal User-centric view, showing aggregate content along with private bot chat Example: list of all tasks assigned to me Custom-tailor your app’s functionality depending on which of these contexts you will support
  8. 8. #insiderDevTour Tabs Surface rich content within Teams Microsoft Teams provides a powerful and extensible platform Distribute and manage your app Bots Help users get tasks done in conversations Voice and video Add rich calling and meeting automation and media Messaging Extensions Allow users to query and share rich cards in conversations Power your apps using Graph. Build intelligence and connect to data that drives productivity Microsoft Graph Adaptive Cards Add rich interaction to your connector cards Notifications Post rich updates to channels via connectors Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to AppSource to make available in the Teams app store Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Administrators Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption
  9. 9. #insiderDevTour Tabs Surface rich content within Teams Microsoft Teams provides a powerful and extensible platform Distribute and manage your app Bots Help users get tasks done in conversations Voice and video Add rich calling and meeting automation and media Messaging Extensions Allow users to query and share rich cards in conversations Power your apps using Graph. Build intelligence and connect to data that drives productivity Microsoft Graph Adaptive Cards Add rich interaction to your connector cards Notifications Post rich updates to channels via connectors Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to AppSource to make available in the Teams app store Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Administrators Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption
  10. 10. #insiderDevTour Tabs Surface rich content within Teams Microsoft Teams provides a powerful and extensible platform Distribute and manage your app Bots Help users get tasks done in conversations Voice and video Add rich calling and meeting automation and media Messaging Extensions Allow users to query and share rich cards in conversations Power your apps using Graph. Build intelligence and connect to data that drives productivity Microsoft Graph Adaptive Cards Add rich interaction to your connector cards Notifications Post rich updates to channels via connectors Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to AppSource to make available in the Teams app store Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Administrators Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption
  11. 11. #insiderDevTour Tabs Surface rich content within Teams Microsoft Teams provides a powerful and extensible platform Distribute and manage your app Bots Help users get tasks done in conversations Voice and video Add rich calling and meeting automation and media Messaging Extensions Allow users to query and share rich cards in conversations Power your apps using Graph. Build intelligence and connect to data that drives productivity Microsoft Graph Adaptive Cards Add rich interaction to your connector cards Notifications Post rich updates to channels via connectors Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to AppSource to make available in the Teams app store Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Administrators Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption
  12. 12. #insiderDevTour Tabs Surface rich content within Teams Microsoft Teams provides a powerful and extensible platform Distribute and manage your app Bots Help users get tasks done in conversations Voice and video Add rich calling and meeting automation and media Messaging Extensions Allow users to query and share rich cards in conversations Power your apps using Graph. Build intelligence and connect to data that drives productivity Microsoft Graph Adaptive Cards Add rich interaction to your connector cards Notifications Post rich updates to channels via connectors Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to AppSource to make available in the Teams app store Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Administrators Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption
  13. 13. #insiderDevTour Tabs Surface rich content within Teams Microsoft Teams provides a powerful and extensible platform Distribute and manage your app Bots Help users get tasks done in conversations Voice and video Add rich calling and meeting automation and media Messaging Extensions Allow users to query and share rich cards in conversations Power your apps using Graph. Build intelligence and connect to data that drives productivity Microsoft Graph Adaptive Cards Add rich interaction to your connector cards Notifications Post rich updates to channels via connectors Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to AppSource to make available in the Teams app store Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Administrators Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption
  14. 14. #insiderDevTour Tabs Surface rich content within Teams Microsoft Teams provides a powerful and extensible platform Distribute and manage your app Bots Help users get tasks done in conversations Voice and video Add rich calling and meeting automation and media Messaging Extensions Allow users to query and share rich cards in conversations Power your apps using Graph. Build intelligence and connect to data that drives productivity Microsoft Graph Adaptive Cards Add rich interaction to your connector cards Notifications Post rich updates to channels via connectors Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to AppSource to make available in the Teams app store Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Administrators Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption
  15. 15. #insiderDevTour Demo
  16. 16. #insiderDevTour Introduction to Teams App Studio
  17. 17. #insiderDevTour Teams.1: Get App Studio from Store In Teams, click Apps button, search for “App Studio”, install.
  18. 18. #insiderDevTour Teams.2: Go to App Studio, create an app Go to App Studio > Manifest editor > Create a new app
  19. 19. #insiderDevTour Teams.3: App details Use “idt-teams-bot” for short name, long name & short description. Use “idt-teams-bot long description” for the long description. Generate an App Id Use “com.mycompany.idt.bot” for package name, “0.0.1” for version. Use “idt-teams-bot” for Name Use http://www.mywebsite.com for all urls.
  20. 20. #insiderDevTour Teams.4: Add existing Bot Under Capabilities->Bots choose “Set up” Existing bot. Name: “idt-teams-bot” Bot ID: Either “Select from one of my existing bots” if logged into the same AAD account, or “Connect to a different bot id” and paste in the Microsoft id found in the appsettings.json file of the bot. (if connected instead of selected): Endpoint: https://idt-teams-bot.azurewebsites.net/api/messages
  21. 21. #insiderDevTour Teams.5: Add domain to validate & install Under Finish > Valid domains, add “*.botframework.com” as a valid domain. Under Finish > Test and distruibute, click “Install” Choose Personal and Team checkboxes. Click “Open” to open the Bot to begin testing.
  22. 22. #insiderDevTour Teams.6: Test your skill Type “hi” (Bot says “Hello.”) Type “schedule a meeting” (Bot requests a login) click “login” Log in to your non-AAD account, but do not close the window. A validation code will appear. Copy the code. Paste the code into the conversation with the bot. (follow further prompts in the conversation to set up a meeting)
  23. 23. #insiderDevTour Microsoft Graph a unified REST API and comprehensive developer experience for integrating the data and intelligence exposed by Microsoft services.
  24. 24. #insiderDevTour Integrate Microsoft Graph into your app Users, Groups, Organizations Outlook SharePoint OneDrive Teams Planner Excel OneNote Activities Device Relay Commands Notifications Azure AD Intune Identity Manager Advanced Threat Analytics Advanced Threat Protection Mail, Calendar, Contacts and Tasks Sites and Lists Drives and Files Channels, Messages Tasks and Plans Spreadsheets Notes, and more… Identity Management Access Control Synchronization Domains Administrative Units Applications and Devices Advanced Threat Analytics Advanced Threat Protection Alerts Policies and more… Office 365 Windows 10 Enterprise Mobility + Security https://graph.microsoft.com
  25. 25. #insiderDevTour Connect into Teams-specific APIs Users, Groups, Organizations Outlook SharePoint OneDrive Teams Planner Excel OneNote Mail, Calendar, Contacts and Tasks Sites and Lists Drives and Files Channels, Messages Tasks and Plans Spreadsheets Notes, and more… Identity Management Access Control Synchronization Domains Administrative Units Applications and Devices Advanced Threat Analytics Advanced Threat Protection Alerts Policies and more… Office 365 Channels Members Apps Teams Threads Messages Tabs https://graph.microsoft.com
  26. 26. #insiderDevTour Common automation scenarios using Graph Set up the team • Provision the team and set basic properties • Create channels • Add members • Install LOB apps and configure tabs Ongoing collaboration • Manage team members and permissions • Manage channels Once everything is done • Read channel messages, files • Mark team as Archived Create or clone team Manage apps, channels, members Enable ongoing collaboration Read data, archive, and delete
  27. 27. #insiderDevTour Graph can automate team lifecycles Create a team Add members and owners Configure team settings Add channelsInstall apps Add tabs Archive or delete the team when the time comes
  28. 28. #insiderDevTour App registration Graph calls need a Graph appId. Graph appId != Teams appId Register a Graph app: 1. https://apps.dev.microsoft.com 2. Create a Converged Application Or use your botId if you have a bot.
  29. 29. #insiderDevTour Permissions Two types of permissions: User delegated permissions for when there is a user present Application permissions for when there isn't Teams APIs require Group.Read.All or Group.ReadWrite.All For user delegated, means all groups the user can read/write For application permissions, means all groups in the tenant Admin consent required for both user delegated and application permissions
  30. 30. #insiderDevTour
  31. 31. #insiderDevTour Teams Graph APIs Resource Operations Key scenarios Team (group) POST, PUT, GET, DELETE Create, update, delete teams Query all teams for a user List, clone, archive/unarchive Member POST, PUT, GET, DELETE Add, remove team members Query all team members Channel POST, PUT, GET, DELETE Create, update, delete channels Query all channels in a team Message POST Post a channel message on behalf of a user Resource Operations Key scenarios App POST, PUT, GET, DELETE Manage tenant app catalog Add, remove apps in a team Tab POST, PUT, GET, DELETE Add, remove tabs in a channel Message GET Read all messages in a channel
  32. 32. #insiderDevTour Hot off the press Admin permissions Configuring Word/Excel/PowerPoint/PDF tabs Bulk add members Create team + channels + settings + tabs in one call Channel deep link Channel e-mail address
  33. 33. #insiderDevTour https://graph.microsoft.com https://aka.ms/teamsgraph/v1 https://github.com/microsoftgraph/contoso-airlines-teams-sample UserVoice Stack Overflow [microsoft-graph] [microsoft-teams]) mailto:TeamsGraph@microsoft.com
  34. 34. #insiderDevTour Demo
  35. 35. #insiderDevTour Web Skills Visual Studio 2019 with ASP.NET workload. Latest NodeJS. 10.15.3 Install .NET Core 2.2 Install Powershell 6.0 Install azure-cli In cmd or ps, install dependencies: npm install -g botdispatch ludown@1.3.1 luis-apis qnamaker luisgen@2.0.2 botskills
  36. 36. #insiderDevTour
  37. 37. #insiderDevTour Lab: Developing Microsoft Teams Teamwork Solutions Approximately 3:30 hours for the entire lab • Exercise 1: Setting up your development environment and creating a new app • Exercise 2: Deploying a SharePoint web part as a Microsoft Teams tab • Exercise 3: Building a personal tab in the Contoso HR Talent app • Exercise 4: Building a team tab in the Contoso HR talent app • Exercise 5: Creating a bot in the Contoso HR Talent app • Exercise 6: Installing a messaging extension in the Contoso HR Talent app • Exercise 7: Creating an Office 365 connector in the Contoso HR Talent app • Exercise 8: Exploring task module invocation • Exercise 9: Reviewing activity feed alert configurations • Exercise 10: Using Graph Explorer
  38. 38. #insiderDevTour General lab notes  The labs are available through the end of July.  The exercises are designed to be performed in order.  Some tasks may take longer than expected. Known delays will be identified in the lab document.  An Office 365 trial subscription is provided.  If a lab task or step fails, be sure to review the ALERT or KNOWLEDGE notes.  When you ‘End’ the lab, the virtual machines will be reset. Changes to the Office 365 Subscription will not be reset.  Make sure to adjust Date and Time on VM  Make sure to select Save when you enable Side Loading of Apps  BOT Exercise – Ensure password does not contain ‘&’ and ‘’ - regenerate
  39. 39. #insiderDevTour Use the navigation (hamburger) menu to Save or End your lab or undock the lab and resources pane
  40. 40. #insiderDevTour Learn more! Check out the labs and resources! aka.ms/insiderdevtour-labs
  41. 41. #insiderDevTour Insider Dev Tour

×