Channels

Messaging Channels

Connect a Telegram bot or a WhatsApp Business number and let Humane handle inbound messages directly. Each channel is a verified, per-integration webhook — forged requests are rejected, real messages run through the same Brain pipeline your /process calls use.

How it works

You register a channel (a Telegram bot or a WhatsApp Business phone number) either from Dashboard → Channels or via the SDK. Humane returns a webhook URL like/api/ingress/{provider}/{integration_id}and a one-shot secret (Telegram's secret_tokenor WhatsApp's verify_token). You hand the URL + secret to the provider once — after that, every inbound message is authenticated and dispatched through your engines, policies, and memory like any other interaction.

Per-channel verification — no shared secret
Every channel gets its own secret. A leak in one Telegram bot can't be replayed against another. The full secret is shown once on create — store it before navigating away. Subsequent reads only show the last 4 chars.

Pick a channel

What routes through the Brain

Once a message hits the ingress endpoint and passes verification, it's parsed into an EndUser interaction with thechannel field set to "telegram"or "whatsapp", then handed to the sameprocess_interaction pipeline your SDK calls use. Mood, energy, safety gating, memory recall, policy rules, and proactive triggers all apply identically. Analytics can filter bychannel to compare cohorts.

Non-message events are absorbed silently
Typing indicators, message-status callbacks, and channel edits return200 {status: "ignored"} so neither Telegram nor Meta retries them. Only actual messages create interactions.