Skip to main content
Guppy is event‑driven. All state changes are emitted as events. We recommend setting up webhooks to stay in sync with intent progress.

Event Types

  • intent.created: Intent has been successfully recorded.
  • intent.waiting: Conditions are not yet met (e.g., out of stock).
  • intent.executing: Guppy has started the execution flow.
  • execution.step_started: A specific action in the plan has started.
  • execution.step_failed: A step failed but may be retried.
  • execution.needs_user_action: Input (3DS, OTP) is required to proceed.
  • intent.succeeded: Intent goal has been achieved.
  • intent.failed: Intent has reached a terminal failure state.

Event Payload

{
  "event_id": "evt_123",
  "type": "intent.succeeded",
  "intent_id": "int_789",
  "timestamp": "2026-01-12T02:14:55Z",
  "data": {
    "merchant": "target",
    "total_charged_cents": 79999,
    "currency": "USD"
  }
}