Chat channels
A chat channel is a chat you already read, on Telegram, Slack, Discord, WhatsApp, or Microsoft Teams, that your workspace can reach when you are not in the app. This page shows how to connect one, what arrives there, how answers are checked, and the limits of each service.
What a channel is for
Agents and workflows that run on their own (on a schedule, from a webhook, or on a task) sometimes need a person. A connected channel is where they find you:
| What arrives | What you can do from the chat |
|---|---|
| Permission requests | An agent with Ask my permission before a sensitive action asks before it acts in a run nobody is watching. Press the approve or reject button. |
| Agent questions | An agent running unattended asks you a multiple-choice question. Pick an option (or type your own answer on Telegram and WhatsApp). |
| Workflow approvals | A User Approval node set to Delegate via external channel sends its decision to the chat. Press the approve or reject button. |
| Alerts | Failures, credits, account issues, tasks, new apps from creators you follow, and new subscribers, if you choose a channel delivery in your notification settings. |
A channel is not a chat with your agent. A message you write that does not answer something you were asked is ignored by LiveContext. Email is not a channel either: alerts can also go by email, but decisions and questions travel only through a chat channel.
Channels belong to the workspace. Every member sees the same connected destinations, and a workspace can have several, one of them the default.
Before you begin
- Open Settings > Channels.
- You need a role that can edit the workspace. A Viewer sees the list of destinations but cannot connect, change the default, or disconnect.
- You need an account on the service, and for some services an app or bot of your own (see the table below).
Supported services
| Service | What you need | Setup time |
|---|---|---|
| Telegram | Your own bot, created in two minutes with BotFather. | About 3 minutes |
| Slack | Nothing to create: approve the app in your workspace and pick a channel. | About 1 minute |
| Discord | Your own Discord application and bot, plus one URL to paste in its portal. | About 5 minutes |
| A Meta business app with WhatsApp, its phone number ID, and an access token. | About 10 minutes | |
| Microsoft Teams | Nothing to create: sign in with Microsoft and pick a chat. Messages go out as you. | About 1 minute |
Connect a channel with Orbi
Orbi walks you through each step in the service’s own console, one at a time, and you can ask it questions along the way. Orbi’s turns use credits.
- Pick a service
In Settings > Channels, under Add a channel, press Set up with Orbi on the service you want. The chat opens and sends the request at once, so Orbi’s first turn starts right away.
- Follow the steps
Do what Orbi asks in the service (create a bot, copy a token, add the bot to a chat), and confirm each step. You can also ask Orbi directly from any chat, for example "I want my approvals to reach me on Slack".
- Check the test message
Orbi connects the chat and sends a test message. The destination then appears under Connected destinations.
Connect a channel manually
Set up manually opens a form with two numbered sections (three on Telegram), then a button. It uses no credits.
- Your account on the service
On screen this step is named after the service, for example Your Telegram account. Connect the service account (a bot token, or a sign-in for Slack and Teams). Discord also asks for the Application public key, and WhatsApp for the Phone number ID.
- Where messages go
On Telegram a section Say hello to your bot comes first, so this one is number 3 there: send your bot a message, or add it to the group or channel that should receive the messages, because a bot cannot write to someone who never wrote to it.
Press Find my chats and pick the chat, or type its id in Or type the chat id. For WhatsApp, type the phone number in international format.
Then press Connect and send a test message. Connected: the test message arrived. means the destination works. For Discord and WhatsApp, the form then shows One more step in the service: a URL (and, for WhatsApp, a verify token) to paste in the service’s developer console so button presses come back.
Per-service notes
| Service | Setup notes |
|---|---|
| Telegram | Create the bot with /newbot in @BotFather and copy its token. Press Start in your bot (or add it to a group and post there). To send to yourself, use your numeric id, which @userinfobot sends you. A group id starts with -100. Find my chats only works before the bot is connected; after that, type the id. |
| Slack | Connect Slack and approve the app. A public channel or a direct message needs nothing: the app joins a public channel when it sends the test message. For a private channel, first type /invite followed by the app name in it. Then pick it with Find my chats. |
| Discord | In the Discord Developer Portal, create an application, open Bot, and copy its token. In OAuth2 > URL Generator, tick bot and Send Messages, and add the bot to your server. Paste the token and the Public Key, pick the channel, then paste the Interactions Endpoint URL shown after connecting on the General Information page. |
| In your Meta app, API Setup: note the Phone number ID and create a permanent System User token. From the phone that will answer, send any message to your business number first. After connecting, set the callback URL and verify token shown on screen. | |
| Microsoft Teams | Sign in with Microsoft and pick the chat. Messages are posted as you, and Teams does not notify you about your own messages: pick a chat other people read, or use another service to be notified yourself. |
Manage your destinations
Each destination under Connected destinations shows its status: Working: a message was delivered here. or Not working yet: nothing has been delivered here., and the last error, if any.
| Action | What it does |
|---|---|
| Make default | Makes this destination the workspace default. Only a destination that has received a message can be the default. The first working destination becomes the default on its own. |
| Fix with Orbi | Shown on a destination that does not work yet. Opens the chat and sends the error at once, so Orbi starts looking for the cause (its turns use credits). |
| Disconnect | Approvals and questions stop arriving there. If it was the default, the default moves to another working destination. |
A destination can be limited to certain people (shown as N people may decide): presses from anyone else are refused. Ask Orbi to set or clear that list. Microsoft Teams cannot tell who pressed, so a Teams destination cannot be limited.
Choose where an agent reaches you
In the agent editor, step Integration, the Reach me outside the app card controls whether the agent may reach you at all, and where:
- Destination picks one of the workspace’s destinations. Leave it empty to use the workspace default. If the chosen destination is later disconnected, the agent’s requests are reported as not delivered rather than sent to another chat.
- With the card on, the agent’s permission requests and questions from runs nobody is watching are also sent here. They always wait in the agent’s conversation in the app too, and answering there closes the copy in the chat.
- With the card off, nothing leaves the app: requests and questions wait in the agent’s conversation, and the notification bell links to it. Whether the agent asks permission at all is its own setting, Ask my permission before a sensitive action, in its Configuration step; it does not need this card.
The card is available once the workspace has a connected channel; otherwise it offers Connect a channel. See Agents for how permissions and questions work.
Send workflow approvals to a channel
On a User Approval node, turn on Delegate via external channel and pick the Destination: the workspace default (selected when you turn it on), one of the connected destinations, or Another chat (advanced). Only Another chat (advanced) shows the Channel, the account and the chat id. The account and the chat id are optional there: leave them empty to use the destination connected on that service in Settings > Channels (its default when the default is on that service). You can also list the Allowed user IDs. The list only narrows who may decide at the destination: left empty, the destination keeps its own restriction (anyone in the chat when it has none), and if nobody on your list may decide there, the approval is not sent. The run waits for the decision, which you can still make in the app. The approval message can include an image (an interface screenshot, for example) on every service: Telegram sends it as a photo with the text as caption, Slack and Teams show it above the text, Discord under it, and WhatsApp sends it just before the question. Outside Telegram a file is shared as a signed link that works for 7 days. When Slack or WhatsApp refuses the image, the question is sent without it; on Telegram an image that cannot be sent stops the message.
Get alerts on a channel
In Settings > Overview > Notifications, choose for each topic (Failures, Credits, Account issues, Tasks, Creators you follow, New subscribers, Orbi's check-in) where alerts go: Email and channel, Email, Channel, or Bell only. Channel alerts go to the workspace’s default chat, so everyone in that chat can read them. Credits, Creators you follow and New subscribers apply in all your workspaces, and their channel alerts go to the channel of your personal workspace. See Notifications.
Security & verification
- A destination is proven by delivery. Connecting always sends a test message, and only a destination that received one can be the default.
- A button only works where it was sent. Each button carries a single-use token tied to the service, the bot, and the chat it went to. A press from anywhere else is refused.
- Requests from the services are checked. Slack requests must carry Slack’s signature; Discord presses are verified with your application’s public key, which is checked against your bot at connect; old signed requests are refused.
- On Teams, opening a link decides nothing. The buttons are links to a confirmation page, and only its Confirm button decides, so link previews and security scanners cannot approve by accident.
- The people list is a guard, not a login. It prevents a mistaken tap by someone else in the chat. The real protection is who is in the chat: anyone there can read the messages, so pick a private chat for sensitive requests.
- A late approval covers exactly what you saw. An Approve that arrives after the run ended authorizes that same action on the agent’s next run, not any other action of the same kind.
- Nothing on this path can make an action run on its own. Any failure leaves the request unanswered, and the action is not done.
Limits
| Limit | Value |
|---|---|
| Permission request lifetime | 24 hours, then it expires and its buttons stop working. The agent may ask again. |
| Question lifetime | 6 hours. |
| Duplicate requests | One waiting permission request per agent conversation and action: the agent does not ask twice for the same action. |
| WhatsApp reply window | WhatsApp only lets a business write to someone who messaged it in the last 24 hours. Outside that window, delivery fails with a re-engagement error. |
| Typed answers ("Other...") | Telegram and WhatsApp only. |
| Closing a settled message | Telegram, Slack, and Discord remove the buttons. WhatsApp and Teams cannot edit a message, so a short follow-up is sent instead, and a late press is answered "already decided". |
| Images in approvals | Every service. Outside Telegram a file is shared as a signed link that works for 7 days: Slack, Discord and Teams load it when the message is shown, WhatsApp keeps its own copy. A web address is used as written. |
| Limiting who may decide | Not available on Microsoft Teams. |
Self-hosted installations
- Button presses come back to your installation from the service, so your installation must be reachable from the internet at its public address. An image in an approval outside Telegram is loaded by the service from your public app address, so that address must be reachable too, and file links must be enabled (a signing secret is set).
- Slack uses the platform Slack app your administrator registered. Presses are refused until the administrator sets that app’s signing secret (
SLACK_SIGNING_SECRET) and points its Interactivity Request URL at your installation.
Troubleshooting
| Symptom | What to check |
|---|---|
| The test message did not arrive (Telegram) | You never pressed Start in your bot, or you gave the bot’s own @name. A bot cannot write to itself: use your numeric id from @userinfobot. |
| Find my chats finds nothing | Telegram: send a message to the bot first. Slack: a private channel is listed only once you /invite the app to it. Discord: add the bot to your server. Teams: start a chat first. |
| Telegram cannot list chats | The bot is already connected, and Telegram does not replay messages then. Type the chat id instead. |
| Buttons do nothing (Discord or WhatsApp) | The Interactions Endpoint URL (Discord) or the callback URL and verify token (WhatsApp) were not set in the service’s console. |
| WhatsApp messages fail | The 24-hour window is closed. Send any message to your business number from that phone, then retry. |
| Nobody is notified on Teams | Teams does not notify you about your own messages. Pick a chat that other people read. |
| An agent says its request was not delivered | Its chosen Destination was disconnected, or the workspace has no working destination. Check Settings > Channels and the agent’s Destination. |
| Make default is missing | The destination has not received a message yet. Fix it first. |