Skip to content

Automation triggers

Connect API calls fire automation events like any other write. The Connect API isn’t a separate event surface: the events below are the same ones a form submission or an ingress webhook produces, and they reach the same flows.

One difference is worth knowing up front. A lead created through the console UI does not fire table.entry.added — that event means “a lead arrived from outside”, and Connect counts as outside. So a Connect create triggers automations a manual create does not.

EndpointEvents fired
POST /connect/table_entries/table.entry.added
PATCH /connect/table_entries/:idtable.entry.leadState.changed (only when leadStateId changes)
POST /connect/calendar_bookings/calendar.appointment.booked (immediate), calendar.appointment.hasStarted (at start), calendar.appointment.hasEnded (at end)
DELETE /connect/calendar_bookings/:idcalendar.appointment.deleted (cancels pending hasStarted/hasEnded)

When a flow is triggered by a Connect API call, the run’s context carries:

  • apiTokenId — the token used for the request.
  • memberId — the member the token is attributed to, where the token has one.

Console-triggered events have apiTokenId: null and the actual memberId. Both surface in activityLogs and the run history view, so you can attribute side effects back to the integration that caused them.

Creating a lead always fires table.entry.added

Section titled “Creating a lead always fires table.entry.added”

There is no per-request switch. A create fires the arrival event whether it represents a genuinely new lead or a backfill, so an import triggers every automation listening for a new lead exactly as a real submission would.

If you are replaying history rather than reporting an arrival, disable the affected automations for the duration of the import, or import into a table no automation is bound to.