Skip to main content

Triggers

Bind an agent to Slack, Discord, Teams, email, or a schedule. These are Studio bindings, not flow start nodes.

Triggers

Agent triggers start or continue a chat session from a channel. They are configured in Action Agent Studio (Triggers panel). They are not flow start nodes. For graphs, see flow triggers.

Studio offers every channel except in-app chat. In-app chat is the Studio dock itself. An agent can have more than one trigger at the same time, one binding per channel.

Slack, Discord, and Teams reuse the organization's OAuth (or credentials) for that integration. Email uses mailbox and webhook settings on the binding. Scheduled uses an interval and a message. Embed a chat in a web or mobile app through the public Action Agents API, not a Studio trigger.

Channels

ChannelTypical eventsConnection
Slackmessage, app_mention, dmOrg Slack OAuth. Reply policies include thread, reply, silent, and channel default.
Discordmessage, mentionOrg Discord OAuth.
TeamsmessageMicrosoft org OAuth.
EmailreceivedMailbox on the binding.
ScheduledtickNo OAuth. Set how often the agent should run and the message to send. Each tick starts a new session.

Reply policies: reply, silent, plus Slack thread and channel_default. Defaults: Slack threads; scheduled is silent; other channels reply.

Binding status

A binding is ready only when the channel has what it needs (OAuth and/or credential, plus any channel-specific fields such as team id, mailbox, signing secret, interval, or message). Studio shows when a binding still needs Connect OAuth or extra config.

Inbound vendor URLs (Events API / webhook) are ingress for that binding. They are not listed in the public Action Agents API and are not SDK or hosted MCP tools.

Scheduled ticks come from Trigger.dev tick-scheduled-action-agents (* * * * *). The ticker claims due AgentTriggerBinding.nextRunAt rows and starts a session. It does not live in queueConsumer.

On this page