Skip to main content
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.

The four types

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:
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.

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:

Slack triggers

Channels, mentions vs. messages, reactions, and thread ownership.

Linear triggers

Event types, issue filters, and which teams the agent can see.

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.
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.
To stop an agent that’s already active somewhere:
If you only want it to stop acting, without stopping it talking, set its riskier tools to Requires approval or Disabled on the Tools tab. That takes effect on the next turn, including in conversations already underway.

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.