Skip to content

feat(webhooks): recognize webhook.setup verification event#31

Merged
sandervanhooft merged 1 commit into
mainfrom
feat/webhook-setup-event
May 30, 2026
Merged

feat(webhooks): recognize webhook.setup verification event#31
sandervanhooft merged 1 commit into
mainfrom
feat/webhook-setup-event

Conversation

@sandervanhooft
Copy link
Copy Markdown
Member

What

Vatly sends a signed endpoint verification ("setup") call when a webhook endpoint is registered or its URL changes. It is now delivered as a standard WebhookEvent envelope (eventName: webhook.setup, entityType: webhook) instead of a bespoke {message, testmode} body.

This lets the SDK parse it through Webhook::parse() like any other event — no special-casing, no polymorphic return type. Receivers simply acknowledge it with a 2xx and take no action.

Changes

  • Add WebhookEventName::WEBHOOK_SETUP (webhook.setup).
  • Document the event in docs/Webhooks.md (it's a normal event; just 2xx-ack it).
  • Test that a setup envelope parses to a normal WebhookPayload.

Notes

  • parse() itself needed no change — it already returns a single WebhookPayload and validates the standard required fields.
  • This supersedes PR feat: implement webhook setup call parsing and response handling #30 (which patched the receiver with a dedicated WebhookSetupCallPayload); fixing the wire format at the source is cleaner.
  • Pairs with the vatlify change that emits this envelope.

🤖 Generated with Claude Code

Vatly's webhook endpoint verification ("setup") call is now delivered as a
standard WebhookEvent envelope (eventName `webhook.setup`, entityType `webhook`)
rather than a bespoke body, so it parses through `Webhook::parse()` like any
other event — no special-casing on the receiver.

- Add `WebhookEventName::WEBHOOK_SETUP`
- Document the event + that receivers should simply 2xx-ack it
- Test that the setup envelope parses to a normal WebhookPayload

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sandervanhooft sandervanhooft merged commit c36bc0b into main May 30, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant