SnozeHelp
Reference

Automation event catalog

How trigger definitions, scope, refinements, prerequisites, latency, and produced payloads work, followed by every Snoze and provider event in the source catalog.

The Event trigger picker is built from a live TriggerCatalog, not from a fixed list in the interface. Snoze-native definitions are always present. Provider definitions are usable only when the workspace has the corresponding provider connected. A disconnected provider appears as a prerequisite with its source, reason, and optional setup link so the option is discoverable without pretending it can run.

Reading a trigger definition

Each TriggerDefinition contains:

  • id: the stable machine event saved as definitionId.
  • source and sourceLabel: who emitted it and the readable provider name.
  • subject and verb: the phrase shown in the picker.
  • description, keywords, and latency: what starts it, how to find it, and whether it is instant or polled.
  • scope: provider resources that must be selected before publication. Every scope field has a key, label, resource type, required flag, optional parent dependency, and exact path where that resource appears in the payload.
  • refinements: optional catalogue-owned narrowing controls, such as selected labels. Each points to a produced field and records its value kind.
  • produces: a labelled object shape. The expression picker uses that shape to offer paths into the trigger payload to later nodes.

Scope is required whenever the definition declares required scope. It is stored as labelled ResourceRef values and used by the subscription index, so an event outside that repository, server, channel, database, form, or other resource does not wake the Automation. Refinements narrow a matched event. Additional trigger predicates run against the produced payload after matching.

The catalog can change as connections are added or removed. A published Automation retains readable labels in its scope, but it cannot receive a provider event while the required connection or subscription is unavailable.

Snoze-native events

This section is generated from the integration trigger registry. Every entry names its saved event ID, subscription scope, refinements, delivery latency, and exact produced paths.

Records created event:database.record.created

Records created. It is delivered immediately.

  • Scope: database (snoze.database; required; payload path databaseId).
  • Refinements: None.
  • Produced payload: Database record: databaseId (text), title (text), patch (object) { title (text), data (object) { }, archived (boolean) }, changedFields (list).

Records updated event:database.record.updated

Records updated. It is delivered immediately.

  • Scope: database (snoze.database; required; payload path databaseId).
  • Refinements: changedFields narrows changedFields (multi_select, multiple).
  • Produced payload: Database record: databaseId (text), title (text), patch (object) { title (text), data (object) { }, archived (boolean) }, changedFields (list), previous (object) { title (text), data (object) { }, archived (boolean) }.

Records deleted event:database.record.deleted

Records deleted. It is delivered immediately.

  • Scope: database (snoze.database; required; payload path databaseId).
  • Refinements: None.
  • Produced payload: Deleted record: databaseId (text), title (text).

Records commented event:database.record.commented

Records commented. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Records: value (unknown).

Records comment deleted event:database.record.comment_deleted

Records comment deleted. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Records: value (unknown).

Databases created event:database.created

Databases created. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Databases: value (unknown).

Databases updated event:database.updated

Databases updated. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Databases: value (unknown).

Databases deleted event:database.deleted

Databases deleted. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Databases: value (unknown).

Databases synced event:database.records.synced

Databases synced. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Databases: value (unknown).

Databases created event:database.field.created

Databases created. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Databases: value (unknown).

Databases updated event:database.field.updated

Databases updated. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Databases: value (unknown).

Databases deleted event:database.field.deleted

Databases deleted. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Databases: value (unknown).

Databases created event:database.view.created

Databases created. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Databases: value (unknown).

Databases updated event:database.view.updated

Databases updated. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Databases: value (unknown).

Databases deleted event:database.view.deleted

Databases deleted. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Databases: value (unknown).

Calendar created event:calendar.event.created

Calendar created. It is delivered immediately.

  • Scope: calendar (snoze.calendar; required; payload path calendarId).
  • Refinements: None.
  • Produced payload: Calendar update: calendarId (text), event (object) { schemaVersion (number), id (text), title (text), description (rich_text), location (text), allDay (boolean), startsAt (date), endsAt (date), startDate (date), endDate (date), timeZone (text), status (status), visibility (select), attendees (list) { displayName (text), email (email), responseStatus (status) }, links (list) { label (text), url (url) }, createdAt (date), updatedAt (date) }.

Calendar updated event:calendar.event.updated

Calendar updated. It is delivered immediately.

  • Scope: calendar (snoze.calendar; required; payload path calendarId).
  • Refinements: None.
  • Produced payload: Calendar update: calendarId (text), event (object) { schemaVersion (number), id (text), title (text), description (rich_text), location (text), allDay (boolean), startsAt (date), endsAt (date), startDate (date), endDate (date), timeZone (text), status (status), visibility (select), attendees (list) { displayName (text), email (email), responseStatus (status) }, links (list) { label (text), url (url) }, createdAt (date), updatedAt (date) }.

Calendar cancelled event:calendar.event.cancelled

Calendar cancelled. It is delivered immediately.

  • Scope: calendar (snoze.calendar; required; payload path calendarId).
  • Refinements: None.
  • Produced payload: Calendar update: calendarId (text), event (object) { schemaVersion (number), id (text), title (text), description (rich_text), location (text), allDay (boolean), startsAt (date), endsAt (date), startDate (date), endDate (date), timeZone (text), status (status), visibility (select), attendees (list) { displayName (text), email (email), responseStatus (status) }, links (list) { label (text), url (url) }, createdAt (date), updatedAt (date) }.

Calendar starting event:calendar.event.starting

Calendar starting. It is delivered immediately.

  • Scope: calendar (snoze.calendar; required; payload path calendarId).
  • Refinements: None.
  • Produced payload: Calendar update: calendarId (text), event (object) { schemaVersion (number), id (text), title (text), description (rich_text), location (text), allDay (boolean), startsAt (date), endsAt (date), startDate (date), endDate (date), timeZone (text), status (status), visibility (select), attendees (list) { displayName (text), email (email), responseStatus (status) }, links (list) { label (text), url (url) }, createdAt (date), updatedAt (date) }.

Data source created event:data_source.created

Data source created. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Data source: value (unknown).

Data source updated event:data_source.updated

Data source updated. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Data source: value (unknown).

Data source deleted event:data_source.deleted

Data source deleted. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Data source: value (unknown).

Data source started event:data_source.run.started

Data source started. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Data source: value (unknown).

Data source completed event:data_source.run.completed

Data source completed. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Data source: value (unknown).

Data source failed event:data_source.run.failed

Data source failed. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Data source: value (unknown).

File created event:file.created

File created. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: File: value (unknown).

File deleted event:file.deleted

File deleted. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: File: value (unknown).

File access key rotated event:file.access_key_rotated

File access key rotated. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: File: value (unknown).

File orphan deleted event:file.orphan_deleted

File orphan deleted. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: File: value (unknown).

File created event:file.share_link.created

File created. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: File: value (unknown).

File revoked event:file.share_link.revoked

File revoked. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: File: value (unknown).

Action created event:action.created

Action created. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Action: value (unknown).

Action updated event:action.updated

Action updated. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Action: value (unknown).

Action deleted event:action.deleted

Action deleted. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Action: value (unknown).

Action started event:action.run.started

Action started. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Action: value (unknown).

Action completed event:action.run.completed

Action completed. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Action: value (unknown).

Action failed event:action.run.failed

Action failed. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Action: value (unknown).

Page created event:surface.created

Page created. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Page: value (unknown).

Page updated event:surface.updated

Page updated. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Page: value (unknown).

Page deleted event:surface.deleted

Page deleted. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Page: value (unknown).

Page updated event:surface.block.updated

Page updated. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Page: value (unknown).

Workspace created event:workspace.created

Workspace created. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Workspace: value (unknown).

Workspace updated event:workspace.updated

Workspace updated. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Workspace: value (unknown).

Workspace deleted event:workspace.deleted

Workspace deleted. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Workspace: value (unknown).

Workspace created event:workspace.item.created

Workspace created. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Workspace: value (unknown).

Workspace updated event:workspace.item.updated

Workspace updated. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Workspace: value (unknown).

Workspace deleted event:workspace.item.deleted

Workspace deleted. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Workspace: value (unknown).

Member or invite updated event:workspace.member.updated

Member or invite updated. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Member or invite: value (unknown).

Member or invite removed event:workspace.member.removed

Member or invite removed. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Member or invite: value (unknown).

Member or invite accepted event:workspace.invite.accepted

Member or invite accepted. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Member or invite: value (unknown).

Member or invite updated event:workspace.invite.updated

Member or invite updated. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Member or invite: value (unknown).

Member or invite revoked event:workspace.invite.revoked

Member or invite revoked. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Member or invite: value (unknown).

Connection created event:connection.created

Connection created. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Connection: value (unknown).

Connection deleted event:connection.deleted

Connection deleted. It is delivered immediately.

  • Scope: None.
  • Refinements: None.
  • Produced payload: Connection: value (unknown).

Connected-provider events

These are all provider event definitions currently implemented by the source registry, generated with GitHub, Discord, and Slack enabled so the reference is complete. A real workspace receives only the definitions for providers it has connected; the rest are catalog prerequisites.

Pull request is opened event:github.pull_request.opened

Pull request is opened. It is delivered immediately.

  • Scope: repository (github.repository; required; payload path repository.full_name).
  • Refinements: labels narrows labels (multi_select, multiple); author narrows author (person).
  • Produced payload: Pull request or issue: action (text), pull_request (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, issue (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, repository (object) { name (text), full_name (text), html_url (url) }, sender (object) { login (text) }.

Pull request is closed event:github.pull_request.closed

Pull request is closed. It is delivered immediately.

  • Scope: repository (github.repository; required; payload path repository.full_name).
  • Refinements: labels narrows labels (multi_select, multiple); author narrows author (person).
  • Produced payload: Pull request or issue: action (text), pull_request (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, issue (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, repository (object) { name (text), full_name (text), html_url (url) }, sender (object) { login (text) }.

Pull request is reopened event:github.pull_request.reopened

Pull request is reopened. It is delivered immediately.

  • Scope: repository (github.repository; required; payload path repository.full_name).
  • Refinements: labels narrows labels (multi_select, multiple); author narrows author (person).
  • Produced payload: Pull request or issue: action (text), pull_request (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, issue (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, repository (object) { name (text), full_name (text), html_url (url) }, sender (object) { login (text) }.

Pull request gets new commits event:github.pull_request.synchronize

Pull request gets new commits. It is delivered immediately.

  • Scope: repository (github.repository; required; payload path repository.full_name).
  • Refinements: labels narrows labels (multi_select, multiple); author narrows author (person).
  • Produced payload: Pull request or issue: action (text), pull_request (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, issue (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, repository (object) { name (text), full_name (text), html_url (url) }, sender (object) { login (text) }.

Pull request is ready for review event:github.pull_request.ready_for_review

Pull request is ready for review. It is delivered immediately.

  • Scope: repository (github.repository; required; payload path repository.full_name).
  • Refinements: labels narrows labels (multi_select, multiple); author narrows author (person).
  • Produced payload: Pull request or issue: action (text), pull_request (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, issue (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, repository (object) { name (text), full_name (text), html_url (url) }, sender (object) { login (text) }.

Pull request has a review requested event:github.pull_request.review_requested

Pull request has a review requested. It is delivered immediately.

  • Scope: repository (github.repository; required; payload path repository.full_name).
  • Refinements: labels narrows labels (multi_select, multiple); author narrows author (person).
  • Produced payload: Pull request or issue: action (text), pull_request (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, issue (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, repository (object) { name (text), full_name (text), html_url (url) }, sender (object) { login (text) }.

Issue is opened event:github.issue.opened

Issue is opened. It is delivered immediately.

  • Scope: repository (github.repository; required; payload path repository.full_name).
  • Refinements: labels narrows labels (multi_select, multiple); author narrows author (person).
  • Produced payload: Pull request or issue: action (text), pull_request (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, issue (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, repository (object) { name (text), full_name (text), html_url (url) }, sender (object) { login (text) }.

Issue is closed event:github.issue.closed

Issue is closed. It is delivered immediately.

  • Scope: repository (github.repository; required; payload path repository.full_name).
  • Refinements: labels narrows labels (multi_select, multiple); author narrows author (person).
  • Produced payload: Pull request or issue: action (text), pull_request (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, issue (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, repository (object) { name (text), full_name (text), html_url (url) }, sender (object) { login (text) }.

Issue is reopened event:github.issue.reopened

Issue is reopened. It is delivered immediately.

  • Scope: repository (github.repository; required; payload path repository.full_name).
  • Refinements: labels narrows labels (multi_select, multiple); author narrows author (person).
  • Produced payload: Pull request or issue: action (text), pull_request (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, issue (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, repository (object) { name (text), full_name (text), html_url (url) }, sender (object) { login (text) }.

Pull request or issue is commented on event:github.issue.created

Pull request or issue is commented on. It is delivered immediately.

  • Scope: repository (github.repository; required; payload path repository.full_name).
  • Refinements: labels narrows labels (multi_select, multiple); author narrows author (person).
  • Produced payload: Pull request or issue: action (text), pull_request (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, issue (object) { title (text), number (number), state (status), draft (boolean), body (rich_text), html_url (url), user (object) { login (text), html_url (url) }, labels (list), created_at (date) }, repository (object) { name (text), full_name (text), html_url (url) }, sender (object) { login (text) }.

Message is posted event:discord.message.created

Message is posted in Discord. It is delivered immediately.

  • Scope: server (discord.guild; required; payload path guildId); channel (discord.channel; optional; payload path object.channel_id).
  • Refinements: None.
  • Produced payload: Discord message: object (object) { content (rich_text), author (object) { username (text), global_name (text), id (text), bot (boolean) }, mentions (list), attachments (list), id (text), channel_id (text), timestamp (date) }, guildId (text).

Message is edited event:discord.message.updated

Message is edited in Discord. It is delivered immediately.

  • Scope: server (discord.guild; required; payload path guildId); channel (discord.channel; optional; payload path object.channel_id).
  • Refinements: None.
  • Produced payload: Discord message: object (object) { content (rich_text), author (object) { username (text), global_name (text), id (text), bot (boolean) }, mentions (list), attachments (list), id (text), channel_id (text), timestamp (date) }, guildId (text).

Reaction is added event:discord.reaction.added

Reaction is added in Discord. It is delivered immediately.

  • Scope: server (discord.guild; required; payload path guildId); channel (discord.channel; optional; payload path object.channel_id).
  • Refinements: None.
  • Produced payload: Discord message: object (object) { content (rich_text), author (object) { username (text), global_name (text), id (text), bot (boolean) }, mentions (list), attachments (list), id (text), channel_id (text), timestamp (date) }, guildId (text).

Thread is created event:discord.thread.created

Thread is created in Discord. It is delivered immediately.

  • Scope: server (discord.guild; required; payload path guildId).
  • Refinements: None.
  • Produced payload: Discord message: object (object) { content (rich_text), author (object) { username (text), global_name (text), id (text), bot (boolean) }, mentions (list), attachments (list), id (text), channel_id (text), timestamp (date) }, guildId (text).

Member joins event:discord.member.joined

Member joins in Discord. It is delivered immediately.

  • Scope: server (discord.guild; required; payload path guildId).
  • Refinements: None.
  • Produced payload: Discord message: object (object) { content (rich_text), author (object) { username (text), global_name (text), id (text), bot (boolean) }, mentions (list), attachments (list), id (text), channel_id (text), timestamp (date) }, guildId (text).

Message is posted event:slack.message.created

Message is posted in Slack. It is delivered immediately.

  • Scope: channel (slack.channel; required; payload path event.channel).
  • Refinements: None.
  • Produced payload: Slack message: event (object) { text (rich_text), user (text), channel (text), ts (text), thread_ts (text), reaction (text) }.

Message is edited event:slack.message.updated

Message is edited in Slack. It is delivered immediately.

  • Scope: channel (slack.channel; required; payload path event.channel).
  • Refinements: None.
  • Produced payload: Slack message: event (object) { text (rich_text), user (text), channel (text), ts (text), thread_ts (text), reaction (text) }.

Reaction is added event:slack.reaction.added

Reaction is added in Slack. It is delivered immediately.

  • Scope: channel (slack.channel; required; payload path event.item.channel).
  • Refinements: None.
  • Produced payload: Slack message: event (object) { text (rich_text), user (text), channel (text), ts (text), thread_ts (text), reaction (text) }.

App is mentioned event:slack.app.mentioned

App is mentioned in Slack. It is delivered immediately.

  • Scope: channel (slack.channel; required; payload path event.channel).
  • Refinements: None.
  • Produced payload: Slack message: event (object) { text (rich_text), user (text), channel (text), ts (text), thread_ts (text), reaction (text) }.

Produced values downstream

Use a path expression with source: trigger and a path from the entry’s Produced payload. Object and list fields may expose a nested shape. The shape describes readable tokens, not a guarantee that every optional provider value is present on every event. Use exists, is_empty, or coalesce before depending on optional data.

For Manual, Schedule, and Webhook trigger configuration, node outputs, and the expression language, see Automation triggers, nodes, and expressions.

More in Reference

  • Choosing a workspace surfaceChoose between a page, database, dashboard, canvas, view, form, folder, or file when you create workspace content.
  • Workspace item and surface typesEvery kind of item in the workspace tree, which kinds are surfaces, what they open, and where they can nest.
  • Every field typeAll 25 database field kinds, their stored values, settings, defaults, and behaviour in views and automations.
  • Every database view typeTable, list, board, gallery, calendar, timeline, and chart views, including their required fields and saved settings.
  • Filtering recordsEvery view filter operator, its value shape, the field kinds that accept it, and relative date resolution.

Still stuck? Ask the assistant inside Snoze, it reads this same page. Or write tohello@snoze.dev.

Esc

Type to search the help center.