Skip to main content
Deploy AI for Work directly inside your organization’s collaboration platforms. This guide covers integration with Microsoft Teams and Slack, including architecture, prerequisites, and step-by-step configuration.

Microsoft Teams

AI for Work integrates with Microsoft Teams using Azure Bot Service, enabling users to access AI assistance, receive proactive notifications, and use Copilot features without leaving Teams.

When to Use

ScenarioDetails
Heavy Teams usageOrganizations using Teams as the primary hub for communication, meetings, and file sharing
Workflow integrationTeams needing AI assistance during active chats, meetings, or collaborative document sessions
Proactive notificationsBusinesses requiring AI-driven alerts, reminders, or time-sensitive updates delivered in Teams
Copilot enhancementCompanies extending standard Copilot with custom AI agents and specialized workflows

Architecture

The integration uses Azure Bot Service as the communication bridge:
[AI for Work Platform] ↔ [Azure Bot Service] ↔ [Microsoft Teams]
ComponentRole
AI for Work PlatformProcesses user requests
Azure Bot ServiceRoutes messages between the platform and Teams
Microsoft TeamsUser-facing interface
Azure App RegistrationManages authentication and permissions

Prerequisites

RequirementDetails
Azure SubscriptionActive subscription with administrative privileges
Teams Admin AccessPermission to upload and manage custom apps in the Teams Admin Center
AI for Work AccountActive subscription with access to the Admin Console

Configuration

Follow these phases sequentially to ensure proper deployment and functionality.

Phase 1: Initial Setup and Webhook Configuration

Objective: Establish communication between AI for Work and Azure Bot Service.
  1. Log in to the Admin Console.
  2. Navigate to Channels > Microsoft Teams and Copilot.
  3. Copy and save the Webhook URL, to use in Azure Bot configuration later.

Phase 2: Azure Bot Service Creation

Create and configure the Azure Bot that serves as the communication bridge. Create Azure Bot Resource
  1. Sign in to the Azure Portal.
  2. Click + Create a resource → Search for Azure Bot.
  3. Select Azure Bot and configure the following:
    • Bot Handle: Choose a unique name.
    • Subscription: Select your active subscription.
    • Resource Group: Create or reuse an existing group.
    • Pricing Tier: Select based on expected usage.
    • App Type: Select Multi-Tenant or Single-Tenant based on organizational needs.
Configure Bot Resource
  1. After deployment completes, click Go to resource and navigate to Configuration in the left sidebar.
  2. Paste the webhook URL copied from the AI for Work platform into the Messaging endpoint field and click Apply to save the configuration.

Phase 3: Authentication and Security Setup

This phase varies based on your chosen App Type (MultiTenant vs SingleTenant). For MultiTenant Applications Generate Client Secret
  1. In Configuration, click Manage Password next to the Microsoft App ID. teams_1
  2. Go to Certificates & secrets+ New client secret. teams_2
  3. Enter description and expiry → Add.
  4. Copy the Value of the client secret (App Password).
  5. Record the Microsoft App ID and App Password for the Platform configuration.
For Single-Tenant Applications Follow the steps for Multi-Tenant setup. Also, note the Tenant ID for the Platform configuration.

Phase 4: Enable Microsoft Teams Channel Integration

Configure the bot to communicate with Microsoft Teams and enable Copilot integration.
  1. Navigate to Channels in the bot resource menu and locate the Available Channels section.
  2. Select the Microsoft Teams channel and M365 Extensions channel (required for Copilot integration), review channel information, and select Save. teams_3
The Web Chat channel isn’t supported for this integration, so keep it disabled.

Phase 5: Proactive Notifications Setup

Enable the bot to send proactive notifications to users, which is essential for AI-driven interactions. Create App Registration for Notifications
  1. In the Azure Portal, navigate to App registrations and select + New registration.
  2. Register New Application:
    • Name: Provide a descriptive name (for example, Platform-Microsoft Teams-Notifications).
    • Supported account types: Choose based on organizational requirements.
    • Redirect URI: Leave blank for this use case.
  3. Select Register. teams_4
Add Microsoft Graph Permissions
  1. In the app registration, navigate to API permissions and select Add a permission. teams_5
  2. Select Microsoft GraphApplication permissions. Required Permissions: Add the following permissions for full functionality:
    • MS TeamsAppInstallation.ReadForUser.All
    • MS TeamsAppInstallation.ReadWriteSelfForUser.All
    • MS TeamsAppInstallation.ReadWriteForUser.All
    • User.Read.All
    • AppCatalog.Read.All
  3. Grant Admin Consent.
  4. Generate a Client Secret and note down App ID, Directory (Tenant) ID.
  5. Configure these values in AI for Work under Microsoft Teams & Copilot Channel Settings.
  6. Generate a JWT token for secure communication.

Phase 6: Configure AI for Work Platform

Provide Azure Bot credentials to the Platform to establish secure communication.
  1. Navigate to the Admin Console.
  2. Locate Channels on the left pane.
  3. Select Microsoft Teams and Copilot.
  4. Enter the following credentials under Configuration:
    • Microsoft App Tenant ID: (SingleTenant only) The tenant ID from the bot’s app registration.
    • Microsoft App ID: The App ID from your Azure Bot resource.
    • App Password: The client secret from the bot’s app registration.
    teams_6
    • App ID of the Microsoft Teams App: The additional app credentials for sending Proactive Notifications.
    • Application (Client) ID: From the notifications app registration.
    • Client Secret: From the notifications app registration.
    • Delivery (Tenant) ID: From the notifications app registration.
    teams_7
Customization Options By default, the Microsoft Teams app appears with the name AI for Work, the standard logo, and the default description. Administrators can customize the application before publishing to Microsoft Teams:
  • App Name – Choose a custom display name for Microsoft Teams.
  • Logo – Upload an organization-specific logo.
  • Description – Provide a tailored description that reflects organizational context.
Copilot Enablement During configuration, you are prompted to Enable Copilot Integration. We recommended you to enable this option so that Teams users can access the Platform features using Copilot.

Phase 7: Microsoft Teams Application Deployment

Deploy the Platform app to Microsoft Teams for user access. Generate Application Manifest Upon configuring credentials in the Platform, generate and download the Microsoft Teams application manifest file. This manifest file contains all the necessary configurations for integrating with Microsoft Teams. teams_8 Upload to Microsoft Teams Admin Center Ensure you have Upload Custom App permissions in the Microsoft Teams Admin Center. Verify organizational policies allow custom app installations.
  1. Sign in to Microsoft Teams Admin Center.
  2. Navigate to Microsoft Teams appsManage apps.
  3. Click Upload new app. teams_9
  4. Select the downloaded manifest file from the Platform.
  5. Wait for upload and validation to complete.
Configure App Permissions and Policies Review the uploaded application details and configure app permission policies as needed. Set up app setup policies for automatic installation (optional).

Phase 8: User Access Configuration

You can decide how to distribute the Platform app in Microsoft Teams:
  • Add App for All Users (Recommended) — Automatically adds the Platform app for all employees in the organization. All users receive a notification in Microsoft Teams and a welcome message when the app is added.
Users must also be provisioned in the Account Hub of the Platform to access the app.
  • Let Users Add App Themselves — The app is available in the Microsoft Teams App Marketplace. Users need to search for the app in Microsoft Teams and add it manually. No automatic notifications or installations occur.
Users must be present in the Account Hub to use the app.
  • Add App for Selected Users or User Groups — Assigns the app only to specific users or security groups. Selected users are automatically notified in Microsoft Teams and receive the welcome message. Other users must find and install the app manually from the Marketplace.
Selected users must also exist in the Account Hub for access.

Troubleshooting

Bot Not Responding in Microsoft Teams
  • Verify the webhook URL is correctly configured in Azure Bot.
  • Check that the Microsoft Teams channel is enabled and saved.
  • Validate client secrets haven’t expired.
Authentication Failures
  • Confirm all required API permissions are granted with admin consent.
  • Verify client secrets are copied correctly (Value, not Secret ID).
  • Check tenant ID matches between configurations.
Manifest Upload Failures
  • Ensure you have proper permissions in the Microsoft Teams Admin Center.
  • Verify the manifest file is not corrupted during download.
  • Check organizational policies to allow custom app uploads.
Proactive Notifications Not Working
  • Verify all required Microsoft Graph permissions are granted.
  • Verify that the notification app registration client secret is valid.
  • Ensure JWT token generation is working correctly.

Slack

AI for Work integrates with Slack as a custom app, enabling users to perform work tasks, query enterprise knowledge, and interact with AI agents without leaving Slack. Slack channel overview

When to Use

ScenarioDetails
Seamless workflow integrationTeams needing AI assistance during active conversations, with persistent chat history and context retention
Enterprise knowledge accessOrganizations connecting users to knowledge repositories — documents, LLMs, and data-driven answers — within Slack channels
Heavy Slack usageRemote or hybrid teams that treat Slack as their central hub for communication and project coordination

Architecture

The integration uses Slack’s Developer Portal and OAuth authentication:
[AI for Work Platform] ↔ [Slack App Configuration] ↔ [Slack Workspace]

Prerequisites

RequirementDetails
Slack WorkspaceActive workspace with administrative privileges
Slack Developer Portal AccessPermission to create and manage apps in your workspace
AI for Work AccountActive subscription with access to the Admin Console

Integration Lifecycle

PhaseSteps
Configuration and creationCustomize app details in the Admin Console to generate an App Manifest, then use the manifest to create the app in the Slack Developer Portal
Connection and securityPerform a credential exchange to link the platforms, then authorize the required permissions
RolloutDefine the welcome experience, then grant user access to onboarded employees

Configuration

Step 1: Configure App Display Settings

  1. Log in to the Admin Console.
  2. Navigate to ChannelsSlack. Slack channel navigation
  3. Open the Configuration page and set the following:
    SettingDescription
    App NameName users see when interacting with the app in Slack
    App DescriptionExplains the app’s capabilities; appears in the About section in Slack
    App display settings
If you change the app name or description after deployment, generate a new manifest and update the Slack app in the Developer Portal.

Step 2: Generate the App Manifest

  1. On the Configuration page, click Get Manifest.
  2. Copy the entire manifest code. Manifest generation
The manifest contains all permissions, features, and settings required for the Slack app.

Step 3: Create the App in the Slack Developer Portal

Access the portal
  1. Go to the Slack Developer Portal.
  2. Sign in with your workspace credentials.
  3. Click Your Apps. Slack Developer Portal
Create the app
  1. Click Create New App (or Create an App for first-time users).
  2. Select From a manifest.
  3. Select the target workspace from the Slack Workspace dropdown. Create app from manifest
Paste the manifest
  1. Paste the manifest code copied from the Platform.
  2. Click Next, review the configuration and permissions, then click Create.

Step 4: Configure App Credentials

Retrieve credentials from Slack
  1. In the Slack Developer Portal, navigate to Basic Information in the left sidebar.
  2. Scroll to App Credentials and copy:
    • Client ID
    • Client Secret
    • Signing Secret
    App Credentials
Enter credentials in AI for Work
  1. Return to the Admin Console > App Credentials page.
  2. Paste the copied values into the corresponding fields.
  3. Click Authorize. Credentials configuration
Complete authorization
  1. Review the permission request that Slack displays.
  2. Click Allow.
On successful authorization, the app deploys to your Slack workspace and becomes visible to all onboarded users.

Step 5: Customize the Welcome Experience

  1. In the Admin Console, navigate to the Welcome Experience page. Welcome Experience
  2. Configure the following:
    SettingDescription
    Welcome MessageIntroductory message users see when they first open the app
    Sample PromptsUp to four clickable prompts to help users start a conversation
  3. For each sample prompt, set:
    • Display Message — Text shown to users as the prompt button.
    • Actual Query — The complete query sent to the Platform when the user clicks the prompt.
  4. Click Save and Update. Changes take effect immediately for all users.
You can update the welcome experience at any time. Changes apply to all users immediately.

Step 6: Customize the App Icon (Optional)

  1. In the Slack Developer Portal, go to Basic InformationDisplay Information.
  2. Click Upload next to App Icon and select an image file.
  3. Optionally, set a Background Color.
  4. Click Save Changes. App icon customization

User Access Management

Only users who have onboarded to AI for Work can interact with the Slack app. Before deploying, ensure you:
  1. Invite all intended users to the Platform.
  2. Onboard users with the appropriate access permissions.
  3. Confirm users exist in both the Platform and the target Slack workspace.
Users in the Slack workspace who have not onboarded will see the app but receive an error when attempting to send a message.

Current Limitations

LimitationDetails
Single workspaceThe app deploys to one Slack workspace. Multi-workspace deployments require a separate app instance per workspace.
Direct messaging onlyThe app functions as a direct messaging interface. Adding the app to channels is not supported, and mentions in public or private channels do not trigger responses.