Skip to content

Event

Trigger · Stable

Run automatically when an internal platform event fires.

Fires when the platform dispatches a named internal event (e.g. invoice_created, contact_updated). The event’s payload keys are injected into the run context. Use to react to platform-native state changes without polling. The flow runs shortly after the event, not inside it: the event is queued once whatever caused it is saved, and the flow starts on its own a moment later, so a slow flow never holds up the step or page that fired the event.

Use when you want to react within seconds to something that happened inside the platform — a new invoice, a stage change, an entity update. The event payload keys (e.g. contact_id, amount) are ready to use by the next step without any extra lookup. Safe for slow work such as an agent: the flow that fired the event does not wait for this one.

If the signal comes from outside (an HTTP call from a third-party service), use Webhook instead. For time-based triggers use Schedule (Cron); for email-initiated runs use Incoming email. To react to a document, email or note landing in memory, use Something lands in memory, not the memory.item.annotated event: it filters by where the document came from and its file type before a run exists, where the raw event runs the flow on every item. Heads-up: a run from this trigger has no signed-in user, so {{ user.* }} and {{ actor.* }} are empty. Bind any recipient or owner — a send_email to, a deal owner_actor_id, a task assigned_to — to a concrete email or actor_id, never {{ user.* }}; or collect it at run time with an Ask-a-person step.

string · required

The exact internal event name to react to — must match a name the platform actually dispatches (see core/events/registry.py), not a free-form label. Case-sensitive, no wildcards.

Example: invoice_created

  • ✓ invoice_created — fires when a new invoice is recorded
  • ✓ contact_updated — fires on any contact field change
  • ✗ Invoice Created — not the registered event name — spacing/casing must match the registry exactly or the trigger never fires

Auto-generated from the skill registry (load_skills()). Do not edit by hand.