Reactions
What fires an agent automatically when something happens in Gmail, Slack, Drive, or Help Scout.
What a reaction is
A reaction is a typed event from a tool you’ve connected (an inbound Gmail message, a Slack DM, a Drive comment @mention, a Help Scout ticket assignment) that wakes an agent up. When the event matches a reaction you’ve turned on for the agent, the agent acts with the event as context. When it doesn’t, nothing happens.
Reaction is one of three task types you’ll see in the New Task form, alongside Once (run one time) and Repeat (run on a schedule). Reactions also surface on each agent’s Tools tab, grouped per connected tool, so you can manage them next to the connection itself.
All triggers are blocked by default
Connecting a tool to AgentTeams does not, by itself, give the agent permission to react to traffic in that tool. Reactions are opt-in: a task with a matching trigger has to exist before the agent fires. If no task subscribes, the event is still remembered (so the agent has context if you ask about it later) but the agent does not act.
This keeps the surface predictable. New customers don’t connect Gmail and discover an agent has emailed a client overnight; the only auto-reactions are the ones you (or the safe seeded defaults below) opted in to.
What ships as a default
When you connect a tool, AgentTeams seeds a small set of safe defaults. The rule used to pick them, from the audit on 2026-05-24:
- Explicit @mention or assignment. Someone specifically asked for me (Slack @mention, Drive comment @mention, Help Scout assigned).
- 1:1 DM-like surface. The channel itself implies intent (Slack DM, Telegram DM).
- Internal-domain initiator on a coordination surface. A teammate, on a tool we use to coordinate (internal Gmail, internal Calendar invite, internal Drive share).
Everything else is available in the trigger picker so you can opt in by hand, but it ships with no auto-reaction.
Summary
On a fresh agent connection, 30 events become live defaults and 13 sit in the picker waiting for you to wire them up. The remaining 11 are reserved for integrations we haven’t shipped yet.
Full event table
Every event in the catalogue, grouped by the tool it comes from. The icon on the left of each section is the tool’s brand mark; tools whose integration hasn’t shipped yet show as planned.
Slack
5 events
- @mentioned in any Slack channelDefault
slack.app_mention
Someone @mentions you in a public or private channel.
Seeded task: “Respond when @mentioned on Slack”
- Direct message in SlackDefault
slack.dm
Someone sends you a DM on Slack.
Seeded task: “Respond to Slack DMs”
- Any message in a Slack channelDefault
slack.channel_message
Any message in a channel you're a member of. Noisy — usually want @mention instead.
Seeded task: “Listen to channel messages”
- Reaction on your Slack messageDefault
slack.reaction_added
Someone reacts with an emoji to a message you posted (e.g. ✅ to approve).
Seeded task: “Read reactions on your messages”
- File shared in SlackDefault
slack.file_shared
A file is shared in a channel you're a member of.
Seeded task: “Digest files shared in channels”
Telegram
2 events
- Private chat with your Telegram botDefault
telegram.dm
Someone messages your bot in a 1:1 private chat.
Seeded task: “Respond to Telegram DMs”
- Message in a Telegram groupDefault
telegram.group_message
Any message in a group your bot is a member of.
Seeded task: “Listen to Telegram group chats”
Help Scout
4 events
- Help Scout ticket assigned to meDefault
helpscout.assigned
Someone assigns a ticket to your Help Scout user, OR a customer replies on a ticket you already own.
Seeded task: “Take ownership of assigned tickets”
- Customer reply on any Help Scout ticketDefault
helpscout.customer_reply
A customer replies — regardless of whether the ticket is assigned to you. Use for shared inboxes.
Seeded task: “Follow up on customer replies”
- —New Help Scout ticket createdOpt-in
helpscout.created
Any new ticket arrives in the mailbox. Very noisy on busy inboxes.
Why not a default: Fires on every new ticket; reserved for shared-inbox flows where someone wants it.
- —Help Scout ticket taggedOpt-in
helpscout.tagged
A tag is added to a ticket.
Why not a default: Tags are workflow-specific. Wire up the ones that matter to you.
Google Workspace
10 events
- Email from a teammate (internal)Default
gmail.inbound.internal
New email in your inbox from someone on your company's domain.
Seeded task: “Handle email from teammates”
- —Email from outside the companyOpt-in
gmail.inbound.external
New email from outside your domain. Use cautiously — auto-replying to customers can backfire.
Why not a default: Auto-replying to people outside your company is risky by default.
- Calendar invite from a teammateDefault
calendar.invite.internal
An internal teammate invites you to a calendar event.
Seeded task: “Triage internal calendar invites”
- —Calendar invite from outsideOpt-in
calendar.invite.external
An external person invites you to a calendar event.
Why not a default: External invites usually need a human judgment call.
- Calendar event you're on changedDefault
calendar.event_changed
Time, location, or details of a meeting you're attending changed.
Seeded task: “Track changes to your meetings”
- Calendar event you're on cancelledDefault
calendar.event_cancelled
A meeting you were attending was cancelled.
Seeded task: “Free time when meetings cancel”
- @mentioned in a Drive commentDefault
drive.comment_mentioned
Someone @mentions you in a comment on a Drive file.
Seeded task: “Respond to Drive comment @mentions”
- Drive file shared with you (internal)Default
drive.shared_with_me.internal
A teammate shares a new Drive file with you.
Seeded task: “Note new Drive shares from teammates”
- —Drive file shared with you (external)Opt-in
drive.shared_with_me.external
Someone outside your company shares a Drive file.
Why not a default: External shares need a quick human review first.
- —Drive permission changeOpt-in
drive.permission_change
Permissions changed on a file you can see.
Why not a default: Audit-only signal; no action needed unless you build one.
Linear
4 events
- —New Linear issue createdOpt-in
linear.issue_created
Any new issue in the connected Linear workspace. Use filters to narrow to a team or label.
- Linear issue assigned to meDefault
linear.issue_assigned
An issue is assigned to your Linear user. The cleanest signal that you should act.
Seeded task: “Pick up new Linear assignments”
- —Linear issue status changedOpt-in
linear.issue_status_changed
An issue moved to a new state (e.g. In Review → Done). Use to react to lifecycle transitions.
- New comment on a Linear issueDefault
linear.comment_created
Someone posted a comment on an issue. Filter to issues you own or are assigned to.
Seeded task: “Reply when someone comments on your issues”
Shopify
7 events
- New Shopify orderDefault
shopify.order_created
A new order was placed in the connected shop.
Seeded task: “Triage new orders”
- Shopify order marked paidDefault
shopify.order_paid
An order's payment status moved to paid.
Seeded task: “Move paid orders toward fulfillment”
- —Shopify order fulfilledOpt-in
shopify.order_fulfilled
An order's fulfillment status moved to fulfilled. The agent can confirm tracking with the customer.
- Shopify order cancelledDefault
shopify.order_cancelled
An order was cancelled. Useful for win-back outreach or inventory restocking workflows.
Seeded task: “Note cancellations for the books”
- —New Shopify customer signupOpt-in
shopify.customer_created
A new customer signed up on the store.
- —Shopify product updatedOpt-in
shopify.product_updated
A product was edited (title, status, variants, etc.).
- —Shopify inventory level changedOpt-in
shopify.inventory_updated
Stock level changed for a variant at a location. Pair with a low-stock filter to act only when stock drops below a threshold.
Microsoft 365
11 events Planned
- —Outlook email from a teammatePlanned
outlook.inbound.internal
Internal email in your Outlook inbox.
- —Outlook email from outsidePlanned
outlook.inbound.external
External email in your Outlook inbox.
- —Outlook calendar invite from a teammatePlanned
ms_calendar.invite.internal
Internal calendar invite via Outlook.
- —Outlook calendar invite from outsidePlanned
ms_calendar.invite.external
External calendar invite via Outlook.
- —Outlook calendar event changedPlanned
ms_calendar.event_changed
Meeting you're on changed (Outlook).
- —Outlook calendar event cancelledPlanned
ms_calendar.event_cancelled
Meeting you're on cancelled (Outlook).
- —OneDrive file shared (internal)Planned
onedrive.shared_with_me.internal
Internal teammate shares a OneDrive file.
- —OneDrive file shared (external)Planned
onedrive.shared_with_me.external
External party shares a OneDrive file.
- —Microsoft Teams DMPlanned
teams.dm
Someone DMs you on Teams.
- —@mentioned in a Teams channelPlanned
teams.channel_mention
Someone @mentions you in a Teams channel.
- —Any message in a Teams channelPlanned
teams.channel_message
Any message in a Teams channel you're a member of.
GitHub
3 events
- @mentioned on GitHubDefault
github.mention
Someone @mentions you in an issue or PR comment.
Seeded task: “Respond when @mentioned on GitHub”
- GitHub review requestedDefault
github.review_requested
Someone requests your review on a PR.
Seeded task: “Review PRs when requested”
- GitHub issue assigned to youDefault
github.issue_assigned
An issue is assigned to your GitHub user.
Seeded task: “Pick up new GitHub assignments”
Jira
3 events
- Jira issue assigned to youDefault
jira.assigned
An issue is assigned to you in Jira.
Seeded task: “Pick up new Jira assignments”
- @mentioned in JiraDefault
jira.mentioned
Someone @mentions you in a Jira issue or comment.
Seeded task: “Respond when @mentioned on Jira”
- Jira issue commentedDefault
jira.commented
A new comment on a Jira issue you're watching.
Seeded task: “Watch Jira comments for direct questions”
Confluence
2 events
- @mentioned in ConfluenceDefault
confluence.mentioned
Someone @mentions you on a Confluence page or comment.
Seeded task: “Respond when @mentioned on Confluence”
- —Confluence page commentedOpt-in
confluence.commented
A new comment on a Confluence page.
HubSpot
1 event
- HubSpot ticket assignedDefault
hubspot.ticket.assigned
A HubSpot ticket is assigned to you.
Seeded task: “Take ownership of assigned HubSpot tickets”
Trello
2 events
- @mentioned on TrelloDefault
trello.mention
Someone @mentions you in a Trello card.
Seeded task: “Respond when @mentioned on Trello”
- Trello card assignedDefault
trello.assigned
You're added as a member of a Trello card.
Seeded task: “Pick up new Trello assignments”
Customising your triggers
The seeded defaults are a starting point, not a contract. Anything you see above with a Default badge can be:
- Paused from the agent’s Tasks tab if you want to keep the subscription but stop it from firing temporarily.
- Edited if you want to change the agent’s instructions (for example, “reply briefly and tag me in” instead of the default).
- Deleted outright if you don’t want the reaction at all.
Anything in the Opt-in column can be enabled by creating a new task in the agent’s Tasks tab and picking Reaction. The picker only lists events for tools the agent is actually connected to, so you won’t see options that can never fire.
Filters
Some events accept a filter so they only fire for matching cases. Two filters are exposed in the picker today:
- Sender domain.
internal_onlymeans the event only fires when the sender is on your company’s domain;external_onlyis the opposite. Used on Gmail, Calendar invites and Drive shares to separate teammate-initiated from outside-initiated. - Mention required. When true, the event only fires when the agent was explicitly @mentioned (used by Slack channel messages, Drive comments).
More filters land as we ship more integrations. For anything not covered today, the agent can read the event context in the task and act conditionally based on what it finds.
Planned integrations
Events from Microsoft 365 (Outlook, Teams, OneDrive), GitHub, Jira, Confluence, HubSpot, and Trello are listed as planned: the typed events are reserved in the catalogue so you can see what’s coming, but the receivers aren’t wired up yet. When we ship each integration, its safe defaults get added automatically and they show up on your agents’ Tasks tab the next time you connect.
Related
- Tasks & schedules — how the three task types work together
- Integrations — how to connect a tool so events start arriving
- Approval gates — why outbound actions still pause for review
Still stuck? Get in touch and a human will write back.