- Getting started
- Notifications
- Licensing
- Troubleshooting
- Connector Builder
- Act! 365
- ActiveCampaign
- Active Directory - Preview
- Adobe Acrobat Sign
- Adobe PDF Services
- Amazon Bedrock
- Amazon Connect
- Amazon Polly
- Amazon SES
- Amazon Transcribe
- Amazon Web Services
- Anthropic Claude
- Asana
- AWeber
- Azure AI Document Intelligence
- Azure Maps
- BambooHR
- Box
- Brevo
- Calendly
- Campaign Monitor
- Cisco Webex Teams
- Citrix Hypervisor
- Citrix ShareFile
- Clearbit
- Confluence Cloud
- Constant Contact
- Coupa
- CrewAI – Preview
- Customer.io
- Database Hub - Preview
- Databricks Agent
- Datadog
- DeepSeek
- Deputy
- Discord - Preview
- DocuSign
- Drip
- Dropbox
- Dropbox Business
- Egnyte
- Eventbrite
- Exchangerates
- Exchange Server - Preview
- Expensify
- Facebook
- Freshbooks
- Freshdesk
- Freshsales
- Freshservice
- GetResponse
- GitHub
- Gmail
- Google Cloud Platform
- Google Docs
- Google Drive
- Google Forms - Preview
- Google Maps
- Google Sheets
- Google Speech-to-Text
- Google Text-to-Speech
- Google Tasks - Preview
- Google Vertex
- Google Vision
- Google Workspace
- GoToWebinar
- Greenhouse
- Hootsuite
- HTTP
- HTTP Webhook
- Hubspot CRM
- HubSpot Marketing
- HyperV - Preview
- Icertis
- iContact
- Insightly CRM
- Intercom
- Jina.ai
- Jira
- Keap
- Klaviyo
- LinkedIn
- Mail
- Mailchimp
- Mailgun
- Mailjet
- MailerLite
- Marketo
- Microsoft 365
- Microsoft Azure
- Microsoft Azure Active Directory
- Microsoft Azure AI Foundry
- Microsoft Azure OpenAI
- Microsoft Dynamics 365 CRM
- Microsoft OneDrive & Sharepoint
- Microsoft Outlook 365
- Microsoft Power Automate – Preview
- Microsoft Sentiment
- Microsoft Teams
- About the Microsoft Teams connector
- Microsoft Teams authentication
- Microsoft Teams events
- Microsoft Translator
- Microsoft Vision
- Miro
- NetIQ eDirectory
- Okta
- OpenAI
- OpenAI V1 Compliant LLM
- Oracle Eloqua
- Oracle NetSuite
- PagerDuty
- PayPal
- PDFMonkey
- Perplexity
- Pinecone
- Pipedrive
- QuickBooksOnline
- Quip
- Salesforce
- Salesforce AgentForce & Flows – Preview
- Salesforce Marketing Cloud
- SAP BAPI
- SAP Cloud for Customer
- SAP Concur
- SAP OData
- SendGrid
- ServiceNow
- Shopify
- Slack
- SmartRecruiters
- Smartsheet
- Snowflake
- Snowflake Cortex
- Stripe
- Sugar Enterprise
- Sugar Professional
- Sugar Sell
- Sugar Serve
- System Center - Preview
- TangoCard
- Todoist
- Trello
- Twilio
- UiPath Apps - Preview
- UiPath Data Fabric – Preview
- UiPath GenAI Activities
- UiPath Orchestrator
- X (formerly Twitter)
- Xero
- watsonx.ai
- WhatsApp Business
- WooCommerce
- Workable
- Workday
- Workday REST
- VMware ESXi vSphere
- YouTube
- Zendesk
- Zoho Campaigns
- Zoho Desk
- Zoho Mail
- Zoom
- ZoomInfo

Integration Service user guide
Microsoft Teams authentication
This document describes how to authenticate Microsoft Teams with UiPath Integration Service using OAuth 2.0. The Microsoft Teams connector supports user-based OAuth authentication, with optional support for custom OAuth applications and bot-enabled scenarios.
Overview
The following table summarizes the supported authentication options and their prerequisites.
| Authentication Scenario | Description | Prerequisites |
|---|---|---|
| UiPath-managed OAuth (Authorization Code) | Uses a UiPath-managed application | Microsoft Teams account, ability to grant consent |
| Bring Your Own OAuth App (BYOA) | Uses a customer-managed Azure AD application | Azure AD app, Client ID, Client Secret, Tenant ID, admin consent |
OAuth 2.0 authentication
Include bot
The Include Bot option determines whether the connection includes Microsoft Teams bot-based access in addition to user-delegated OAuth permissions.
| Setting | Behavior |
|---|---|
| No (Default) | User-delegated OAuth only |
| Yes | Enables Microsoft Teams bot functionality |
- Bot authentication requires a registered Microsoft Teams bot in Azure.
- Bot support is not required for most Microsoft Teams activities.
- Use this option only if your automation explicitly requires bot capabilities.
Bring Your Own OAuth App (BYOA) configuration
If you select Bring Your Own OAuth App, configure your Azure AD application as follows.
Azure application settings
| Setting | Value |
|---|---|
| OAuth flow | Authorization Code |
| Redirect / Callback URL | https://{baseURL}/provisioning_/callback(for example,https://cloud.uipath.com/provisioning_/callback for Automation Cloud). |
| Supported account types | Single-tenant or Multi-tenant |
| API | Microsoft Graph |
Tenant ID
| App Type | Tenant ID |
|---|---|
| Multi-tenant | common |
| Single-tenant | Azure tenant ID |
UiPath supports both single-tenant and multi-tenant applications.
Scopes and permissions
Scopes control what actions UiPath can perform in Microsoft Teams. Scopes are configurable during connection creation.
Mandatory scopes
The following scopes are mandatory and must not be removed. They are required for a successful connection.
| Scope | Purpose |
|---|---|
openid | User authentication and ID token generation |
offline_access | Enables refresh token issuance |
User.Read | Reads signed-in user profile |
Removing any mandatory scope will result in connection or runtime authentication failures.
All scopes
The following scopes enable common Microsoft Teams automation scenarios.
| Scope | Use case | Activity or event |
|---|---|---|
openid | By using this permission, an app can receive a unique identifier for the user in the form of the sub claim. The permission also gives the app access to the UserInfo endpoint. The openid scope can be used at the Microsoft identity platform token endpoint to acquire ID tokens. The app can use these tokens for authentication | N/A |
offline_access | Required to receive refresh token in the authentication request endpoint. When you redeem an authorization code in the OAuth 2.0 authorization code flow without offline\_access scope, you will not receive refresh token from the /token endpoint. | N/A |
profile | Retrieving the current user profile such as name, username, email etc., so that it could be used as default/authenticated user at the connection creation and in certain activities | N/A |
email | Allows the app to read all your users' primary email addresses, for sending messages or inviting them to a channel | Send Individual Chat Message, Invite Member to Channel, Invite User to Team |
User.Read | Allows users to sign-in to the app, and allows the app to read the profile of signed-in users. It also allows the app to read basic company information of signed-in users | Get Record → Me |
Team.Create | Create a team for inviting and engaging the respective users | Insert Record → Teams |
Team.ReadBasic.All | Retrieve the list of teams to be selected in the activities, such as sending a channel message etc. | Create Channel, List All Channels, Send Chat Message, Send Individual Chat Message, Invite Member to a Channel, Reply to a Channel Message, Send Channel Message, Get Team by Name |
TeamMember.ReadWrite.All | Add member to a team on behalf of the signed-in user Retrieve the list of members of a team | List All Team Members, Invite User to Team, Get Team by Name, Insert Record → Teams members, List All Records → Teams members |
Channel.Create | Create a channel (standard/private) for inviting and engaging the respective users of the team | Create Channel |
Channel.ReadBasic.All | Retrieve the list of channels of a team to be selected in the activities such as sending a channel message etc. | Get Channel by Name, Invite Member to a Channel, List All Channels, List Channel by Name, Reply to Channel Message, Send Channel Message |
ChannelMember.ReadWrite.All | Add member to a channel on behalf of the signed-in user Retrieve the list of members involved in a channel | Invite Member to a Channel, List All Records → Teams channels members |
ChannelMessage.Send | Send a message in a channel. Also, reply to a message in a thread, if needed. | Reply to Channel Message, Send Channel Message |
ChannelMessage.Read.All | Allows the app to read all channel messages in Microsoft Teams, without a signed-in user Also used to trigger events whenever a message is posted in the channel or whenever a keyword is mentioned in the channel | Reply to Channel Message, List all Channel Messages, List All Records → Teams channels messages, When a message posted in channel (Future), When a keyword or username is mentioned in channel (Future) |
Chat.ReadWrite | Allows the app to read and send your 1:1 Allows the app to read and send group chat messages Also used to trigger events whenever a chat message is posted | Send Group Chat Message, Send Individual Chat Message, List All Chat Messages, List All Records → Chats, When a chat message is posted (Future) |
ChatMember.ReadWrite | Add member to a chats on behalf of the signed-in user Retrieve the list of members involved in a chat | Insert Record → Chats members, List All Records → Chats members |
Calendars.ReadWrite | Create an Outlook calendar entry of the online Teams meeting. | Create Online Teams Meeting |
OnlineMeetings.ReadWrite | Create an online meeting in Microsoft Teams and retrieve the meeting ID, passcode and URL on behalf of the current user. | Create Online Teams Meeting |
Files.Read.All | Retrieve the file information that was uploaded to SharePoint in order to share it in a Teams channel or chat | Send Channel Message Send Group Chat Message, Send Individual Chat Message, Reply to Channel Message |
Scopes can be added or removed to follow least-privilege principles.
Refresh tokens for OAuth applications
Refresh tokens for OAuth applications can be invalidated or revoked at any time by Microsoft. This can happen for different reasons, such as timeouts and revocations. For details, see Microsoft's official documentation.
Token invalidation results in failed connections and automations are unable to run without fixing connections.
This issue affects all Microsoft Graph-based connectors.
Make sure to follow best practices from Microsoft when creating your OAuth applications. For full details on how to create a Microsoft OAuth app, check the Microsoft documentation.
Add the Microsoft Teams connection
To create a connection to your Microsoft Teams instance, you need to perform the following steps:
- Select Integration Service from the left rail.
- From the Connectors list, select Microsoft Teams. You can also use the search bar to narrow down the connector.
- Select Connect to Microsoft Teams.
- You are now redirected to the connection page. You can choose between two authentication types: OAuth 2.0 Authorization code or Bring your own OAuth 2.0 app.
- Enter the required credentials.
- Select Connect.
For more information about authenticating in Microsoft Teams, refer to the Microsoft Authentication and authorization page.