Microsoft Teams setup
Register an Azure Bot, point the messaging endpoint at Viksa, and connect Teams or Web Chat to your project's agents.
Use cases#
- Internal IT and platform ops — run agents from Teams channels or personal chat
- On-call runbooks and approval workflows where your team already works
- Azure Web Chat testing before publishing a Teams app manifest
What to create (not a Copilot declarative agent)#
Viksa uses a standard Azure Bot (Bot Framework) registration — not a Copilot declarative agent or tab-only Teams app. Create an Azure Bot, enable the Microsoft Teams channel, and point the messaging endpoint at Viksa.
Prerequisites#
- Azure subscription with permission to create an Azure Bot resource
- Microsoft App ID and client secret (App password)
- Directory (tenant) ID for single-tenant bots
- At least one deployed agent in your ViksaAI project
Installation steps#
- 1
Register an Azure Bot
Azure Portal → Create a resource → Azure Bot. Note the Microsoft App ID, create a client secret (App password), and copy your Directory (tenant) ID. Under Channels, enable Microsoft Teams.
- 2
Set the messaging endpoint
In Azure Bot Configuration, set the messaging endpoint to
https://api.viksaai.com/v1/webhooks/teams. Viksa validates inbound Bot Framework JWTs on every activity. - 3
Connect in Channel Hub
Volt → Channel Hub → Teams. Enter App ID, App password (secret value, not Secret ID), and tenant ID for single-tenant bots. Click Validate then Connect.
- 4
Single-tenant tenant ID
- 5
Grant access
Grant by work email (
[email protected]) or Azure AD object ID. Viksa project members can also receive all agents when members get all agents is enabled. See Access & security. - 6
Test
Use Azure Bot Test in Web Chat or publish/sideload a Teams app manifest, then send a plain text message to the bot.
Credentials reference#
| Field | Required | Notes |
|---|---|---|
| Microsoft App ID | Yes | GUID — routing key for your project |
| App password | Yes | Client secret value from App registration |
| Directory (tenant) ID | Single-tenant | Required for Single Tenant bots |
Routing (shared webhook URL)#
All Teams customers use the same Viksa URL (https://api.viksaai.com/v1/webhooks/teams). Viksa resolves your project from the bot's App ID in the inbound JWT. Each App ID maps to exactly one project.
Message flow#
- User sends a message on the channel.
- The platform posts a webhook to volt-engine-service at /v1/webhooks/*.
- Engine resolves account, org, and project from the global routing index (App ID, phone number ID, tenant key, etc.).
- Access is checked via channel_grants_v1 and optional Viksa project membership.
- The same Think→Act→Observe pipeline loads your project agent catalog and runs agents.
- The reply is sent back through the channel API (Graph, Telegram Bot API, Bot Framework, etc.).