Appearance
App-event triggers β
An app-event trigger starts a routine (or a single agent) the moment something happens in an app you've connected β a payment lands in Stripe, an email arrives in Gmail, a task changes in ClickUp. It's the second kind of trigger: where a secret-link trigger waits for an outside service to call a URL you pasted somewhere, an app-event trigger watches the connected app for you β nothing to paste, nothing to configure in the other tool.
Setting one up is a sentence in chat:
When a payment comes in on Stripe, thank the customer and log the order in my revenue spreadsheet.
Your agent picks the matching event from the catalog below, asks for any detail it needs (which spreadsheet? which channel?), and the automation is live.
Cheat sheet β
| Thing | What it is |
|---|---|
| App-event trigger | "When X happens in this app, run Y." X is an event from the catalog below; Y is one of your routines (built-in or custom) or one of your agents. |
| The catalog | 57 events across 21 apps β everything an automation can react to today, listed below. You can also just ask your agent "what app events can you react to?" |
| Instant vs. checked periodically | Instant events reach your automation within moments of happening. Checked periodically events are picked up on a regular sweep β expect up to ~15 minutes of delay. Each event's kind is marked in the catalog. |
| Requirement | The app must be connected on your account. If it isn't, the agent offers to connect it right in the chat. |
| Everything else | Works exactly like any trigger: its own conversation, events wait in line, duplicates are dropped, and the same limits and self-protection apply. |
Setting one up β
Connect the app (once per account). If it's not connected yet, your agent shows a connect card right in the chat β or connect it yourself at Agents β Connectors.
Say what should happen. In a chat with your Personal Assistant (or any agent that can manage schedules):
When a new lead lands in HubSpot, run my lead-research routine.
When someone posts in our #support Slack channel, have my assistant summarize it and flag anything urgent.
Answer the follow-ups. Many events can be narrowed β which spreadsheet, which board, which repository β and some require that choice (you can't watch "all of Jira", you watch a project). The agent asks for what it needs.
Watch it work. Like every trigger, it gets its own conversation in your chats β each fire runs there, and you can ask "what has my trigger done lately?" any time.
Narrow it down while you create it
Most events take filters in plain language: "only emails with 'invoice' in the subject", "only the Billing label", "only cards moved into the Done column", "only issues labeled bug". Events that don't match are quietly skipped and don't cost anything.
The event catalog β
Every event an app-event trigger can react to, by app. Instant means the app pushes the event to us the moment it happens; checked periodically means we sweep for new events regularly β expect up to ~15 minutes of delay.
Email & calendar β
| App | Event | Fires when | Delivery |
|---|---|---|---|
| Gmail | New email received | An email arrives in the connected Gmail inbox. | Checked periodically |
| Gmail | Email sent | An email is sent from the connected Gmail account. | Checked periodically |
| Google Calendar | New event created | An event is added to the connected Google Calendar. | Checked periodically |
| Google Calendar | Event updated | An existing event changes in the connected Google Calendar. | Checked periodically |
| Google Calendar | Event starting soon | A calendar event is about to start (configurable lead time). | Checked periodically |
| Google Calendar | Event cancelled | An event is cancelled or deleted in the connected Google Calendar. | Checked periodically |
Documents, files & notes β
| App | Event | Fires when | Delivery |
|---|---|---|---|
| Google Docs | New document created | A document is created in the connected Google Docs account. | Checked periodically |
| Google Docs | Document updated | A document is edited in the connected Google Docs account. | Checked periodically |
| Google Sheets | New row added | A new row appears in the chosen spreadsheet. | Checked periodically |
| Google Sheets | Tracked row changed | A row you track (found by a search value) changes in the chosen spreadsheet. | Checked periodically |
| Google Drive | New file added | A file is added to the connected Google Drive. | Checked periodically |
| Google Drive | New comment on a document | Someone comments on a Google Doc, Sheet, or Slide in the connected Drive. | Checked periodically |
| OneDrive | New file added | A file is added to the connected OneDrive. | Checked periodically |
| OneDrive | File changed | A file's content or details change in the connected OneDrive. | Checked periodically |
| Notion | New page created | A page is created in the connected Notion workspace. | Instant |
| Notion | New comment added | Someone comments in the connected Notion workspace. | Instant |
| Notion | Page properties changed | A page's properties change in the connected Notion workspace β e.g. a database row's status. | Instant |
| Confluence | New page created | A page is created in the connected Confluence wiki. | Checked periodically |
| Confluence | Tracked page updated | A specific Confluence page you track is edited. | Checked periodically |
| Confluence | New comment on a tracked page | Someone comments on a specific Confluence page you track. | Checked periodically |
Team chat β
| App | Event | Fires when | Delivery |
|---|---|---|---|
| Slack | New channel message | Someone posts a message in a Slack channel the connected account can see. | Instant |
| Slack | New direct message | Someone sends the connected Slack account a direct message. | Instant |
| Slack | Reaction added to a message | Someone reacts to a Slack message with an emoji. | Instant |
| Discord | New channel message | Someone posts a message in the chosen Discord channel. | Checked periodically |
Sales, payments & marketing β
| App | Event | Fires when | Delivery |
|---|---|---|---|
| HubSpot | New contact created | A contact is created in the connected HubSpot account. | Instant |
| HubSpot | Deal moved to another stage | A deal changes stage in the connected HubSpot pipeline. | Instant |
| Pipedrive | New deal created | A deal is created in the connected Pipedrive account. | Instant |
| Pipedrive | New note added | A note is added in the connected Pipedrive account. | Instant |
| Pipedrive | New organization created | An organization is created in the connected Pipedrive account. | Instant |
| Stripe | Checkout completed | A customer completes a Stripe checkout and pays. | Instant |
| Stripe | Invoice paid | An invoice is paid in the connected Stripe account. | Instant |
| Stripe | Payment failed | A payment attempt fails in the connected Stripe account. | Instant |
| Stripe | New subscription started | A customer starts a subscription in the connected Stripe account. | Instant |
| Stripe | Subscription cancelled | A subscription is cancelled in the connected Stripe account. | Instant |
| Mailchimp | New subscriber joined | Someone subscribes to the chosen Mailchimp audience. | Instant |
| Mailchimp | Subscriber left | Someone unsubscribes from the chosen Mailchimp audience. | Instant |
Project & task trackers β
| App | Event | Fires when | Delivery |
|---|---|---|---|
| ClickUp | New task created | A task is created in the chosen ClickUp workspace. | Instant |
| ClickUp | Task status changed | A task's status changes in the chosen ClickUp workspace. | Instant |
| ClickUp | New comment on a task | Someone comments on a task in the chosen ClickUp workspace. | Instant |
| Jira | New issue created | An issue is created in the chosen Jira project. | Instant |
| Jira | Issue updated | An issue changes in the chosen Jira project β status, assignee, or any other field. | Instant |
| Linear | New issue created | An issue is created in the chosen Linear team. | Instant |
| Linear | Issue updated | An issue changes in the chosen Linear team β status, labels, assignee, or any other property. | Instant |
| Linear | New comment on an issue | Someone comments on an issue in the chosen Linear team. | Instant |
| Asana | New task created | A task is created in the chosen Asana project. | Instant |
| Asana | New comment on a task | Someone comments on a task in the chosen Asana project. | Instant |
| Asana | Task moved to a section | A task moves to a section (board column) in the chosen Asana project β Asana's stage change. | Instant |
| Trello | New card created | A card is created on the chosen Trello board. | Instant |
| Trello | Card archived | A card is archived on the chosen Trello board. | Instant |
| Trello | Tracked card changed | A specific Trello card you track changes. | Instant |
| GitHub | New issue opened | An issue is opened in the chosen GitHub repository. | Instant |
| GitHub | Pull request opened or closed | A pull request is opened, closed, or gets new commits in the chosen GitHub repository. | Instant |
| GitHub | New commit pushed | A commit is pushed to the chosen GitHub repository. | Instant |
| GitHub | Repository starred | Someone stars the chosen GitHub repository. | Instant |
| GitHub | Issue assigned to you | A GitHub issue is assigned to the connected account. | Checked periodically |
Customer support β
| App | Event | Fires when | Delivery |
|---|---|---|---|
| Zendesk | New ticket created | A support ticket is created in the connected Zendesk account. | Checked periodically |
| Zendesk | New user created | A user is created in the connected Zendesk account. | Instant |
Ideas to steal β
| You say | What you get |
|---|---|
| "When a payment comes in on Stripe, thank the customer by email and add a row to my revenue sheet." | Instant revenue log + a personal thank-you, hands-off |
| "When a new email arrives with 'invoice' in the subject, file the details in my expenses spreadsheet." | An inbox that does its own bookkeeping |
| "When a deal moves to Won in HubSpot, draft the kickoff message for my approval." | A sales-to-delivery handoff that never slips |
| "When someone opens an issue on my GitHub repo, triage it and label it." | A repo that greets every issue in seconds |
| "When a new row lands in my leads spreadsheet, run my lead-research routine." | A spreadsheet that works the leads itself |
| "Ten minutes before each calendar event, send me a Telegram brief on the attendees." | Walking into every meeting prepared |
Good to know β
- Same rules as every trigger. An app-event trigger keeps its own conversation, queues events while a run is busy, drops duplicates, counts toward the 10 triggers per account, and fires at most 12 times an hour β all covered in Triggers.
- "Checked periodically" is a sweep, not a push. For those events the app is checked on a regular cycle, so a fire can lag the real event by up to ~15 minutes. If seconds matter, prefer an app whose event is instant β or a secret-link trigger if the service can call a URL.
- Disconnecting an app pauses its triggers. If you disconnect the app (or its sign-in expires), its app-event triggers turn themselves off rather than failing silently. Reconnect the app, then ask the assistant to turn the trigger back on.
- Filters are free. Events that don't match your filter are skipped without starting a run β and skipped events don't cost anything.
- Managing them is the same chat. "What triggers do I have?", "pause my Stripe trigger", "what has it done lately?" β everything in Managing triggers applies unchanged.
FAQ β
My Gmail trigger fires late β is something broken? No β Gmail events are checked periodically, so a new email can take up to ~15 minutes to reach your automation. The catalog above marks which events are instant and which are swept.
Can I watch just one label / channel / board / repository? Yes β that's the normal way to use these. Say it while creating the trigger ("only the Billing label", "only the #support channel"). Some events require a choice like that: you watch a specific Jira project, Linear team, Asana project, Trello board, GitHub repository, ClickUp workspace, or Mailchimp audience β the agent asks if you didn't say.
The app I want isn't in the catalog. Two options: if the service can call a URL when something happens (most form builders, stores, and payment tools can), a secret-link trigger does the same job today. And you can request the app from the Connectors page β the catalog keeps growing.
Does the trigger see my whole account in that app? The trigger only watches for its one event. What the run can then do in the app is governed by the connector like any other agent work.
Try it β
- Make sure one of the catalog apps is connected β say "suggest apps I could connect for automations" and connect one right from the chat.
- Ask your Personal Assistant: "What app events can you react to for [that app]?"
- Create one: "When [event], run my Weekly business review routine."
- Cause the event (send yourself an email, star your repo, move a test card).
- Watch the trigger's conversation appear in your chats β then ask "what has that trigger done lately?" and "delete it" when you're done.
See also β
- Triggers β the shared mechanics: conversations, queueing, limits, self-protection
- Connectors cheat sheet β connecting the apps these events come from
- Routines and Custom routines β what a trigger starts
- Tasks & schedules β for jobs that should run on a clock instead of on an event
- Usage & billing β triggered runs bill like any other run