Prerequisites
- A VantageClaw partner organization with a Partner API key issued to you. Keys are admin-provisioned in v1 — contact your VantageClaw representative if you don’t have one yet.
- A publicly reachable HTTPS URL for your handler. For local development, ngrok or Cloudflare Tunnel work well.
- Python 3.10+ or Node.js 18+ for the example handler.
Step 1 — Verify your key
Confirm your key is valid and check what scopes it carries:401, double-check the full token includes both halves separated by a dot.
Step 2 — Build a minimal webhook handler
This handler reads the raw body, verifies the signature, and returns 200. Save ashandler.py:
Step 3 — Subscribe to the test event
Expose your handler to the public internet. With ngrok:secret field — copy it now, it is shown only once:
id (wh_...) and the secret (whsec_...) — you’ll need both.
Step 4 — Start your handler with the secret
Serving HTTP on 0.0.0.0 port 8080.
Step 5 — Trigger the test event
The test endpoint requires you to echo back your stored secret in the request body. This is deliberate: VantageClaw does not cache your secret server-side after creation, so the only way to authorize a test is for you to prove you still hold it.200):
evt_ ID in your handler’s log matches the event_id in the test endpoint’s response — use this for trace correlation.
Step 6 — Confirm idempotency (optional but recommended)
Fire the same test twice and watch your handler. Both deliveries will have differentid values (each test invocation generates a fresh envelope ID), so a naive “dedupe on id” handler will process both.
In production, dedupe is most useful when the dispatcher retries after a network blip — the same envelope ID arrives twice. To test that scenario, deliberately reject the first delivery (return 500 from your handler for one request) and watch the retry arrive 60 seconds later with the same id. Your handler should recognize the duplicate and short-circuit.
What’s next
Integration test
The full production-readiness checklist.
Webhook security
Verification deep-dive, including Node.js reference code.