> ## Documentation Index
> Fetch the complete documentation index at: https://docs.riggery.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Triggers

> Start and stop incoming Triggers, and configure Telegram, IMAP, and webhook for this Instance.

**Triggers** turns incoming Triggers on and off for this Instance. **Start** / **Stop** are on this tab. Chat in the app does not need Start. See [Listening](/concepts/watching).

**Configure** opens a side panel for Telegram, IMAP, or webhook.

<h2 id="listening">
  Listening
</h2>

**Start** turns incoming Telegram, cron, webhook, and IMAP on. **Stop** turns them off.

Start can be blocked: no runnable Graph, compatibility errors on the pinned Graph, or nothing ready (add Cron, Webhook, or IMAP poll, or a Message trigger that accepts Telegram plus a bot token).

<Warning>
  Stop listening before **Update to vN** or **Use draft**. Those actions stay disabled while listening is on.
</Warning>

<h2 id="triggers">
  Triggers table
</h2>

The **Triggers** table lists Cron, Webhook, IMAP, Telegram, and Live on the active Graph.

**Status** is **ready** or **needs setup** (or **bot claimed elsewhere**).

Empty table: **No triggers on the active graph.**

If the Graph has `telegram.send` or `imap.fetch` and no inbound Telegram or IMAP trigger, a second table **Used by tools** lists those adapters.

<h2 id="activity">
  Last activity
</h2>

**Last activity** is the last check while listening is on. After Start, before the first poll: **Waiting for the first poll…**. Idle poll rows can say **idle**. A dash means there is nothing to show yet.

<h2 id="version">
  Version
</h2>

The workspace badge is **Live · vN** when this Instance is pinned, or **Draft**. A newer published version shows the banner **New version available: vN** with **Update to vN**.

**Use draft** (Graph owners) is on the **Live · vN** badge. It clears the pin so Chat and listening use the draft Graph.

<h2 id="telegram">
  Telegram
</h2>

**Configure** on the Telegram row. **Telegram bot token**, **Reply in Telegram with the agent output**, and **Telegram groups**:

* **Ignore groups**
* **Reply when mentioned**
* **All group messages**

**Save Telegram**. Secrets use `{{secret:…}}`. Link people on [People](/instance/people) — otherwise unlinked chats cannot start a Run.

`telegram.send` can set its own token on the node. Empty uses this Instance bot.

<h2 id="imap">
  IMAP
</h2>

**Configure** on the IMAP row. **Host**, **Port**, **TLS / SSL**, **User**, **Password**, and **Folder**. IMAP poll and optional IMAP fetch use this when those fields on the node are empty. **Save IMAP**.

<h2 id="mailbox">
  Shared mailbox
</h2>

If several Instances use the same IMAP inbox, **Shared mailbox** is in the IMAP panel:

* **Shared** — each Watching Instance gets the mail. **Emails stay unread until every watching template finishes successfully.**
* **Only this Instance** — **Emails are marked read after this template succeeds.**

**Also watching** lists other copies. Starting while others already watch this inbox asks how to share: **Process in parallel (shared)** or **Only this Instance**. If another Instance is already Only this Instance, stop listening there first.

<h2 id="webhook">
  Webhook
</h2>

**Configure** on the Webhook row. **Start** listening to issue the URL and signing secret.

**Endpoint URL** is the HTTPS address for POST. **Rotate secret** shows **Signing secret** once. **Rotate URL** replaces the path. Last delivery time, or **No deliveries yet.**

How to call it: [Webhook](/graph/triggers/webhook).
