Install the Infisical Microsoft Teams App in Microsoft Teams tenant
Currently, Infisical requires you to install a custom Microsoft Teams app into your Microsoft Teams tenant.You can download the Infisical Microsoft Teams app package here:
Important for self-hosted users:If you’re self-hosting Infisical, you can skip the download step. Instead you should use the app package file you downloaded from the Microsoft Teams Developer Portal when you followed the Self-hosted guide.
Once you’ve downloaded the app package, you can install the app in your Microsoft Teams tenant by navigating to the Apps > Upload a custom app page, and selecting the “Upload an app” button.Once the app has been submitted, your Microsoft Teams tenant admin will need to approve the app in the Microsoft Teams Admin Center.
After the app has been approved, it can take a few hours (up to 24 hours in some cases) for Microsoft Teams to reflect the new app. During this period, the Infisical app will not be visible in Microsoft Teams, and won’t be usable.
Once the app has been approved, you will be able to use the Infisical Microsoft Teams integration in your projects.
2
Add the Infisical Microsoft Teams app to your Microsoft Teams teams
Once the app has been approved and installed in your Microsoft Teams tenant, you can add the app to individual teams.Navigate to Apps > Built for your org, select the “Infisical” app, and select the “Add” button to select the teams and channels you wish to add the app to.
This can also be done later through the Microsoft Teams Admin Center, or through the Microsoft Teams client itself by navigating to the individual team’s app settings.
Once the app has been added to the team, you will be able to use the Infisical Microsoft Teams integration in the team.
3
Open Integrations in your organization
After installing the Microsoft Teams app, you are now ready to configure the Microsoft Teams integration within Infisical.Go to Integrations, select the Workflow Integrations tab, then select Add integration.
4
Create a Microsoft Teams workflow integration
In order to use the Infisical Microsoft Teams integration, you will need to grant admin consent to the app. Once the consent is granted, the Microsoft Teams workflow integration will be created in your Infisical organization.Select Add integration, then select Microsoft Teams.Select the Microsoft Teams integration you wish to configure, then select Configure.Here you will be prompted to enter an alias, tenant ID, and an optional description for your workflow integration.
The tenant ID is the ID of the Microsoft 365 / Entra ID tenant that you installed the Infisical Microsoft Teams app in, in the previous steps.Select Create Microsoft Teams Integration, and you’ll be navigated to the Entra ID consent page.
Please note that you must be a privileged administrator user of your Microsoft 365 / Entra ID tenant in order to grant admin consent to the app.
Once you’ve granted admin consent, you’ll be navigated back to Infisical, where you can now select the Microsoft Teams integration you just created.
Configure project to use Microsoft Teams workflow integration
1
Open Workflow Integrations in the project settings
To add a new Microsoft Teams workflow integration, go to the project’s Settings, select Workflow Integrations, then select Add integration.Select Microsoft Teams from the list of available platforms.
2
Configure the Microsoft Teams workflow integration
Your project will send notifications to the connected Microsoft Teams team of the
selected Microsoft Teams integration when the configured events are triggered.Select Save to save your Microsoft Teams workflow integration.
Once you’ve created the project Microsoft Teams workflow integration, you will now receive Access Requests and Secret Approval Requests notifications in Microsoft Teams according to your configuration.
To create a Microsoft Teams bot, you must first create an Azure Bot from the Azure Marketplace, an app registration, and a Microsoft Teams app. The steps below document in detail how to create and configure these resources.
1
Create Microsoft Teams app
Navigate to the Microsoft Teams Developer Portal.Once you’re on the Microsoft Teams Developer Portal, press the “Create a new app” button on the overview page. Give the bot a name and press the “Add” button.
2
Create a Microsoft Teams bot
After creating the Microsoft Teams app, you’ll need to create a Microsoft Teams bot.Navigate to the app’s bot settings page and click “Create a new bot”.After clicking the “Create a new bot” button, you’ll be navigated to the Teams Developer Portal for bot management. Press the “New bot” button, and enter the name of the bot.
Please keep in mind that the name of the bot can only contain alphanumeric characters, dashes, and underscores.
3
Add a message endpoint to the bot
After creating the bot, you’ll need to add a message endpoint to the bot. Navigate to the “Configure” tab, and input the following endpoint under “Endpoint address”:
https://<your-infisical-instance-url>/api/v1/workflow-integrations/microsoft-teams/message-endpoint
Replace <your-infisical-instance-url> with the URL of your Infisical instance.Press the “Save” button to save the changes.
4
Find the bot in Azure App Registrations
When you create a bot through the Teams Developer Portal, an Azure App Registration is also created.Open your Azure Portal and navigate to the “App Registrations” section to find the newly created app registration.
The name of the app registration will be the same as the name of the bot you created in the previous step.Press the app registration to open the app registration overview page.
5
Add API Permissions to the App Registration
Navigate to the “API Permissions” section of the app registration, and add the following permissions:
AppCatalog.Read.All
ChannelSettings.Read.All
MultiTenantOrganization.Read.All
Organization.Read.All
Team.ReadBasic.All
TeamsAppInstallation.Read.All
After adding the API permissions, press the “Grant admin consent” button to grant the permissions.
6
Add a new web application to the App Registration
Navigate to the “Authentication” section of the App Registration, and press the “Add a platform” button. Select the “Web” platform and enter the following redirect URI:
https://<your-infisical-instance-url>/organization/settings/oauth/callback. Replace <your-infisical-instance-url> with the URL of your Infisical instance.
7
Get App Registration Client ID and Client Secret
Next we need to get the application client ID and create a new client secret. Save these values for later, as they’re required to configure the Microsoft Teams integration in Infisical.Get the Application (Client) IDTo get the Application (Client) ID, press the “Copy” button next to the “Application (client) ID” field.Create a new client secretCreate a new client secret within the app registration. Navigate to the “Certificates & Secrets” section of the app registration, and press the “New client secret” button.
Remember to rotate your client secret before it expires. Consider setting up a reminder or automated process to replace the secret and update your Infisical configuration before expiration.
8
Get the Microsoft Teams App ID
Navigate back to the Microsoft Teams Developer Portal, and press the “Apps” tab and select the app you created earlier.
Here you can find the Microsoft Teams App ID in the overview page, which you need to copy and save for later.
9
Link the Microsoft Teams App to the bot
You need to link the Microsoft Teams App with the bot/app registration you created earlier.
Inside the Microsoft Teams Developer Portal, navigate to the “Bot” tab and select the bot you created earlier. Navigate to the “App Features” section, and press the “Bot” button.Under the “What can your bot do?” section, enable Only send notifications (one-way conversations).Under the “Select the scopes where people can use your bot” section, select Personal, Team, and Group Chat.Finally, press the “Save” button to save the changes.
10
Run an app validation test (Recommended)
To ensure that the Microsoft Teams App is working correctly, you can run an app validation test. This step is optional, but recommended to ensure the app is working correctly.You should expect to see two errors related to sending welcome messages, because we haven’t configured the Microsoft Teams App inside Infisical yet, which is required for proactive messages.
You may see manifest validation errors. Before running an app validation test, you must ensure that your app has all errors resolved, such as having a description and a valid name.
If you see two errors for bot welcome messages, you can ignore them. This is expected until you configure the Microsoft Teams App inside Infisical.
11
Download the App Package
Once the Microsoft Teams App is working correctly, you can download the app package by navigating to the “Publish to Store” page, and pressing the “Download app package” button.
After creating the Microsoft Teams App and Bot, you are ready to configure the Microsoft Teams integration in Infisical.
Please note that you must be an instance admin in order to configure the Microsoft Teams instance-wide settings.
1
Open Integrations in the Server Console
Select Server Console, then go to Integrations.Expand Microsoft Teams.Enter the values you saved from the earlier steps into the respective fields.
Application (Client) ID: The Client ID of the App Registration from the previous steps.
Client Secret: The Client Secret of the App Registration from the previous steps.
Microsoft Teams App ID: The App ID of the Microsoft Teams App from the previous steps.
Install the Infisical Microsoft Teams App in Microsoft Teams tenant
Currently, Infisical requires you to install a custom Microsoft Teams app into your Microsoft Teams tenant.You can download the Infisical Microsoft Teams app package here:
Important for self-hosted users:If you’re self-hosting Infisical, you can skip the download step. Instead you should use the app package file you downloaded from the Microsoft Teams Developer Portal when you followed the Self-hosted guide.
Once you’ve downloaded the app package, you can install the app in your Microsoft Teams tenant by navigating to the Apps > Upload a custom app page, and selecting the “Upload an app” button.Once the app has been submitted, your Microsoft Teams tenant admin will need to approve the app in the Microsoft Teams Admin Center.
After the app has been approved, it can take a few hours (up to 24 hours in some cases) for Microsoft Teams to reflect the new app. During this period, the Infisical app will not be visible in Microsoft Teams, and won’t be usable.
Once the app has been approved, you will be able to use the Infisical Microsoft Teams integration in your projects.
2
Add the Infisical Microsoft Teams app to your Microsoft Teams teams
Once the app has been approved and installed in your Microsoft Teams tenant, you can add the app to individual teams.Navigate to Apps > Built for your org, select the “Infisical” app, and select the “Add” button to select the teams and channels you wish to add the app to.
This can also be done later through the Microsoft Teams Admin Center, or through the Microsoft Teams client itself by navigating to the individual team’s app settings.
Once the app has been added to the team, you will be able to use the Infisical Microsoft Teams integration in the team.
3
Open Integrations in your organization
After installing the Microsoft Teams app, you are now ready to configure the Microsoft Teams integration within Infisical.Go to Integrations, select the Workflow Integrations tab, then select Add integration.
4
Create a Microsoft Teams workflow integration
In order to use the Infisical Microsoft Teams integration, you will need to grant admin consent to the app. Once the consent is granted, the Microsoft Teams workflow integration will be created in your Infisical organization.Select Add integration, then select Microsoft Teams.Select the Microsoft Teams integration you wish to configure, then select Configure.Here you will be prompted to enter an alias, tenant ID, and an optional description for your workflow integration.
The tenant ID is the ID of the Microsoft 365 / Entra ID tenant that you installed the Infisical Microsoft Teams app in, in the previous steps.Select Create Microsoft Teams Integration, and you’ll be navigated to the Entra ID consent page.
Please note that you must be a privileged administrator user of your Microsoft 365 / Entra ID tenant in order to grant admin consent to the app.
Once you’ve granted admin consent, you’ll be navigated back to Infisical, where you can now select the Microsoft Teams integration you just created.
Configure project to use Microsoft Teams workflow integration
1
Open Workflow Integrations in the project settings
To add a new Microsoft Teams workflow integration, go to the project’s Settings, select Workflow Integrations, then select Add integration.Select Microsoft Teams from the list of available platforms.
2
Configure the Microsoft Teams workflow integration
Your project will send notifications to the connected Microsoft Teams team of the
selected Microsoft Teams integration when the configured events are triggered.Select Save to save your Microsoft Teams workflow integration.
Once you’ve created the project Microsoft Teams workflow integration, you will now receive Access Requests and Secret Approval Requests notifications in Microsoft Teams according to your configuration.
Notifications are not being sent to Microsoft Teams even though the integration is configured
If you recently added the Microsoft Teams app to your tenant, it may take up to 24 hours for Microsoft Teams to propagate the changes.
A common indication of propagation issues is that the workflow integration is shown as “Installed”, and you’re able to view the teams and channels when configuring the workflow integration on your project, but no notification is being sent.
Workflow Integration is stuck on 'Pending' status
The workflow integration can get stuck on Pending if you created the workflow integration before the Infisical Microsoft Teams bot was installed in the tenant.
To resolve this, make sure you have installed the Infisical Microsoft Teams app in your tenant.You can manually recheck the installation status by selecting Check Installation Status on the workflow integration in your organization.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Infisical","colors":{"primary":"#26272b","light":"#dbf530","dark":"#A1B659"},"logo":{"light":"https://mintlify.s3.us-west-1.amazonaws.com/infisical/logo/light.svg","dark":"https://mintlify.s3.us-west-1.amazonaws.com/infisical/logo/dark.svg","href":"/"},"favicon":"https://mintlify.s3.us-west-1.amazonaws.com/infisical/favicon.ico","api":{"openapi":"https://app.infisical.com/api/docs/json","mdx":{"server":["https://app.infisical.com"]}},"appearance":{"default":"light"},"background":{"color":{"light":"#ffffff","dark":"#08090b"}},"navbar":{"links":[{"href":"https://app.infisical.com/login","label":"Log In"}],"primary":{"type":"button","label":"Start for Free","href":"https://app.infisical.com/signup"}},"footer":{"socials":{"x":"https://www.twitter.com/infisical","linkedin":"https://www.linkedin.com/company/infisical","github":"https://github.com/Infisical/infisical-cli","website":"https://community.infisical.com"},"links":[{"header":"PRODUCT","items":[{"label":"Secrets Management","href":"https://infisical.com/platform/secrets-management"},{"label":"Certificate Management","href":"https://infisical.com/platform/certificate-management"},{"label":"Privileged Access Management (PAM)","href":"https://infisical.com/platform/pam"},{"label":"Agent Vault","href":"https://infisical.com/platform/agent-vault"},{"label":"Key Management Service (KMS)","href":"https://infisical.com/docs/documentation/platform/kms/overview"},{"label":"Secret Scanning","href":"https://infisical.com/radar"},{"label":"Share Secrets","href":"https://app.infisical.com/share-secret"},{"label":"Pricing","href":"https://infisical.com/pricing"},{"label":"Security","href":"https://infisical.com/docs/internals/security"},{"label":"Blog","href":"https://infisical.com/blog"},{"label":"Infisical vs Vault","href":"https://infisical.com/infisical-vs-hashicorp-vault"},{"label":"Community","href":"https://community.infisical.com/"}]},{"header":"USE CASES","items":[{"label":"Infisical Agent","href":"https://infisical.com/docs/documentation/getting-started/introduction"},{"label":"Infisical Proxy","href":"https://infisical.com/docs/integrations/platforms/infisical-proxy"},{"label":"Kubernetes","href":"https://infisical.com/docs/integrations/platforms/kubernetes"},{"label":"Dynamic Secrets","href":"https://infisical.com/docs/documentation/platform/dynamic-secrets/overview"},{"label":"Terraform","href":"https://registry.terraform.io/providers/Infisical/infisical/latest/docs"},{"label":"Ansible","href":"https://infisical.com/docs/integrations/platforms/ansible"},{"label":"Jenkins","href":"https://infisical.com/docs/integrations/cicd/jenkins"},{"label":"Docker","href":"https://infisical.com/docs/integrations/platforms/docker"},{"label":"AWS ECS","href":"https://infisical.com/docs/integrations/platforms/ecs-with-agent"},{"label":"GitLab","href":"https://infisical.com/docs/integrations/cicd/gitlab"},{"label":"GitHub","href":"https://infisical.com/docs/integrations/cicd/githubactions"},{"label":"SDK","href":"https://infisical.com/docs/sdks/overview"}]},{"header":"DEVELOPERS","items":[{"label":"Changelog","href":"https://github.com/Infisical/infisical/releases"},{"label":"Status","href":"https://status.infisical.com/"},{"label":"Feedback \u0026 Requests","href":"https://github.com/Infisical/infisical/issues"},{"label":"Trust of Center","href":"https://app.vanta.com/infisical.com/trust/hoop8cr78cuarxo9sztvs"},{"label":"Open Source Friends","href":"https://infisical.com/infisical-friends"},{"label":"How to contribute","href":"https://www.infisical.com/infisical-heroes"}]},{"header":"OTHERS","items":[{"label":"Customers","href":"https://infisical.com/customers/traba"},{"label":"Company Handbook","href":"https://infisical.com/wiki/handbook/overview"},{"label":"Careers","href":"https://infisical.com/careers"},{"label":"Terms of Service","href":"https://infisical.com/terms"},{"label":"Privacy Policy","href":"https://infisical.com/privacy"},{"label":"Subprocessors","href":"https://infisical.com/subprocessors"},{"label":"SLA","href":"https://infisical.com/sla"},{"label":"Support Email","href":"mailto:[email protected]"},{"label":"Sales","href":"mailto:[email protected]"},{"label":"Support","href":"https://community.infisical.com"}]}]},"fonts":{"heading":{"family":"Alliance","weight":400,"source":"https://infisical.com/docs/fonts/AllianceNo2-Regular.woff2","format":"woff2"}},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","codeblocks":"dark","latex":false},"integrations":{"posthog":{"apiKey":"phc_Q0xfB3LeOqo7ySk4DE6zLNwDzHFesKcmigknCy4fTdV","apiHost":"https://p.infisical.com"},"koala":{"publicApiKey":"pk_b50d7184e0e39ddd5cdb43cf6abeadd9b97d"},"gtm":{"tagId":"GTM-WL5C7MWT"}},"contextual":{"options":["assistant","copy","view","chatgpt","claude","mcp"],"display":"header"},"thumbnails":{"appearance":"light"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"infisical","hasAudioNarration":false,"actualSubdomain":"infisical","customDomains":["infisical.com"],"gitSource":{"type":"github","owner":"infisical","repo":"infisical","deployBranch":"main","contentDirectory":"docs","mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae9ed592d9111c67b1835fa","collectionId":"530220f0-2f25-4b70-9769-1536e8bc10d2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae9ed592d9111c67b1835fa"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aea074175120cb36f297bc1","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"Reference","count":1868},{"language":"default","tag":"API","count":1825},{"language":"default","tag":"Secrets Management","count":904},{"language":"default","tag":"App connections","count":655},{"language":"default","tag":"Shared","count":565},{"language":"default","tag":"Secret syncs","count":420},{"language":"default","tag":"Products","count":369},{"language":"default","tag":"Certificate Management","count":320},{"language":"default","tag":"Platform","count":248},{"language":"default","tag":"Secret rotations","count":213}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":false},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"selectively-prewarm","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instinct-self-updating-docs","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","href":"/docs/_mintlify/custom/infisical/c99f312c2d951499/style.css"}],"page":{"pagePath":"documentation/platform/workflow-integrations/microsoft-teams-integration","slug":"/documentation/platform/workflow-integrations/microsoft-teams-integration","pageMetadata":{"title":"Microsoft Teams integration","description":"Learn how to setup the Microsoft Teams integration","href":"/documentation/platform/workflow-integrations/microsoft-teams-integration"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn how to setup the Microsoft Teams integration\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,Heading,Info,Note,OptimizedImage,Step,Steps,Tab,Tabs,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`This guide will provide step by step instructions on how to configure Microsoft Teams integration for your Infisical projects.`}),`\n`,_jsx(Heading,{level:`2`,id:`setting-up-microsoft-teams-integration-in-your-projects`,children:`Setting up Microsoft Teams integration in your projects`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Infisical Cloud`,id:`infisical-cloud`,\"data-child-heading-ids\":`[\"create-microsoft-teams-workflow-integration\",\"configure-project-to-use-microsoft-teams-workflow-integration\"]`,children:[_jsx(Heading,{level:`3`,id:`create-microsoft-teams-workflow-integration`,children:`Create Microsoft Teams workflow integration`}),_jsxs(Steps,{children:[_jsxs(Step,{title:`Install the Infisical Microsoft Teams App in Microsoft Teams tenant`,children:[_jsx(_components.p,{children:`Currently, Infisical requires you to install a custom Microsoft Teams app into your Microsoft Teams tenant.`}),_jsx(_components.p,{children:`You can download the Infisical Microsoft Teams app package here:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://infisical-microsoft-teams-app.s3.us-east-1.amazonaws.com/Infisical.zip`,children:`Infisical Microsoft Teams app package`})}),`\n`]}),_jsxs(Note,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Important for self-hosted users:`})}),_jsx(_components.p,{children:`If you’re self-hosting Infisical, you can skip the download step. Instead you should use the app package file you downloaded from the Microsoft Teams Developer Portal when you followed the Self-hosted guide.`})]}),_jsxs(_components.p,{children:[`Once you’ve downloaded the app package, you can install the app in your Microsoft Teams tenant by navigating to the `,_jsx(_components.strong,{children:`Apps`}),` > `,_jsx(_components.strong,{children:`Upload a custom app`}),` page, and selecting the “Upload an app” button.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/microsoft-teams-install-app.png`,alt:`microsoft-teams-install-app`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/microsoft-teams-submit-app.png`,alt:`microsoft-teams-submit-app`}),_jsxs(_components.p,{children:[`Once the app has been submitted, your Microsoft Teams tenant admin will need to approve the app in the `,_jsx(_components.a,{href:`https://admin.teams.microsoft.com/policies/manage-apps`,children:`Microsoft Teams Admin Center`}),`.`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`After the app has been approved, it can take a few hours `,_jsx(_components.em,{children:`(up to 24 hours in some cases)`}),` for Microsoft Teams to reflect the new app. During this period, the Infisical app will not be visible in Microsoft Teams, and won’t be usable.`]})}),_jsx(_components.p,{children:`Once the app has been approved, you will be able to use the Infisical Microsoft Teams integration in your projects.`})]}),_jsxs(Step,{title:`Add the Infisical Microsoft Teams app to your Microsoft Teams teams`,children:[_jsx(_components.p,{children:`Once the app has been approved and installed in your Microsoft Teams tenant, you can add the app to individual teams.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/microsoft-teams-add-app.png`,alt:`microsoft-teams-add-app`}),_jsxs(_components.p,{children:[`Navigate to `,_jsx(_components.strong,{children:`Apps`}),` > `,_jsx(_components.strong,{children:`Built for your org`}),`, select the “Infisical” app, and select the “Add” button to select the teams and channels you wish to add the app to.`]}),_jsx(Info,{children:_jsxs(_components.p,{children:[`This can also be done later through the `,_jsx(_components.a,{href:`https://admin.teams.microsoft.com/policies/manage-apps`,children:`Microsoft Teams Admin Center`}),`, or through the Microsoft Teams client itself by navigating to the individual team’s app settings.`]})}),_jsx(_components.p,{children:`Once the app has been added to the team, you will be able to use the Infisical Microsoft Teams integration in the team.`})]}),_jsxs(Step,{title:`Open Integrations in your organization`,children:[_jsx(_components.p,{children:`After installing the Microsoft Teams app, you are now ready to configure the Microsoft Teams integration within Infisical.`}),_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Integrations`}),`, select the `,_jsx(_components.strong,{children:`Workflow Integrations`}),` tab, then select `,_jsx(_components.strong,{children:`Add integration`}),`.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/infisical-org-overview.png`,alt:`org-integrations-overview`})]}),_jsxs(Step,{title:`Create a Microsoft Teams workflow integration`,children:[_jsx(_components.p,{children:`In order to use the Infisical Microsoft Teams integration, you will need to grant admin consent to the app. Once the consent is granted, the Microsoft Teams workflow integration will be created in your Infisical organization.`}),_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Add integration`}),`, then select `,_jsx(_components.strong,{children:`Microsoft Teams`}),`.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/infisical-org-add-microsoft-teams-integration.png`,alt:`add-microsoft-teams-integration`}),_jsxs(_components.p,{children:[`Select the Microsoft Teams integration you wish to configure, then select `,_jsx(_components.strong,{children:`Configure`}),`.`]}),_jsx(_components.p,{children:`Here you will be prompted to enter an alias, tenant ID, and an optional description for your workflow integration.\nThe tenant ID is the ID of the Microsoft 365 / Entra ID tenant that you installed the Infisical Microsoft Teams app in, in the previous steps.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/infisical-org-microsoft-teams-integration-modal.png`,alt:`configure-microsoft-teams-integration`}),_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Create Microsoft Teams Integration`}),`, and you’ll be navigated to the Entra ID consent page.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/microsoft-consent-page.png`,alt:`microsoft-consent-page`}),_jsx(Note,{children:_jsx(_components.p,{children:`Please note that you must be a privileged administrator user of your Microsoft 365 / Entra ID tenant in order to grant admin consent to the app.`})}),_jsx(_components.p,{children:`Once you’ve granted admin consent, you’ll be navigated back to Infisical, where you can now select the Microsoft Teams integration you just created.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/microsoft-teams-workflow-integration-created.png`,alt:`microsoft-teams-workflow-integration-created`})]})]}),_jsx(Heading,{level:`3`,id:`configure-project-to-use-microsoft-teams-workflow-integration`,children:`Configure project to use Microsoft Teams workflow integration`}),_jsxs(Steps,{children:[_jsxs(Step,{title:`Open Workflow Integrations in the project settings`,children:[_jsxs(_components.p,{children:[`To add a new Microsoft Teams workflow integration, go to the project’s `,_jsx(_components.strong,{children:`Settings`}),`, select `,_jsx(_components.strong,{children:`Workflow Integrations`}),`, then select `,_jsx(_components.strong,{children:`Add integration`}),`.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/infisical-project-settings.png`,alt:`project-settings-workflow-integrations`}),_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Microsoft Teams`}),` from the list of available platforms.`]})]}),_jsxs(Step,{title:`Configure the Microsoft Teams workflow integration`,children:[_jsx(_components.p,{children:`Your project will send notifications to the connected Microsoft Teams team of the\nselected Microsoft Teams integration when the configured events are triggered.`}),_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Save`}),` to save your Microsoft Teams workflow integration.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/infisical-project-microsoft-teams-integration-save.png`,alt:`infisical-project-microsoft-teams-integration-save`})]})]}),_jsx(_components.p,{children:`Once you’ve created the project Microsoft Teams workflow integration, you will now receive Access Requests and Secret Approval Requests notifications in Microsoft Teams according to your configuration.`})]}),_jsxs(Tab,{title:`Self-hosted setup`,id:`self-hosted-setup`,\"data-child-heading-ids\":`[\"configure-azure-resources\",\"configure-microsoft-teams-bot-in-infisical\",\"create-microsoft-teams-workflow-integration-2\",\"configure-project-to-use-microsoft-teams-workflow-integration-2\"]`,children:[_jsx(Heading,{level:`3`,id:`configure-azure-resources`,children:`Configure Azure resources`}),_jsx(_components.p,{children:`To create a Microsoft Teams bot, you must first create an Azure Bot from the Azure Marketplace, an app registration, and a Microsoft Teams app. The steps below document in detail how to create and configure these resources.`}),_jsxs(Steps,{children:[_jsxs(Step,{title:`Create Microsoft Teams app`,children:[_jsxs(_components.p,{children:[`Navigate to the `,_jsx(_components.a,{href:`https://dev.teams.microsoft.com/`,children:`Microsoft Teams Developer Portal`}),`.`]}),_jsx(_components.p,{children:`Once you’re on the Microsoft Teams Developer Portal, press the “Create a new app” button on the overview page. Give the bot a name and press the “Add” button.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/teams-dev-portal-create-app.png`,alt:`microsoft-dev-portal`})]}),_jsxs(Step,{title:`Create a Microsoft Teams bot`,children:[_jsx(_components.p,{children:`After creating the Microsoft Teams app, you’ll need to create a Microsoft Teams bot.`}),_jsx(_components.p,{children:`Navigate to the app’s bot settings page and click “Create a new bot”.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/teams-dev-portal-bot-app-feature.png`,alt:`microsoft-dev-portal-create-bot`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/teams-dev-portal-create-a-new-bot.png`,alt:`microsoft-dev-portal-create-bot-2`}),_jsx(_components.p,{children:`After clicking the “Create a new bot” button, you’ll be navigated to the Teams Developer Portal for bot management. Press the “New bot” button, and enter the name of the bot.\nPlease keep in mind that the name of the bot can only contain alphanumeric characters, dashes, and underscores.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/teams-dev-portal-create-bot.png`,alt:`microsoft-dev-portal-create-bot-3`})]}),_jsxs(Step,{title:`Add a message endpoint to the bot`,children:[_jsxs(_components.p,{children:[`After creating the bot, you’ll need to add a message endpoint to the bot. Navigate to the “Configure” tab, and input the following endpoint under “Endpoint address”:\n`,_jsx(_components.code,{children:`https://\u003cyour-infisical-instance-url>/api/v1/workflow-integrations/microsoft-teams/message-endpoint`}),`\nReplace `,_jsx(_components.code,{children:`\u003cyour-infisical-instance-url>`}),` with the URL of your Infisical instance.`]}),_jsx(_components.p,{children:`Press the “Save” button to save the changes.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/teams-dev-portal-add-bot-endpoint.png`,alt:`microsoft-dev-portal-create-bot-4`})]}),_jsxs(Step,{title:`Find the bot in Azure App Registrations`,children:[_jsx(_components.p,{children:`When you create a bot through the Teams Developer Portal, an Azure App Registration is also created.`}),_jsxs(_components.p,{children:[`Open your `,_jsx(_components.a,{href:`https://portal.azure.com/`,children:`Azure Portal`}),` and navigate to the “App Registrations” section to find the newly created app registration.\nThe name of the app registration will be the same as the name of the bot you created in the previous step.`]}),_jsx(_components.p,{children:`Press the app registration to open the app registration overview page.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/azure-app-registrations-bot.png`,alt:`azure-app-registrations`})]}),_jsxs(Step,{title:`Add API Permissions to the App Registration`,children:[_jsx(_components.p,{children:`Navigate to the “API Permissions” section of the app registration, and add the following permissions:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`AppCatalog.Read.All`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`ChannelSettings.Read.All`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`MultiTenantOrganization.Read.All`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Organization.Read.All`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Team.ReadBasic.All`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`TeamsAppInstallation.Read.All`})}),`\n`]}),_jsx(_components.p,{children:`After adding the API permissions, press the “Grant admin consent” button to grant the permissions.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/azure-app-registration-api-permissions.png`,alt:`azure-app-registration-api-permissions`})]}),_jsxs(Step,{title:`Add a new web application to the App Registration`,children:[_jsxs(_components.p,{children:[`Navigate to the “Authentication” section of the App Registration, and press the “Add a platform” button. Select the “Web” platform and enter the following redirect URI:\n`,_jsx(_components.code,{children:`https://\u003cyour-infisical-instance-url>/organization/settings/oauth/callback`}),`. Replace `,_jsx(_components.code,{children:`\u003cyour-infisical-instance-url>`}),` with the URL of your Infisical instance.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/azure-app-registration-register-callback.png`,alt:`azure-app-registration-register-callback`})]}),_jsxs(Step,{title:`Get App Registration Client ID and Client Secret`,children:[_jsxs(_components.p,{children:[`Next we need to get the application client ID and create a new client secret. `,_jsx(_components.strong,{children:`Save these values for later, as they’re required to configure the Microsoft Teams integration in Infisical.`})]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Get the Application (Client) ID`})}),_jsx(_components.p,{children:`To get the Application (Client) ID, press the “Copy” button next to the “Application (client) ID” field.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/azure-app-registration-copy-client-id.png`,alt:`copy-client-id`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Create a new client secret`})}),_jsx(_components.p,{children:`Create a new client secret within the app registration. Navigate to the “Certificates \u0026 Secrets” section of the app registration, and press the “New client secret” button.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/azure-app-registration-create-client-secret.png`,alt:`create-client-secret`}),_jsx(Warning,{children:_jsx(_components.p,{children:`Remember to rotate your client secret before it expires. Consider setting up a reminder or automated process to replace the secret and update your Infisical configuration before expiration.`})})]}),_jsxs(Step,{title:`Get the Microsoft Teams App ID`,children:[_jsxs(_components.p,{children:[`Navigate back to the `,_jsx(_components.a,{href:`https://dev.teams.microsoft.com/`,children:`Microsoft Teams Developer Portal`}),`, and press the “Apps” tab and select the app you created earlier.\nHere you can find the Microsoft Teams App ID in the overview page, which you need to copy and save for later.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/teams-dev-portal-copy-app-id.png`,alt:`microsoft-teams-app-id`})]}),_jsxs(Step,{title:`Link the Microsoft Teams App to the bot`,children:[_jsxs(_components.p,{children:[`You need to link the Microsoft Teams App with the bot/app registration you created earlier.\nInside the `,_jsx(_components.a,{href:`https://dev.teams.microsoft.com/`,children:`Microsoft Teams Developer Portal`}),`, navigate to the “Bot” tab and select the bot you created earlier. Navigate to the “App Features” section, and press the “Bot” button.`]}),_jsxs(_components.p,{children:[`Under the “What can your bot do?” section, enable `,_jsx(_components.code,{children:`Only send notifications (one-way conversations)`}),`.`]}),_jsxs(_components.p,{children:[`Under the “Select the scopes where people can use your bot” section, select `,_jsx(_components.code,{children:`Personal`}),`, `,_jsx(_components.code,{children:`Team`}),`, and `,_jsx(_components.code,{children:`Group Chat`}),`.`]}),_jsx(_components.p,{children:`Finally, press the “Save” button to save the changes.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/teams-dev-portal-bot-app-feature.png`,alt:`microsoft-teams-app-features`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/teams-dev-portal-configure-bot.png`,alt:`microsoft-teams-configure-bot`})]}),_jsxs(Step,{title:`Run an app validation test (Recommended)`,children:[_jsx(_components.p,{children:`To ensure that the Microsoft Teams App is working correctly, you can run an app validation test. This step is optional, but recommended to ensure the app is working correctly.`}),_jsx(_components.p,{children:`You should expect to see two errors related to sending welcome messages, because we haven’t configured the Microsoft Teams App inside Infisical yet, which is required for proactive messages.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/teams-dev-portal-app-validation.png`,alt:`microsoft-teams-app-validation-test`}),_jsx(Note,{children:_jsx(_components.p,{children:`You may see manifest validation errors. Before running an app validation test, you must ensure that your app has all errors resolved, such as having a description and a valid name.`})}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/teams-dev-portal-app-validation-result.png`,alt:`microsoft-teams-app-validation-test-results`}),_jsx(Note,{children:_jsx(_components.p,{children:`If you see two errors for bot welcome messages, you can ignore them. This is expected until you configure the Microsoft Teams App inside Infisical.`})})]}),_jsxs(Step,{title:`Download the App Package`,children:[_jsx(_components.p,{children:`Once the Microsoft Teams App is working correctly, you can download the app package by navigating to the “Publish to Store” page, and pressing the “Download app package” button.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/teams-dev-portal-download-app-package.png`,alt:`microsoft-teams-download-app-package`})]})]}),_jsx(Heading,{level:`3`,id:`configure-microsoft-teams-bot-in-infisical`,children:`Configure Microsoft Teams bot in Infisical`}),_jsx(_components.p,{children:`After creating the Microsoft Teams App and Bot, you are ready to configure the Microsoft Teams integration in Infisical.\nPlease note that you must be an instance admin in order to configure the Microsoft Teams instance-wide settings.`}),_jsx(Steps,{children:_jsxs(Step,{title:`Open Integrations in the Server Console`,children:[_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Server Console`}),`, then go to `,_jsx(_components.strong,{children:`Integrations`}),`.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/infisical-server-admin-console-tab.png`,alt:`server-admin-console-tab`}),_jsxs(_components.p,{children:[`Expand `,_jsx(_components.strong,{children:`Microsoft Teams`}),`.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/infisical-instance-configure-microsoft-teams.png`,alt:`infisical-instance-configure-microsoft-teams`}),_jsx(_components.p,{children:`Enter the values you saved from the earlier steps into the respective fields.`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Application (Client) ID`}),`: The Client ID of the App Registration from the previous steps.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Client Secret`}),`: The Client Secret of the App Registration from the previous steps.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Microsoft Teams App ID`}),`: The App ID of the Microsoft Teams App from the previous steps.`]}),`\n`]}),_jsxs(_components.p,{children:[`Once completed, select `,_jsx(_components.strong,{children:`Save`}),`.`]})]})}),_jsx(Heading,{level:`3`,id:`create-microsoft-teams-workflow-integration-2`,children:`Create Microsoft Teams workflow integration`}),_jsxs(Steps,{children:[_jsxs(Step,{title:`Install the Infisical Microsoft Teams App in Microsoft Teams tenant`,children:[_jsx(_components.p,{children:`Currently, Infisical requires you to install a custom Microsoft Teams app into your Microsoft Teams tenant.`}),_jsx(_components.p,{children:`You can download the Infisical Microsoft Teams app package here:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://infisical-microsoft-teams-app.s3.us-east-1.amazonaws.com/Infisical.zip`,children:`Infisical Microsoft Teams app package`})}),`\n`]}),_jsxs(Note,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Important for self-hosted users:`})}),_jsx(_components.p,{children:`If you’re self-hosting Infisical, you can skip the download step. Instead you should use the app package file you downloaded from the Microsoft Teams Developer Portal when you followed the Self-hosted guide.`})]}),_jsxs(_components.p,{children:[`Once you’ve downloaded the app package, you can install the app in your Microsoft Teams tenant by navigating to the `,_jsx(_components.strong,{children:`Apps`}),` > `,_jsx(_components.strong,{children:`Upload a custom app`}),` page, and selecting the “Upload an app” button.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/microsoft-teams-install-app.png`,alt:`microsoft-teams-install-app`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/microsoft-teams-submit-app.png`,alt:`microsoft-teams-submit-app`}),_jsxs(_components.p,{children:[`Once the app has been submitted, your Microsoft Teams tenant admin will need to approve the app in the `,_jsx(_components.a,{href:`https://admin.teams.microsoft.com/policies/manage-apps`,children:`Microsoft Teams Admin Center`}),`.`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`After the app has been approved, it can take a few hours `,_jsx(_components.em,{children:`(up to 24 hours in some cases)`}),` for Microsoft Teams to reflect the new app. During this period, the Infisical app will not be visible in Microsoft Teams, and won’t be usable.`]})}),_jsx(_components.p,{children:`Once the app has been approved, you will be able to use the Infisical Microsoft Teams integration in your projects.`})]}),_jsxs(Step,{title:`Add the Infisical Microsoft Teams app to your Microsoft Teams teams`,children:[_jsx(_components.p,{children:`Once the app has been approved and installed in your Microsoft Teams tenant, you can add the app to individual teams.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/microsoft-teams-add-app.png`,alt:`microsoft-teams-add-app`}),_jsxs(_components.p,{children:[`Navigate to `,_jsx(_components.strong,{children:`Apps`}),` > `,_jsx(_components.strong,{children:`Built for your org`}),`, select the “Infisical” app, and select the “Add” button to select the teams and channels you wish to add the app to.`]}),_jsx(Info,{children:_jsxs(_components.p,{children:[`This can also be done later through the `,_jsx(_components.a,{href:`https://admin.teams.microsoft.com/policies/manage-apps`,children:`Microsoft Teams Admin Center`}),`, or through the Microsoft Teams client itself by navigating to the individual team’s app settings.`]})}),_jsx(_components.p,{children:`Once the app has been added to the team, you will be able to use the Infisical Microsoft Teams integration in the team.`})]}),_jsxs(Step,{title:`Open Integrations in your organization`,children:[_jsx(_components.p,{children:`After installing the Microsoft Teams app, you are now ready to configure the Microsoft Teams integration within Infisical.`}),_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Integrations`}),`, select the `,_jsx(_components.strong,{children:`Workflow Integrations`}),` tab, then select `,_jsx(_components.strong,{children:`Add integration`}),`.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/infisical-org-overview.png`,alt:`org-integrations-overview`})]}),_jsxs(Step,{title:`Create a Microsoft Teams workflow integration`,children:[_jsx(_components.p,{children:`In order to use the Infisical Microsoft Teams integration, you will need to grant admin consent to the app. Once the consent is granted, the Microsoft Teams workflow integration will be created in your Infisical organization.`}),_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Add integration`}),`, then select `,_jsx(_components.strong,{children:`Microsoft Teams`}),`.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/infisical-org-add-microsoft-teams-integration.png`,alt:`add-microsoft-teams-integration`}),_jsxs(_components.p,{children:[`Select the Microsoft Teams integration you wish to configure, then select `,_jsx(_components.strong,{children:`Configure`}),`.`]}),_jsx(_components.p,{children:`Here you will be prompted to enter an alias, tenant ID, and an optional description for your workflow integration.\nThe tenant ID is the ID of the Microsoft 365 / Entra ID tenant that you installed the Infisical Microsoft Teams app in, in the previous steps.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/infisical-org-microsoft-teams-integration-modal.png`,alt:`configure-microsoft-teams-integration`}),_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Create Microsoft Teams Integration`}),`, and you’ll be navigated to the Entra ID consent page.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/microsoft-consent-page.png`,alt:`microsoft-consent-page`}),_jsx(Note,{children:_jsx(_components.p,{children:`Please note that you must be a privileged administrator user of your Microsoft 365 / Entra ID tenant in order to grant admin consent to the app.`})}),_jsx(_components.p,{children:`Once you’ve granted admin consent, you’ll be navigated back to Infisical, where you can now select the Microsoft Teams integration you just created.`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/microsoft-teams-workflow-integration-created.png`,alt:`microsoft-teams-workflow-integration-created`})]})]}),_jsx(Heading,{level:`3`,id:`configure-project-to-use-microsoft-teams-workflow-integration-2`,children:`Configure project to use Microsoft Teams workflow integration`}),_jsxs(Steps,{children:[_jsxs(Step,{title:`Open Workflow Integrations in the project settings`,children:[_jsxs(_components.p,{children:[`To add a new Microsoft Teams workflow integration, go to the project’s `,_jsx(_components.strong,{children:`Settings`}),`, select `,_jsx(_components.strong,{children:`Workflow Integrations`}),`, then select `,_jsx(_components.strong,{children:`Add integration`}),`.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/infisical-project-settings.png`,alt:`project-settings-workflow-integrations`}),_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Microsoft Teams`}),` from the list of available platforms.`]})]}),_jsxs(Step,{title:`Configure the Microsoft Teams workflow integration`,children:[_jsx(_components.p,{children:`Your project will send notifications to the connected Microsoft Teams team of the\nselected Microsoft Teams integration when the configured events are triggered.`}),_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Save`}),` to save your Microsoft Teams workflow integration.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/infisical-project-microsoft-teams-integration-save.png`,alt:`infisical-project-microsoft-teams-integration-save`})]})]}),_jsx(_components.p,{children:`Once you’ve created the project Microsoft Teams workflow integration, you will now receive Access Requests and Secret Approval Requests notifications in Microsoft Teams according to your configuration.`})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsx(Accordion,{title:`Notifications are not being sent to Microsoft Teams even though the integration is configured`,id:`notifications-are-not-being-sent-to-microsoft-teams-even-though-the-integration-is-configured`,children:_jsxs(_components.p,{children:[`If you recently added the Microsoft Teams app to your tenant, `,_jsx(_components.strong,{children:`it may take up to 24 hours for Microsoft Teams to propagate the changes.`}),`\nA common indication of propagation issues is that the workflow integration is shown as “Installed”, and you’re able to view the teams and channels when configuring the workflow integration on your project, but no notification is being sent.`]})}),`\n`,_jsxs(Accordion,{title:`Workflow Integration is stuck on 'Pending' status`,id:`workflow-integration-is-stuck-on-pending-status`,children:[_jsx(_components.p,{children:`The workflow integration can get stuck on Pending if you created the workflow integration before the Infisical Microsoft Teams bot was installed in the tenant.\nTo resolve this, make sure you have installed the Infisical Microsoft Teams app in your tenant.`}),_jsxs(_components.p,{children:[`You can manually recheck the installation status by selecting `,_jsx(_components.strong,{children:`Check Installation Status`}),` on the workflow integration in your organization.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/platform/workflow-integrations/microsoft-teams-integration/microsoft-teams-check-installation-status.png`,alt:`microsoft-teams-check-installation-status`})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Microsoft Teams integration","description":"Learn how to setup the Microsoft Teams integration","href":"/documentation/platform/workflow-integrations/microsoft-teams-integration"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Setting up Microsoft Teams integration in your projects","slug":"setting-up-microsoft-teams-integration-in-your-projects","depth":2,"children":[{"title":"Create Microsoft Teams workflow integration","slug":"create-microsoft-teams-workflow-integration","depth":3,"children":[],"tabId":"infisical-cloud"},{"title":"Configure project to use Microsoft Teams workflow integration","slug":"configure-project-to-use-microsoft-teams-workflow-integration","depth":3,"children":[],"tabId":"infisical-cloud"},{"title":"Configure Azure resources","slug":"configure-azure-resources","depth":3,"children":[],"tabId":"self-hosted-setup"},{"title":"Configure Microsoft Teams bot in Infisical","slug":"configure-microsoft-teams-bot-in-infisical","depth":3,"children":[],"tabId":"self-hosted-setup"},{"title":"Create Microsoft Teams workflow integration","slug":"create-microsoft-teams-workflow-integration-2","depth":3,"children":[],"tabId":"self-hosted-setup"},{"title":"Configure project to use Microsoft Teams workflow integration","slug":"configure-project-to-use-microsoft-teams-workflow-integration-2","depth":3,"children":[],"tabId":"self-hosted-setup"}]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/infisical/b13a5df316344f52/unify.js","/docs/_mintlify/custom/infisical/bc9046d1d11b5448/field-name-copy.js","/docs/_mintlify/custom/infisical/fdfdc80c034be768/cli-reference-nav.js"],"subdomain":"infisical","siteName":"Infisical","title":"Microsoft Teams integration - Infisical","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-03T19:43:42.121Z","originalFileLocation":"documentation/platform/workflow-integrations/microsoft-teams-integration.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Learn how to setup the Microsoft Teams integration\">\u003cmeta data-mint-head name=\"application-name\" content=\"Infisical\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/x-icon\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/infisical/favicon.ico\">\u003clink data-mint-head rel=\"icon\" type=\"image/x-icon\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/infisical/favicon.ico\">\u003clink data-mint-head rel=\"icon\" type=\"image/x-icon\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/infisical/favicon.ico\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/infisical/favicon.ico\">\u003cmeta data-mint-head property=\"og:title\" content=\"Microsoft Teams integration - Infisical\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to setup the Microsoft Teams integration\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Infisical\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://infisical.com/docs/documentation/platform/workflow-integrations/microsoft-teams-integration\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://infisical.mintlify.app/_mintlify/api/og/v2?division=Workflow+integrations\u0026amp;title=Microsoft+Teams+integration\u0026amp;description=Learn+how+to+setup+the+Microsoft+Teams+integration\u0026amp;theme=48a50df3ba2e68203e367e83\u0026amp;signature=1fd2d6cde37650fe157d55832398aa7fc8d466c852730740538cb7a008b2b15e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Microsoft Teams integration - Infisical\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to setup the Microsoft Teams integration\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://infisical.mintlify.app/_mintlify/api/og/v2?division=Workflow+integrations\u0026amp;title=Microsoft+Teams+integration\u0026amp;description=Learn+how+to+setup+the+Microsoft+Teams+integration\u0026amp;theme=48a50df3ba2e68203e367e83\u0026amp;signature=1fd2d6cde37650fe157d55832398aa7fc8d466c852730740538cb7a008b2b15e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/infisical/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Infisical\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#26272b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://infisical.com/docs/documentation/platform/workflow-integrations/microsoft-teams-integration\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/documentation/platform/workflow-integrations/microsoft-teams-integration.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://infisical.com/#organization\",\"name\":\"Infisical\",\"url\":\"https://infisical.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintlify.s3.us-west-1.amazonaws.com/infisical/logo/light.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://infisical.com/docs#website\",\"name\":\"Infisical\",\"url\":\"https://infisical.com/docs\",\"publisher\":{\"@id\":\"https://infisical.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://infisical.com/docs/documentation/platform/workflow-integrations/microsoft-teams-integration#webpage\",\"url\":\"https://infisical.com/docs/documentation/platform/workflow-integrations/microsoft-teams-integration\",\"name\":\"Microsoft Teams integration\",\"description\":\"Learn how to setup the Microsoft Teams integration\",\"dateModified\":\"2026-09-03T19:43:42.121Z\",\"isPartOf\":{\"@id\":\"https://infisical.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://infisical.com/docs/documentation/platform/workflow-integrations/microsoft-teams-integration#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://infisical.com/docs/documentation/platform/workflow-integrations/microsoft-teams-integration#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Audit and logs\",\"item\":\"https://infisical.com/docs/documentation/platform/audit-logs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Workflow integrations\",\"item\":\"https://infisical.com/docs/documentation/platform/workflow-integrations/slack-integration\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Microsoft Teams integration\",\"item\":\"https://infisical.com/docs/documentation/platform/workflow-integrations/microsoft-teams-integration\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://infisical.com/docs/documentation/platform/workflow-integrations/microsoft-teams-integration#article\",\"headline\":\"Microsoft Teams integration\",\"name\":\"Microsoft Teams integration\",\"description\":\"Learn how to setup the Microsoft Teams integration\",\"url\":\"https://infisical.com/docs/documentation/platform/workflow-integrations/microsoft-teams-integration\",\"mainEntityOfPage\":{\"@id\":\"https://infisical.com/docs/documentation/platform/workflow-integrations/microsoft-teams-integration#webpage\"},\"dateModified\":\"2026-09-03T19:43:42.121Z\",\"publisher\":{\"@id\":\"https://infisical.com/#organization\"},\"isPartOf\":{\"@id\":\"https://infisical.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Infisical\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Infisical","nav":{"global":null,"tabs":[{"tab":"Get started","pages":[{"title":"Get started","href":"/documentation/getting-started/overview"}]},{"tab":"Products","menu":[{"item":"Secrets Management","icon":"key","pages":[{"title":"Secrets Management","href":"/documentation/platform/secrets-mgmt/overview"}]},{"item":"Certificate Management","icon":"file-key","pages":[{"title":"Certificate Management","href":"/documentation/platform/pki/overview"}]},{"item":"Privileged Access Management (PAM)","icon":"users","pages":[{"title":"Privileged Access Management (PAM)","href":"/documentation/platform/pam/overview"}]},{"item":"Agent Vault","icon":"vault","pages":[{"title":"Agent Vault","href":"/documentation/platform/agent-vault/overview"}]},{"item":"Key Management Service (KMS)","icon":"lock","pages":[{"title":"Key Management Service (KMS)","href":"/documentation/platform/kms/overview"}]},{"item":"Secret Scanning","icon":"radar","pages":[{"title":"Secret Scanning","href":"/documentation/platform/secret-scanning/overview"}]}],"pages":[{"title":"Products","href":"/documentation/platform/secrets-mgmt/overview"}]},{"tab":"Platform","menu":[{"item":"Organizations","icon":"building","pages":[{"title":"Organizations","sidebarTitle":"Organizations","icon":"building","href":"/documentation/platform/organization"},{"title":"Sub-organizations","href":"/documentation/platform/sub-organizations"},{"group":"Projects","pages":[{"title":"Projects","sidebarTitle":"Overview","href":"/documentation/platform/project"},{"title":"Project templates","sidebarTitle":"Project templates","href":"/documentation/platform/project-templates"},{"group":"KMS configuration","pages":[{"title":"Key management service (KMS) configuration","sidebarTitle":"Overview","href":"/documentation/platform/kms-configuration/overview"},{"title":"Use AWS KMS for Infisical encryption","sidebarTitle":"AWS Key Management Service","href":"/documentation/platform/kms-configuration/aws-kms"},{"title":"Use AWS CloudHSM for Infisical encryption","sidebarTitle":"AWS CloudHSM","href":"/documentation/platform/kms-configuration/aws-hsm"},{"title":"Use GCP KMS for Infisical encryption","sidebarTitle":"GCP Key Management Service","href":"/documentation/platform/kms-configuration/gcp-kms"}]}]},{"group":"Audit and logs","pages":[{"title":"Audit logs","sidebarTitle":"Overview","href":"/documentation/platform/audit-logs"},{"title":"ClickHouse audit log storage","sidebarTitle":"ClickHouse setup","href":"/documentation/platform/audit-logs-clickhouse-setup"},{"title":"Audit log streams","href":"/documentation/platform/audit-log-streams/audit-log-streams"},{"title":"Stream audit logs to non-HTTP providers","sidebarTitle":"Stream to non-HTTP providers","href":"/documentation/platform/audit-log-streams/audit-log-streams-with-fluentbit"},{"group":"Workflow integrations","pages":[{"title":"Slack integration","description":"Learn how to setup the Slack integration","href":"/documentation/platform/workflow-integrations/slack-integration"},{"title":"Microsoft Teams integration","href":"/documentation/platform/workflow-integrations/microsoft-teams-integration"},{"title":"Access approvals in ServiceNow","description":"Route Infisical access requests through ServiceNow approval flows.","href":"/documentation/platform/workflow-integrations/servicenow-integration"}]}]},{"group":"Admin console","pages":[{"title":"Admin consoles","sidebarTitle":"Overview","href":"/documentation/platform/admin-panel/overview"},{"title":"Organization admin console","href":"/documentation/platform/admin-panel/org-admin-console"}]},{"group":"Planning","pages":[{"title":"Infisical organizational structure blueprint","sidebarTitle":"Organization structure","href":"/documentation/guides/organization-structure"},{"title":"Centralized vs. self-service governance","sidebarTitle":"Governance models","href":"/documentation/guides/governance-models"}]}]},{"item":"Identity and access","icon":"id-card","pages":[{"title":"Identity and access","href":"/documentation/platform/identities/overview"}]},{"item":"App connections","icon":"plug","pages":[{"title":"App connections","href":"/integrations/app-connections/overview"}]},{"item":"Networking","icon":"network","pages":[{"title":"Networking","href":"/documentation/platform/gateways/overview"}]},{"item":"Self-hosting","icon":"server","pages":[{"title":"Self-hosting","href":"/self-hosting/overview"}]},{"item":"Internals","icon":"workflow","pages":[{"title":"Internals","href":"/internals/overview"}]},{"item":"Contributing","icon":"git-pull-request","pages":[{"title":"Contributing","href":"/contributing/getting-started/overview"}]}]},{"tab":"Reference","icon":{"name":"code","library":"lucide"},"menu":[{"item":"CLI","icon":"terminal","pages":[{"title":"CLI","href":"/cli/overview"}]},{"item":"API","icon":"book-open","pages":[{"title":"API","href":"/api-reference/overview/introduction"}]},{"item":"SDKs","icon":"boxes","pages":[{"title":"SDKs","href":"/sdks/overview"}]}],"pages":[{"title":"Reference","href":"/cli/overview"}]}]},"basePath":"","title":"Microsoft Teams integration - Infisical","buildId":"dpl_Acry4NrQAgjcikyFgVE2eJ7XQCAv","deploymentId":"dpl_Acry4NrQAgjcikyFgVE2eJ7XQCAv","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-DBRtNxbY.js","lightbox-handle-r17bVUz3.js"]}