Learn how to build and distribute Microsoft Teams apps that retrieve user information using the Microsoft Graph API. Practice building and deploying apps in the guided project at the end of the learning path.

Read more


  • Basic understanding of Microsoft Teams apps and their components, including adaptive cards and task modules
  • Ability to program with JavaScript, TypeScript, and Node.js
  • Experience using Visual Studio Code at the intermediate level
  • Global administrator access to a Microsoft 365 tenant
  • Access to a Microsoft Azure subscription
Read more


Module 1: Get started building apps for Microsoft Teams by using Teams Toolkit for Visual Studio Code
Teams Toolkit is an extension for Visual Studio Code and Visual Studio 2022. It helps developers create and deploy Microsoft Teams apps with integrated identity, cloud storage, and other services across Microsoft 365 and Azure. In this module, you'll learn how to build a Microsoft Teams app by using Teams Toolkit for Visual Studio Code.
  • Introduction
  • Install and set up Teams Toolkit for Visual Studio Code
  • Exercise - Install and set up Teams Toolkit for Visual Studio Code
  • Create a Teams app from a sample in the gallery
  • Exercise - Create a Teams app from a sample in the gallery
  • Run your Teams app
  • Exercise - Run your Teams app
  • Summary
Module 2: Build conversational bots for Microsoft Teams
Learn how to create bots to enable conversational interactions with users through text, interactive cards, and task modules in Microsoft Teams
  • Introduction
  • Explore bots for Microsoft Teams
  • Understand core bot concepts for Microsoft Teams
  • Explore tools for developing bots for Microsoft Teams
  • Create a bot using Teams Toolkit
  • Create and send an Adaptive Card
  • Send proactive messages
  • Knowledge check
  • Summary
Module 3: Build message extensions for Microsoft Teams and Microsoft Copilot for Microsoft 365
Learn how to build message extensions that allow users to interact with external services within their flow of work in Microsoft Teams and Microsoft Copilot for Microsoft 365.
  • Introduction
  • Prepare to build a message extension
  • Define a search command
  • Implement a search-based message extension
  • Define an action command
  • Implement an action-based message extension
  • Extend Copilot for Microsoft 365 using a message extension
  • Knowledge check2
  • Summary
Module 4: Build tabs for Microsoft Teams
Learn how to build tabs that provide embedded web experiences within Microsoft Teams.
  • Introduction
  • Explore tab scenarios
  • Explore tab development
  • Create a tab using Teams Toolkit
  • Get context in Teams tab
  • Create deep link to a Teams tab
  • Knowledge check
  • Summary
Module 5: Connect web services to Microsoft Teams using webhooks
Learn how to create Incoming Webhooks and Outgoing Webhooks that connect web services to teams and channels in Microsoft Teams.
  • Introduction
  • Explore webhooks and connectors
  • Create an incoming webhook
  • Post a message to an incoming webhook
  • Create an outgoing webhook
  • Knowledge check
  • Summary
Module 6: Retrieve Microsoft 365 data for Microsoft Teams apps using Microsoft Graph
Learn how to authenticate users with Microsoft identity platform, configure permissions, and retrieve user data for your Microsoft Teams app using the Microsoft Graph API.
  • Introduction
  • Explore scenarios for developing with Microsoft Graph
  • Register your app with Microsoft Entra
  • Authenticate users using SSO with Teams Toolkit
  • Make requests to the Graph API
  • Configure permissions
  • Retrieve user information
  • Knowledge check
  • Summary
Module 7: Deploy a Microsoft Teams app to Azure by using Teams Toolkit for Visual Studio Code
When you create applications for Microsoft Teams, depending on your requirements, you might choose to host the web app in Azure. You might also add features that require cloud resources, like Azure Key Vault or Azure Functions. If you're creating bots, you'll need to use Azure Bot.
The Teams Toolkit for Visual Studio Code extension streamlines the process of setting up and deploying cloud resources by giving you a simple way to select and provision these resources during the app development stage. It also caters to easy publishing of the app, whether you need to publish to your organization for other users to test or to create app packages that can then be uploaded manually in Teams. In this training module, you'll understand more about the infrastructure requirements and how to set up things for hosting and publishing your app in Teams.
  • Introduction
  • Create Azure resources to host a Teams tab app
  • Exercise - Create Azure resources to host a Teams tab app
  • Deploy your Teams app's source code
  • Exercise - Deploy your Teams app's source code
  • Publish your Teams tab app
  • Exercise - Publish your Teams tab app
  • Summary
Module 8: Guided Project: Build and deploy a Microsoft Teams app using Teams Toolkit for Visual Studio Code
Practice building and updating Microsoft Teams apps that retrieve data from Microsoft Graph. Deploy to Azure and publish your app for users in an organization.
  • Introduction
  • Prepare
  • Exercise - Implement a message extension that retrieves data from Microsoft Graph
  • Exercise - Create an Incoming Webhook
  • Exercise - Create a tab
  • Exercise - Create a bot
  • Knowledge check
  • Summary
Read more

Why choose QA

Dates & Locations

Frequently asked questions

See all of our FAQs

How can I create an account on myQA.com?

There are a number of ways to create an account. If you are a self-funder, simply select the "Create account" option on the login page.

If you have been booked onto a course by your company, you will receive a confirmation email. From this email, select "Sign into myQA" and you will be taken to the "Create account" page. Complete all of the details and select "Create account".

If you have the booking number you can also go here and select the "I have a booking number" option. Enter the booking reference and your surname. If the details match, you will be taken to the "Create account" page from where you can enter your details and confirm your account.

Find more answers to frequently asked questions in our FAQs: Bookings & Cancellations page.

How do QA’s virtual classroom courses work?

Our virtual classroom courses allow you to access award-winning classroom training, without leaving your home or office. Our learning professionals are specially trained on how to interact with remote attendees and our remote labs ensure all participants can take part in hands-on exercises wherever they are.

We use the WebEx video conferencing platform by Cisco. Before you book, check that you meet the WebEx system requirements and run a test meeting (more details in the link below) to ensure the software is compatible with your firewall settings. If it doesn’t work, try adjusting your settings or contact your IT department about permitting the website.

Learn more about our Virtual Classrooms.

How do QA’s online courses work?

QA online courses, also commonly known as distance learning courses or elearning courses, take the form of interactive software designed for individual learning, but you will also have access to full support from our subject-matter experts for the duration of your course. When you book a QA online learning course you will receive immediate access to it through our e-learning platform and you can start to learn straight away, from any compatible device. Access to the online learning platform is valid for one year from the booking date.

All courses are built around case studies and presented in an engaging format, which includes storytelling elements, video, audio and humour. Every case study is supported by sample documents and a collection of Knowledge Nuggets that provide more in-depth detail on the wider processes.

Learn more about QA’s online courses.

When will I receive my joining instructions?

Joining instructions for QA courses are sent two weeks prior to the course start date, or immediately if the booking is confirmed within this timeframe. For course bookings made via QA but delivered by a third-party supplier, joining instructions are sent to attendees prior to the training course, but timescales vary depending on each supplier’s terms. Read more FAQs.

When will I receive my certificate?

Certificates of Achievement are issued at the end the course, either as a hard copy or via email. Read more here.

Contact Us

Please contact us for more information