KlicForge Docs
Channels

Channels

How people reach your agent — the web widget, Telegram, WhatsApp and the inbox.

A channel connects an agent to somewhere people can talk to it. Channels are configured per agent, on the agent's Channels tab.

ChannelWhat it is
Web widgetA chat widget embedded in your website
TelegramA Telegram bot
WhatsAppWhatsApp Business messaging
InboxAn in-app channel for conversations without an external channel

Channels deliver to your end users. Alerting your own team — when a lead is captured or an agent asks for help — is a separate system configured under Notifications in the dashboard.

The inbox

The inbox is a built-in channel, one per workspace. It captures conversations that arrive without a dedicated external channel and shows them in the dashboard for your team.

  • Created automatically on first use — you never create it manually.
  • Cannot be deleted. Disable it in channel settings if you do not want it.
  • Shared across all agents in the workspace.

Access control

The web widget, Telegram and WhatsApp channels each decide who may reach the agent. Open the channel from the agent's Channels tab and use the Allow List and Deny List tabs.

Access mode

Every channel is either Open or Restricted. The setting is at the top of the Allow List tab.

ModeWho gets through
OpenAnyone, except contacts on the deny list. This is the default.
RestrictedOnly the allow list. The deny list still applies on top.

The deny list applies in both modes, and deny always wins over allow. Both lists stay editable whichever mode you are in, so you can prepare an allow list before switching to Restricted.

Switching a channel to Restricted with an empty allow list blocks everyone. Add the entries first, then switch.

Who you can add

Search the box on either tab and pick from two kinds of entry.

  • A contact — someone who has messaged this agent before, so they already have a contact record. See contacts.
  • A data table row, or a whole data table — pick one row, or Everyone in this table to cover every row in it. A whole-table entry is resolved each time someone messages, so adding a row to the table grants access without touching the channel. See data tables.

Data table entries let you authorise someone before they ever message, which a contact entry cannot do. Only tables with at least one identity column can be picked — a column typed whatsapp_id, telegram_id, telegram_handle, phone or email. That column is what an incoming sender is matched against, and an entry names which of its columns it matches on.

The search box lists what you can add as soon as you open it, so you can browse rather than guess at a search term. It offers only data tables this agent has read permission on — if one is missing, grant it from the table's Permissions tab, see permissions.

Data table entries authorise Telegram and WhatsApp senders, whose identity the messaging platform confirms. They do not authorise web widget visitors — see restricting the widget.

Example

To let only your customers use a WhatsApp agent: keep a data table with a whatsapp_id column, add Everyone in this table to the channel's allow list, then set the channel to Restricted. To bar one number afterwards, add that row to the deny list — you do not have to remove it from the table.

Handing over to a human

An agent can escalate a conversation to a person. When it does, your team is notified and can take over the conversation from the dashboard, reply directly, and hand control back to the agent afterwards. See escalate to human for how to configure it.

Security

  • Channel credentials — bot tokens, access tokens — are write-only. They are stored encrypted and never appear in the dashboard or in any API response after you save them.
  • If your API URL changes, reconnect the channel so the webhook is re-registered.

Troubleshooting

SymptomLikely cause
Messages are not reaching the agentAgent status is draft or inactive
The channel worked, then went silentAn expired credential — see WhatsApp
Some people get no responseA deny list entry is filtering them
Nobody gets a responseThe channel is Restricted and the allow list matches nobody
A widget visitor is refusedData table entries do not authorise widget visitors
Widget does not loadThe site's domain is not in the agent's allowed origins
Was this page helpful?

On this page