Triggers and control

Every way to wake an agent up: web chat, iMessage, SMS, Telegram, email, phone, webhooks, API.

Triggers overview

A trigger is anything that can wake an agent up. The web chat is the most common, but the same agent can also be reached from iMessage, SMS, Telegram, email, phone, a webhook, or directly via the HTTP API. Same agent, same memory; just different ways to talk to it.

Choosing a trigger

Want to talk to your agent like a person?
Use iMessage, SMS, or Telegram. Best for personal-assistant and secretary use cases.
Want to bcc your agent into your inbox?
Use email. The agent reads incoming mail and replies.
Want to call your agent on the phone?
Use phone calls. Full transcripts stored.
Building an integration?
Use webhooks or the HTTP API.

Wiring a trigger

Open the agent, switch to the Settings tab, scroll to Triggers. Each row is a trigger you can flip on. iMessage and SMS show a phone number to register, Telegram shows a bot link, email shows the unique address, webhook shows the URL and signing secret.

Same agent, all surfaces

Every trigger talks to the sameagent. If you ask your agent something on iMessage in the morning and follow up on the web in the afternoon, the agent remembers the morning conversation. Memory is the agent’s; surfaces are just I/O.

Web chat

The web chat is always on. The home page chat input talks to your main agent; each agent’s detail page has a chat input that talks to that agent.

Features

  • Streaming responses with interruption support.
  • Markdown rendering, code blocks with copy buttons.
  • Per-message model picker.
  • Attachments (images, PDFs, text files).
  • Persistent history with calendar jump.

Suggestion chips

Above the input, a few suggested prompts fire common queries. They’re generated from your recent usage so they get smarter over time.

iMessage and SMS

iMessage

Link your phone number, then message the agent like a contact. The agent replies with the same memory it has on the web. Apple-side, the agent appears as a regular conversation; you can pin it, mute it, or include it in a group thread.

SMS

Outside the iMessage ecosystem, SMS works the same way through a Twilio-backed number. Reply latency is ~1 second; long responses get split across messages automatically.

Setup

  1. Open the agent’s Settings, scroll to Triggers, click Enable iMessage / SMS.
  2. You get an agent phone number. Save it as a contact.
  3. Send a verification code from your phone to the agent number. Once it matches, your number is paired.
  4. From now on, any message you send to the agent number is treated as if you typed it into the web chat. Replies arrive as messages.

Voice notes

If you send a voice note over iMessage, the agent transcribes it (via the voice tool) and treats it as a typed message. The original audio file stays attached to the conversation.

Telegram

Telegram support uses a Backbend-owned bot that you add to any chat (private or group). The bot relays messages to your agent.

Setup

  1. Open the agent’s Settings, scroll to Triggers, click Enable Telegram.
  2. We give you a one-time bot link. Click it from Telegram; it opens a chat with the bot and pairs your Telegram account to your Backbend agent.
  3. Talk to the bot. The agent replies.

Group chats

You can add the bot to a group; the agent only responds when you @-mention it (so it doesn’t spam every message). Useful for “our team Slack-ish channel that includes the agent.”

Email

Every agent gets a unique email address. Send it mail, the agent reads the message and replies from the same address.

Setup

  1. Open the agent’s Settings, scroll to Triggers, click Enable email.
  2. Copy the unique address (something like agent-abc123@backbend.email).
  3. Add it as a contact or bcc it into threads you want the agent to follow.

What the agent reads

The agent sees the full email: subject, body, sender, cc list, and any attachments (PDFs are read; images go through vision if the model supports it). It also sees the most recent few messages in the thread so quoted replies make sense.

Replies

The agent replies from the same unique address, threaded correctly so the conversation reads naturally in your inbox. You can opt the agent into “reply-all by default” or “only reply to sender” in Settings.

Phone calls

Agents can take phone calls. Inbound: someone calls the agent’s number and has a real voice conversation, with full transcript. Outbound: the agent can dial a number to confirm something with a human, leave a voicemail, or run through an automated phone tree.

Setup

  1. Enable the phone trigger in the agent’s Settings.
  2. You get a dedicated phone number. Optionally, port your own number into it (paid feature).
  3. Configure the greeting (what the agent says when it answers) and the voice (a few options from the TTS provider).

Transcripts

Every call records audio + a synchronized transcript, both stored in the agent’s Files area. The agent has access to them for follow-up reasoning (“what did the caller commit to during yesterday’s call?”).

Webhooks

Each agent exposes an inbound webhook URL. POST anything to it and the agent treats the request body as a new message.

Setup

  1. Enable the webhook trigger in Settings. You get a URL and a signing secret.
  2. Wire the URL into whatever system you want the agent to react to (Zapier, GitHub Actions, your own service).
  3. Sign the request body with the secret (HMAC-SHA256). We reject unsigned requests.

Payload

POST https://api.backbend.ai/webhooks/agent-abc123
X-Backbend-Signature: sha256=<hmac>
Content-Type: application/json

{
  "message": "deploy of release-2026.05.20 finished",
  "metadata": {
    "from": "github-actions",
    "url": "https://github.com/acme/web/actions/runs/123"
  }
}

Responses

Webhooks are fire-and-forget by default; we return a 202 Accepted immediately and the agent runs in the background. Pass ?wait=trueto block and return the agent’s reply in the response body (use this sparingly; it ties up the connection).

HTTP API

For programmatic access, the HTTP API exposes every agent operation. Authenticate with an account API token (create one in Settings).

Authentication

Authorization: Bearer bb_pat_<your-token>

Common endpoints

  • POST /api/v1/agents/:id/messages: send the agent a message, receive the reply.
  • GET /api/v1/agents/:id/messages: paginated conversation history.
  • POST /api/v1/agents/:id/tasks: create a task.
  • POST /api/v1/agents/:id/tasks/:task_id/run: kick off a one-off run.
  • GET /api/v1/agents/:id/runs/:run_id: full run transcript.

Streaming

The message endpoint supports server-sent events. Pass Accept: text/event-streamand you’ll get tokens as they arrive, the same way the web chat does.

Rate limits

100 requests/minute per token, 5 concurrent streaming responses. We’ll bump these on request for use cases that need more.