SynapSynapDocs

Event catalog

The event types automations can trigger on and webhooks deliver, generated from the event definitions.

For BuildersOpen-source podSynap CloudGenerated from Synap-core/backend@c31e261ab (main)

Generated from Synap-core/backend@c31e261ab (main): docs/reference/events.json. Do not edit this page; see scripts/generate-reference.mjs.

Every change on a pod is recorded as an event. This page lists the event types an automation trigger can name, which webhooks deliver and the event log returns.

Automation trigger patterns accept an exact type (entity.create.completed), an action wildcard (entity.create.*) or a subject wildcard (entity.*). Filter keys are the fields a trigger can match on; the pod's trigger picker shows them.

The backend also generates table-level event names ({table}.{action}.{phase}, for example entities.create.requested) for schema documentation and admin introspection. Automation triggers do not match those strings: use the types below.

29 event types in 16 domains.

Catalog

Entity

Event typeNameDescriptionFilter keys
entity.create.completedEntity createdFires after any entity is successfully created.profileSlug
entity.update.completedEntity updatedFires after any entity field or property is updated.profileSlug, changedKeys, changed.<fieldName>, previous.<fieldName>, <fieldName>
entity.transition.completedStatus changedFires when a thing's lifecycle status moves (the kind's own, or a role's), through the one moveStatus door.lifecycleProfile, profileSlug, role, property, from, to, fromCategory, category, actorKind
entity.delete.completedEntity deletedFires after an entity is permanently deleted.profileSlug

Focus sessions

Event typeNameDescriptionFilter keys
focus_session.stage_changed.completedPlaybook stage changedFires when a focus session advances to a different playbook stage.toStage, fromStage, playbookId

Tracks

Event typeNameDescriptionFilter keys
track.stage_changed.completedTrack stage changedFires when a project's track (a method it runs) moves to a different stage.toStage, fromStage, playbookId, projectId, trackId

Proposals

Event typeNameDescriptionFilter keys
proposal.created.completedProposal createdA new AI proposal is pending review.proposalStatus, targetType, changeType
proposal.approved.completedProposal approvedAn AI proposal was approved and applied.proposalStatus, targetType
proposal.rejected.completedProposal rejectedAn AI proposal was rejected.proposalStatus, targetType

Relations

Event typeNameDescriptionFilter keys
relation.create.completedRelation createdTwo entities were linked.relationType
relation.delete.completedRelation deletedA relation between entities was removed.relationType
Event typeNameDescriptionFilter keys
link.create.completedDependency declaredA unit of work was marked as blocked by (or replacing) another.linkType, fromType, toType
link.delete.completedDependency removedA blocked-by (or replaces) edge was removed.linkType, fromType, toType

Documents

Event typeNameDescriptionFilter keys
document.create.completedDocument createdFires after a document is created.profileSlug
document.update.completedDocument updatedFires after a document is updated.profileSlug

Capture

Event typeNameDescriptionFilter keys
capture.complete.completedCapture completedA capture finished processing.profileSlug

Commands

Event typeNameDescriptionFilter keys
command.execute.completedCommand executedFires after a command finishes execution.commandSlug

Connectors

Event typeNameDescriptionFilter keys
connector_sync.complete.completedConnector syncedA connection finished a sync run — once per connection per run. Data: provider, connectionId, syncStatus ('success' | 'error'), kinds (phase per kind), counts {fetched, created, merged, skipped}, proposalIds when the run filed an import for review.provider, syncStatus

Intelligence

Event typeNameDescriptionFilter keys
proactive.post.completedProactive postThe proactive AI posted a message into your channel.proactiveType

Notifications

Event typeNameDescriptionFilter keys
notification.created.completedNotification createdA notification was raised.notificationType, category

Messaging

Event typeNameDescriptionFilter keys
channel_message.created.completedChannel message createdA new message was posted into a Synap channel.channelId, messageRole
external_message.received.completedExternal message receivedAn inbound message arrived on a connected external channel.provider, channelId
messaging_account.created.completedMessaging account connectedA messaging account was connected.provider
messaging_account.reconnection_required.completedMessaging account needs reconnectionA messaging account requires reconnection.provider
messaging_account.disconnected.completedMessaging account disconnectedA messaging account was disconnected.provider

Feed

Event typeNameDescriptionFilter keys
feed.new_item.completedFeed new itemA new item appeared in the intelligence feed.feedArchetype, feedMinRelevanceScore

Inbox

Event typeNameDescriptionFilter keys
inbox_item.received.completedInbox item receivedA new item arrived from an external integration.sourceType
inbox_item.analyzed.completedInbox item analyzedAn inbox item was analyzed by the intelligence service.sourceType

Identity

Event typeNameDescriptionFilter keys
user.updated.completedUser updatedA user identity was updated.

System events

Internal events that are not automation triggers.

  • webhooks.deliver.requested

Naming grammar

Event types follow {subject}.{action}.{phase}.

  • Subjects (record changes): entity, document, workspace, view, relation, link, tag, project, proposal, message, user, role, apiKey, skill, agent, agentRun, chatThread, template, inboxItem, sharing, workspaceMember, projectMember
  • Actions: create, update, delete, archive, restore
  • Phases: requested, validated, completed, denied
  • Subjects whose action is a domain verb: command, external_channel, external_webhook, focus_session, hydration, inbox_item, messaging_account, notification, tool, connection_sync, track, entity_facet
  • Connector and system families: external_message, channel_message, connector_sync, capture, proactive, feed
  • Message alias patterns: message.received, message.received.*, message.sent, message.sent.*, message.*
  • Observation namespaces: dev, ci

On this page