Skip to main content
This page shows practical, end-to-end examples of how a partner would integrate Guppy for various workflows. Each example follows the same pattern:
  • Create an intent with objective + conditions + guardrails
  • Listen for events (webhook)
  • If needed, handle user action required
  • Read the result (and optionally fetch receipt/proof)

Example 1: Buy an item across retailers (below price by date)

Goal: “Buy PS5 Pro if it’s in stock at Target/BestBuy/Walmart for under $800, any time before Feb 1.”

Step 1 - Resolve product (no URLs)

Pick a product_id from the returned candidates (optionally confirm with the user).

Step 2 - Create intent

Typical event sequence

If checkout requires an OTP/3DS confirmation:
Partner prompts the user, then resumes:
Finally:

Example 2: Restaurant reservation (watch cancellations)

Goal: “Table for 4 Fri or Sat between 7–9pm. Watch cancellations. Give up if not confirmed by Thursday.”

Step 1 - Resolve venue (no URLs)

Pick a venue_id (and provider) from the returned candidates.

Step 2 - Create intent


Example 3: Passport / DMV appointment (earliest slot within 30 miles)

Goal: “Book the earliest appointment within 30 miles. Keep watching cancellations until booked.”

Step 1 - Resolve facilities (no URLs)

Pick a facility_id from the returned candidates.

Step 2 - Create intent

What the partner app does

  • Listen for execution.needs_user_action to collect missing identity fields or confirmations.
  • Once intent.succeeded arrives, show the user the booked slot.
  • Optionally fetch proof:

Example 4: SMB replenishment (avoid double ordering, net terms)

Goal: “Reorder when inventory < 10. Net-30 only.”

Create intent

What the partner app does

  • De-dupe create calls with Idempotency-Key so a retry can’t create duplicate orders.
  • Use webhook events to update internal order state (pending → executing → succeeded).
  • On success, fetch receipt/proof for accounting:

Integration checklist (what you build on your side)

  • API client: call POST /intents, GET /intents/{id}, POST /intents/{id}/cancel, POST /intents/{id}/resume
  • Webhook receiver: store event_id for de-duplication and update intent state
  • User-action UI: handle execution.needs_user_action and call resume
  • Receipt storage: download/store proof artifacts when needed (support, disputes, compliance)