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

# Triggers

> The four ways an agent can be woken up: Slack, Linear, a schedule, or a webhook.

A trigger decides **when an agent wakes up**. Without one, an agent only runs when you start a session by hand from its Overview tab.

Triggers live on the agent's **Configuration** tab. An agent can have several, and each one is either there or deleted; there's no per-trigger on/off switch. The single on/off switch is **Pause** on the agent itself, covered [below](#pausing-an-agent).

## The four types

| Trigger                                                 | Wakes the agent when                                          | Available to    |
| :------------------------------------------------------ | :------------------------------------------------------------ | :-------------- |
| [**Slack**](/product-docs/conversion-ai/agents/slack)   | Someone messages, mentions, or reacts in a channel you choose | The Slack agent |
| [**Linear**](/product-docs/conversion-ai/agents/linear) | An issue or comment matches your filters                      | Custom agents   |
| **Schedule**                                            | A time you set comes around                                   | Custom agents   |
| **Webhook**                                             | Another system calls the agent's URL                          | Custom agents   |

One trigger covers one kind of event. "Any message in `#support`" and "mentions in `#general`" are two triggers on the same agent, which is fine and common.

***

## Schedule

Pick a time and a timezone. The agent starts a fresh session on each run, so a scheduled agent doesn't accumulate history: every Monday's report starts clean.

Common patterns:

| Schedule              | Use                                     |
| :-------------------- | :-------------------------------------- |
| Every Monday, 9am     | Weekly summary of last week's sends     |
| Every weekday morning | Check for anything that needs attention |
| First of the month    | Monthly reporting                       |

<Tip>
  Because each run is a new session, everything the agent needs has to come from its instructions, its files, or your workspace data, not from what it did last week.
</Tip>

***

## Webhook

Gives the agent a URL. Anything that can make an HTTP request can start it: another tool, a script, an automation platform.

You can require an API key, which we recommend leaving on. Without it, anyone who learns the URL can start your agent.

***

## Slack and Linear

Both need the integration connected for your workspace first, in **Workspace settings** under **AI**. Each has its own scoping rules and its own quirks, covered on their pages:

<Columns cols={2}>
  <Card title="Slack triggers" icon="slack" href="/product-docs/conversion-ai/agents/slack">
    Channels, mentions vs. messages, reactions, and thread ownership.
  </Card>

  <Card title="Linear triggers" icon="list-check" href="/product-docs/conversion-ai/agents/linear">
    Event types, issue filters, and which teams the agent can see.
  </Card>
</Columns>

***

## Things to know

### Pausing an agent

**Pause**, on the agent's header, stops every trigger at once. A paused agent isn't woken by Slack, Linear, or its schedule, and its webhook URL stops working. **Activate** turns it back on.

Pausing a scheduled agent doesn't queue up the runs it missed. When you activate it again, it waits for the next tick rather than firing for every one it slept through.

<Warning>
  **Pause doesn't stop a conversation already underway.** Triggers control how an agent **joins** a conversation. Once it's in one (a Slack thread, a Linear issue), new messages there go straight to that conversation without consulting triggers or the pause switch, so it keeps replying.

  Pause is about **new** conversations, not the ones already running.
</Warning>

To stop an agent that's already active somewhere:

| Where          | What to do                                                                     |
| :------------- | :----------------------------------------------------------------------------- |
| A Slack thread | Remove the agent from that channel. It stops receiving messages there.         |
| A Linear issue | Delete the agent, or disconnect Linear in **Workspace settings** under **AI**. |
| Everywhere     | Delete the agent. Its sessions go with it.                                     |

<Tip>
  If you only want it to stop *acting*, without stopping it talking, set its riskier [tools](/product-docs/conversion-ai/tool-calls) to **Requires approval** or **Disabled** on the Tools tab. That takes effect on the next turn, including in conversations already underway.
</Tip>

### Filters only apply when the agent joins

Same reason. A Linear filter is checked when deciding whether to pick up an issue, not on every later comment. If an issue's labels or status change mid-conversation, the agent carries on.

### One action can look like two events

Creating a Linear issue with a description and an attachment often registers as two separate changes: the issue being created, then updated moments later. If you have triggers for both, both fire, and the second one interrupts the first.

Use one trigger per job. For work someone kicks off deliberately, a comment trigger is usually the cleanest: it only fires when a person actually comments, and the same trigger handles their follow-up messages later.

### Repeated deliveries are ignored

If the same event reaches us twice, the agent only runs once. You won't get duplicate work from a retried webhook.

***

## Testing an agent

You don't need a trigger to try one out. Open the agent, use the prompt box at the top of its page, and it runs a session exactly as a trigger would, with the same instructions, documents, tools, and permissions.

That's the right way to shake out an agent's behavior before connecting it to a live channel.
