A trigger binds an inbound event on a channel integration to a published agent. The agent’s config never names the channel, so repointing a trigger changes which agent answers on the next message, with no republish. Walkthroughs: Telegram, WhatsApp, WhatsApp calls.

Creating one

string
required
One of the three types above.
uuid
The agent that answers. Required to enable; without it the trigger is needs_setup.
boolean
default:"false"
Turning it on runs the checks below and registers the webhook with the provider.
string
default:"public_reply"
public_reply or none. See reply modes.
object
Yours, returned untouched.
provider_subscription_ref on the response is written by the platform when the webhook is registered (for Telegram, the callback URL).

What enabling checks

These run on create with enabled: true and on any PATCH that leaves the trigger enabled, including repointing agent_id. The channel check reads the published version; editing the draft changes nothing until you publish. While an enabled trigger points at an agent, deleting the agent is refused with 409 naming the integration, and publishing it on a different channel is refused.

Enabling registers the webhook

Enabling registers the callback URL with the provider for you; nothing is pasted into BotFather or a BSP console. If the provider refuses, the trigger is saved with enabled: false and status: "error", and the call returns the provider’s message (for Telegram, 502 Telegram webhook registration failed: …). Fix the cause and PATCH {"enabled": true} again. Disabling or deleting a trigger unregisters it. Disabling the integration unregisters all its enabled triggers and enabling it registers them again. Messages sent while a trigger is off are never answered.

Statuses

status is recomputed on every write. The only value you can set yourself is error.

Reply modes

The API also accepts internal_note, but no current provider supports it: the reply is never sent and the item settles skipped with provider <provider> does not support reply_mode:internal_note. Do not use it.

Changing and removing

  • PATCH /v1/integrations/{integration_id}/triggers/{trigger_id} — same fields; omitted fields are kept.
  • DELETE /v1/integrations/{integration_id}/triggers/{trigger_id} — permanent; unregisters the webhook.
  • GET /v1/integrations/{integration_id}/triggers — list.

What a fired trigger produces

A message trigger starts a chat when the person has no open one; later messages join it until it ends. A call trigger starts a call. Either is a session on that person’s conversation, read back like any other (conversations).

Next

Telegram

Deploy a text agent to a Telegram bot.

WhatsApp

Put a text agent on a WhatsApp number.