Skip to main content

Execution history

Every time the bot executes an action on behalf of a visitor (a form submission, a mailto dispatch, a booking prefill), a row is written to action_executions. This table is the source of truth for "did my bot actually deliver that contact form message?"

List recent executions

curl https://api.mimicbot.app/api/bots/{botId}/actions/executions \
-H "Authorization: Bearer $MIMICBOT_TOKEN"

The endpoint returns the most recent executions across every action on the bot, newest first. Pass ?limit=N (max 100) to tune the page size.

The row shape

Each execution row captures:

  • id — unique execution ID
  • actionId — which action was invoked
  • actionLabel — human label from the action definition
  • actionKind — matches the action's BotActionKind (for example contact_form, newsletter)
  • visitorId — anonymous per-visitor identifier
  • resultpending, success, failure, cancelled, or expired
  • error — human-readable error if result is failure
  • createdAt / completedAt — timestamps for submission and final state

On the underlying row, a contactMetadata JSONB blob carries deliveryStatus, deliveryMethod, signalSource, and timing for form replays — useful when debugging why a submission silently failed.

Debugging failed executions

For a row with result: failure or a contact_form row whose contactMetadata.signalSource is timeout, see the Form replay debugging checklist — it walks through the three-layer submission strategy and the common reasons replay falls back.

Next

→ Form replay