Skip to content

Add 147 doc-sourced samples for the verified-sources pilot (10 providers) - #68

Merged
garethx merged 2 commits into
mainfrom
feature/samples-verified-sources-pilot
Oct 21, 2026
Merged

garethx merged 2 commits into
mainfrom
feature/samples-verified-sources-pilot

Conversation

@garethx

@garethx garethx commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Requested by Gareth · project thread

Before: hookdeck/webhook-registry#100 (the verified-sources pilot, merged) added 11 provider rows and exported their doc examples to the registry's samples-doc/ tree. None of those providers had a directory here, so Console had no example webhooks for them.

After: 10 new provider directories with 147 doc-sourced samples. providers.json goes from 155 to 165 providers. Etsy has a registry row but no published example body, so it gets no directory. No existing file is changed.

Provider Samples Version dir topic_identifier
attio 34 latest events[].event_type
cal-com 26 2021-10-20 triggerEvent
clickup 28 latest event
line 3 latest events[].type
mux 1 latest type
quickbooks 1 latest [].type
reducto 1 latest null (no discriminator)
render 1 latest type
shippo 2 latest event
sumsub 50 latest type
Total 147

How: I copied samples-doc/providers/<p>/ from webhook-registry main (7e60bde1) into providers/, the same way #65 to #67 did. Nothing in this batch needed changing: every index.json and every sample file is byte-identical to the export. Each topic_identifier equals the registry row's discriminator path. I checked each one with a port of resolveTopic: it resolves to the file's topic in every sample except quickbooks and reducto (see below). Each file carries source.type: vendor-documentation and its page URL, and each version is marked sourced_via: docs. yarn compile passes (155 → 165 providers, compiled topic count equals file count for all 10). yarn test passes 14/14.

Worth a look:

  • quickbooks [].type: the body is a root-level JSON array. resolveTopic can't read a leading [], so a future capture would be filed as untitled-<hash>. I kept the accurate path, as sparkpost's [].msys.*.type did in feat: add 57 doc-sourced samples for aftership, circleci, docker-hub, grafana, snipcart, sparkpost + checkout Identity Verification #58.
  • reducto null: the registry records no discriminator (location: absent). This follows the docker-hub and deepgram convention, and the file's own topic names it.
  • cal-com version: the samples are filed under 2021-10-20, the payload version they were documented under (sent as x-cal-webhook-version). Cal.com also documents 2026-07-27, which is additive, but the vendor truncates that tab's examples, so none were exported. latest_version points at the directory that has data.
  • attio: only V2 (events[] envelope) bodies are included. The registry records V1 framing as undocumented.
  • etsy: registry row only, so no directory here.

Update (e4b88ce): resolveTopic now treats an empty name before [] as the current value, so [].type reads body[0].type from a root-level array. This adds two topic.test.ts cases and a row to the README's identifier table. quickbooks now resolves 1/1 (was 0/1), and helius in #70 resolves 1/1 once this merges. I re-ran every provider through the resolver, and quickbooks is the only count that changed. I didn't add the legacy QuickBooks path (eventNotifications[].dataChangeEvent.entities[].name): it resolves 0 of 1 sample, because the only published example is the CloudEvents array, so topic_identifier stays "[].type". yarn compile passes and yarn test passes 16/16.


Generated by Claude Code

Copied unchanged from hookdeck/webhook-registry samples-doc/ at 7e60bde1
(rows added in hookdeck/webhook-registry#100): attio, cal-com, clickup,
line, mux, quickbooks, reducto, render, shippo, sumsub. Etsy has a registry
row but no doc sample, so it gets no directory.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D7eqaQdKAUzQXRbGtym1PF
@garethx garethx self-assigned this Oct 21, 2026
An empty segment name before [] now means the current value, so "[].type"
reads body[0].type for a body that is itself an array. QuickBooks'
CloudEvents deliveries (and Helius') are root arrays, and their registry
discriminator "[].type" previously resolved to nothing, leaving a capture
as untitled-<hash>. Adds two topic.test.ts cases and a row to the README's
identifier table.

Across every provider in this branch, the only resolve count that changes
is quickbooks, from 0/1 to 1/1.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D7eqaQdKAUzQXRbGtym1PF
@vercel

vercel Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
webhook-samples Ready Ready Preview Oct 21, 2026 2:46pm UTC

Request Review

@garethx
garethx merged commit 68a259c into main Oct 21, 2026
3 checks passed
@garethx
garethx deleted the feature/samples-verified-sources-pilot branch October 21, 2026 15:16

This branch was successfully deployed

1 active deployment
Preview — e4b88ce9 Deployed Oct 21, 2026 by vercel[bot]
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.

2 participants