Chat Agents & Channels
Bring your Omada AI assistant into Microsoft Teams and Slack so your team can ask questions and get work done without leaving their chat tool.
Availability: Agents & Channels require a Professional or Enterprise plan (the chat integrations capability) and the AI module enabled under App Settings → General.
Overview
The feature has two building blocks:
- Agent — a logical AI assistant with a name (for example, "Support Agent" or "IT Help Agent"), a capability scope that controls what it's allowed to do, and an on/off switch. You create and manage agents under App Settings → AI → Agents.
- Channel — how a agent becomes reachable on a platform: Microsoft Teams or Slack (WhatsApp is planned). A single agent can have multiple channels and answers as one identity across all of them.
Once a agent has a channel, your team can @-mention it in a channel or direct-message it. The agent replies in the same thread.
Agents answer with your permissions. When someone messages the agent, their chat account email is matched to an existing workspace member, and the AI runs with that member's permissions — it can only see and act on what that person could see and act on. If the sender's email doesn't match any member, the agent replies that it couldn't match them, and no conversation is created.
Workspace admins can view the full conversation history of every agent from inside the Agents panel.
Create a Agent
- Go to App Settings → AI → Agents.
- Click Create Agent.
- Give it a name. New agents start as "Omada Agent" by default — rename it to something your team will recognise, such as "Support Agent" or "IT Help Agent".
- Set the agent's scope (what the agent is allowed to do — see Scopes below). You can leave it unrestricted to start and tighten it later.
- Enable the agent.
The agent now exists, but it isn't reachable anywhere yet. Add a channel to make it available in Teams or Slack.
Add a Microsoft Teams Channel
Connecting Teams is a one-time setup in the Microsoft Azure portal, followed by a quick connect step in Omada. You'll need an admin who can register apps and grant consent in your Microsoft tenant.
Step 1 — Register an app in Azure
- In the Azure Portal, open Microsoft Entra ID → App registrations → New registration.
- Name it (for example, "Omada Agent"). For Supported account types, choose single tenant unless you specifically need multi-tenant.
- Register, then from the Overview page copy:
- Application (client) ID
- Directory (tenant) ID
- Go to Certificates & secrets → New client secret, then copy the secret Value immediately — it's shown only once. This is your agent's password.
Step 2 — Create the Azure Agent
-
In the Azure Portal, choose Create a resource, search for Azure Agent, and create one.
-
For Type of App, match your app registration (single tenant or multi-tenant). For Creation type, choose Use existing app registration and paste the Application (client) ID from Step 1.
-
Once it deploys, open the agent and go to Configuration:
-
Set Messaging endpoint to:
https://actions.omada.ws/api/chat/teams -
Set Enable Streaming Endpoint to OFF.
-
Apply your changes.
-
-
Open Channels and enable Microsoft Teams (accept the terms).
Step 3 — Grant Microsoft Graph permission
So the agent can match a sender's email to a workspace member, grant it permission to read directory profiles:
- Back in your App registration, open API permissions → Add a permission → Microsoft Graph → Application permissions and add User.Read.All.
- Click Grant admin consent for your tenant.
Important: Without admin consent on User.Read.All, the agent can't read the sender's email, and every message comes back as "couldn't match you".
Step 4 — Connect the channel in Omada
- In Omada, open your agent and choose Add Channel → Microsoft Teams.
- Paste:
- App ID — the Application (client) ID from Step 1.
- App Password — the client secret Value from Step 1.
- Tenant ID — the Directory (tenant) ID from Step 1.
- App Type — single tenant or multi-tenant, matching your registration.
- Submit. Teams connects immediately — there's no popup or sign-in round-trip.
Download & Install the Teams App
Connecting the channel links Omada to your agent, but your team still needs the agent installed in Teams. Omada generates a ready-to-install package for you.
- On the Teams channel, click Download manifest. This produces a zip with the Omada icon and your agent's name already baked in — nothing to edit.
- In Microsoft Teams, go to Apps → Manage your apps → Upload a custom app and select the downloaded zip.
- Add the agent to a personal chat, a group chat, or a team channel.
Heads up: Uploading a custom app requires the tenant's "Upload custom apps" policy to be turned ON (in the Teams Admin Center → Setup policies). If it's off, the upload is blocked with a "you do not have permission" error. Ask your Teams administrator to enable it.
Add a Slack Channel
- In Omada, open your agent and choose Add Channel → Slack.
- Paste your Slack app's Client ID, Client Secret, and Signing Secret.
- Click Connect.
- Complete the OAuth install popup to authorise the agent in your Slack workspace.
Once installed, your team can @-mention or DM the agent in Slack just like in Teams.
Rich Replies & Files
Once a agent has a channel, these features work automatically — there's nothing extra to set up. The agent uses the native card, form, and file features of Teams and Slack, so replies look at home in your chat tool.
Workflow cards
When you ask the agent to do something that runs a workflow (for example, "kick off the onboarding workflow for Acme"), it doesn't just reply in prose. It posts a tidy card that shows:
- the name of the workflow it ran,
- its overall status,
- a table of each step and whether it succeeded, and
- an "Open in Omada" button that jumps straight to the run — so you can see the full detail in one click.
Follow-up questions
Sometimes the agent needs a bit more information before it can finish — which project you meant, which option you'd prefer, and so on. When that happens it posts a short message with an "Answer" button. Click it and a small form opens (a task module in Teams, a modal in Slack) with one field per question:
- a text box for open-ended questions,
- a dropdown when there's a single choice to pick, and
- a text box where you separate multiple answers with commas when more than one option applies.
Fill in the required fields and submit. The agent picks up right where it left off and posts its answer back in the same thread — you don't need to re-ask your original question.
Sending and receiving files
- You can send files to the agent. Attach a file to your message in Teams or Slack and the agent adds it to the conversation, so it can read and work with it when answering.
- The agent can send files back. If the agent produces a file while answering — say a generated report or export — it posts that file as an attachment in the thread for you to download.
Renaming a Agent
You can rename a agent at any time from the Agents panel — the new name applies everywhere the agent answers.
For Microsoft Teams, the display name is baked into the installed app package, so after renaming you'll need to re-download the Teams manifest and re-upload it in Teams (Apps → Manage your apps) to refresh the name your team sees. Slack picks up the new name without re-installing.
Scopes
A agent's scope limits which tools and records it can use — it's the upper bound on what the agent can do, regardless of who's talking to it.
- The default scope is unrestricted: the agent can use any tool the messaging member has access to.
- Narrow the scope to follow the principle of least privilege — for example, a "Support Agent" might be limited to reading documents and creating issues, with no ability to change settings or delete records.
Remember that scope works together with permissions: the effective access for any message is the intersection of the agent's scope and the messaging member's own permissions. A agent can never grant access that the person doesn't already have.
Viewing Conversations (Admins)
Every conversation a agent has is recorded and visible to workspace admins:
- Go to App Settings → AI → Agents and open a agent.
- Open the Conversations tab to see every thread the agent has handled.
- Click a thread to read the full message history, including the questions asked and the agent's replies.
Note: Agent conversations are visible to workspace admins. Let your team know that messages to a shared agent are not private the way a personal chat is.
Troubleshooting
| Symptom | Likely cause | What to check |
|---|---|---|
| No reply at all | Messaging endpoint isn't set correctly, or custom-app upload is blocked | Confirm the Azure Agent Messaging endpoint is the actions.omada.ws URL above and that the Teams "Upload custom apps" policy is ON |
| "I couldn't match you" for a valid member | Microsoft Graph User.Read.All consent missing, or the chat email doesn't match a member email | Grant admin consent for User.Read.All; confirm the sender's chat email exactly matches their workspace member email |
| 401 / messages rejected | Wrong App Password, or single/multi-tenant mismatch | Re-enter the client secret Value; make sure the connect form's App Type matches the app registration |
| Duplicate replies | The platform retried a message while the first was still processing | Usually self-corrects (Omada de-duplicates retried messages); if it persists, check for two channels pointing at the same agent |
| Agent is silent after working before | The agent or channel was switched off | Check the agent's enabled toggle and the channel's status in the Agents panel; re-enable to resume replies |
Related
- Chat — real-time team messaging inside Omada.
- AI Assistant — the operator that powers your agents.