- A channel connection on the agent, configured in Agent → Channels
- A matching official Tool Hub tool for provider-specific sends and actions
Product channels
If you are building a product on Runtools, the developer connects the messaging channel once and product users simply chat. That channel credential is only the transport. Customer data tools still use Hosted Connect. Runtools links each provider sender, such as a Telegram user id, Slack user id, or phone number, to one product user:connect_required. It does not use the builder’s Connected Apps or another user’s credentials.
Unknown senders get a link-required reply and the agent is not called. Group conversations are disabled by default; products can opt into sender-scoped groups when each message has a trustworthy sender id.
Privacy model
Channels are protected before the agent sees anything. The default policy isapproved_only:
- Unknown chats become pending requests
- Pending messages are stored as channel audit events only
- Pending messages do not enter thread history
- Pending messages do not call the agent or expose tools
public or disabled, and can independently allow private chats, groups, and unauthorized approval notices.
For Telegram groups, approved groups can contribute passive history, but the agent only replies when the bot is mentioned, replied to, or receives a command/callback.
Telegram setup
- Create a bot in BotFather.
- Save the bot token as a secret.
- Open the agent’s Channels tab.
- Add Telegram and connect the saved token.
- Send
/startto the bot. - Approve the private chat or group in the channel privacy panel.
WhatsApp setup
- Create or choose a Meta app with WhatsApp Cloud API enabled.
- Create a system-user access token with access to the WhatsApp Business Account.
- Copy the Meta app secret and WhatsApp phone number ID.
- Open the agent’s Channels tab.
- Add WhatsApp and paste the access token, app secret, phone number ID, and optional WABA ID.
- Copy the callback URL and verify token returned by Runtools into the Meta app webhook settings.
- Subscribe the app to WhatsApp message events if automatic WABA subscription was not available.
- Approve the phone conversation in the channel privacy panel when the first user messages the number.
whatsapp tool.
iMessage setup (Sendblue)
iMessage is a bring-your-own Sendblue account: people text your Sendblue number and the agent replies over iMessage (or SMS fallback).- Sign up at Sendblue and get a sending number plus your API Key ID and API Secret Key from the dashboard.
- Open the agent’s Channels tab.
- Add iMessage and paste the API Key ID, API Secret Key, and your Sendblue number (E.164, e.g.
+14155551234). - Copy the receive webhook URL Runtools returns and set it as the inbound/receive webhook in your Sendblue dashboard.
- Text the number — approve the conversation in the channel privacy panel when the first person messages it.
sb-signing-secret header.
The agent replies to direct messages automatically. Group iMessage threads are supported when the number is added to a group; every group message reaches the agent (subject to the privacy panel).
Official tools
Official channel tools use the same approval system as inbound messages. Inapproved_only mode, they can send only to approved conversations or to the current approved source conversation. Username-only or raw provider-id sends require public mode or a previously known approved conversation.
This keeps agents with powerful tools, such as Gmail, from being reachable by arbitrary external users.