-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvendors.yaml
More file actions
354 lines (320 loc) · 14.3 KB
/
Copy pathvendors.yaml
File metadata and controls
354 lines (320 loc) · 14.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# SaaS webhook event catalog — v1 vendor list (30 vendors)
#
# Tier 1 (10): bespoke manual extractors. Vendor has stable, structured docs (single canonical
# page or well-formed reference site) where a targeted scraper + parser can reliably extract
# every event + its payload schema with high confidence.
#
# Tier 2 (20): LLM-assisted extraction. Docs are unstructured prose, scattered across multiple
# pages, or rendered client-side. The pipeline fetches each docs page, feeds it to an LLM with
# a strict JSON output schema, and pins the result with a confidence score that gates inclusion.
#
# selection criteria for v1:
# - team-ops category (collaboration, dev tools, payments, support, ATS, CRM, HRIS)
# - public webhook docs (no NDA / paywall)
# - non-trivial event count (≥5 distinct event types) so the dataset stays useful per-vendor
# - active product (signals: recent docs updates, active changelog within last 6 months)
#
# fields:
# slug — kebab-case identifier, used in URLs and as the row's `vendor` field
# display_name — human-readable name
# category — high-level grouping for the companion site index page facets
# tier — 1 (manual extractor) | 2 (llm-assisted)
# docs_url — canonical docs entry point. extractors start here.
# notes — scope warnings, scraping strategy flags, decisions deferred to sub 1.5
#
# decisions deferred to sub 1.5 (vendor-scope) are flagged in `notes` with `DECISION:` prefix.
tier_1:
- slug: slack
display_name: Slack
category: collaboration
tier: 1
docs_url: https://docs.slack.dev/reference/events
notes: |
Events API is the canonical webhook surface. Each event has a dedicated docs page under
/events/<event_name>/ with structured payload schema in a sidebar. Scraper iterates the
index page, follows per-event links, parses the schema block.
DECISION (sub 1.5): include only Events API. Exclude legacy outgoing webhooks (deprecated)
and Slash Commands (request/response, not event-driven).
- slug: github
display_name: GitHub
category: dev-tools
tier: 1
docs_url: https://docs.github.com/en/webhooks/webhook-events-and-payloads
notes: |
Single canonical page listing every webhook event with full payload examples and field
tables. HTML structure is consistent (each event is an h2 with field tables underneath).
Custom HTML parser. High extraction confidence expected.
DECISION (sub 1.5): include core webhooks (repository/org/app). Exclude GitHub Actions
workflow_run details (sub-events that overlap and bloat the catalog).
- slug: stripe
display_name: Stripe
category: payments
tier: 1
docs_url: https://docs.stripe.com/api/events/types
notes: |
Largest single-vendor event surface in the catalog (~250 event types). Single canonical
page lists every event_type with one-line trigger description. Payload schemas live on
separate `Event object` and resource-object pages and must be joined by resource name.
DECISION (sub 1.5): include all event_types. Schema field uses the resource object schema
from /api/<resource> docs, not example payloads. Skip Stripe Connect-only events from v1
and flag for v2 (separate noisy surface).
- slug: hubspot
display_name: HubSpot
category: crm
tier: 1
docs_url: https://developers.hubspot.com/docs/api/webhooks
notes: |
Webhooks subscribe to object events (contact.creation, deal.propertyChange, etc.). Event
list is enumerable from a single subscriptions reference page; payload schema is uniform
across event types (same envelope) so schema extraction is one-shot, then per-event rows
are generated by enumerating object types × event triggers.
DECISION (sub 1.5): include CRM object webhooks. Exclude CMS webhooks (separate product,
separate docs surface, low overlap with team-ops audience).
- slug: linear
display_name: Linear
category: dev-tools
tier: 1
docs_url: https://linear.app/developers/webhooks
notes: |
Webhook docs are tight and well-structured. Event types are enumerable (Issue, Comment,
Project, Cycle, Reaction, ProjectUpdate). Payload schema follows Linear's GraphQL types
which are introspectable. Extractor can join docs prose with GraphQL schema introspection
for high-confidence rows.
- slug: notion
display_name: Notion
category: collaboration
tier: 1
docs_url: https://developers.notion.com/reference/webhooks
notes: |
Webhooks reference page enumerates event types with payload examples. Structured docs.
Smaller surface (~15 event types). Manual extractor straightforward.
- slug: calendly
display_name: Calendly
category: scheduling
tier: 1
docs_url: https://developer.calendly.com/api-docs/d7755e2f9e5fe-webhook-subscriptions
notes: |
Webhook events documented in API reference. Small but high-intent surface (invitee.created,
invitee.canceled, etc.). Schema extracted from event object reference.
- slug: intercom
display_name: Intercom
category: support
tier: 1
docs_url: https://developers.intercom.com/docs/references/webhooks/webhook-models/
notes: |
Webhook models page lists each topic with example payload + schema notes. Topic naming is
consistent (conversation.user.created, contact.tag.created, etc.) and enumerable from a
single docs page.
- slug: zendesk
display_name: Zendesk
category: support
tier: 1
docs_url: https://developer.zendesk.com/api-reference/webhooks/event-types/event-type-list/
notes: |
Event types list page is the canonical surface. Each event type links to a per-event
payload schema page. Two-step crawl: enumerate index, fetch each child.
- slug: salesforce
display_name: Salesforce
category: crm
tier: 1
docs_url: https://developer.salesforce.com/docs/atlas.en-us.api_streaming.meta/api_streaming/intro_stream.htm
notes: |
Salesforce uses Platform Events + Change Data Capture + Outbound Messages; there is no
single "webhooks" surface like Stripe or Slack. Each of those mechanisms has its own docs
tree.
DECISION (sub 1.5): include Platform Events catalog (standard events shipped by SF) and
Change Data Capture standard objects. Exclude Outbound Messages (SOAP, legacy, low intent)
and per-org custom Platform Events (not enumerable from public docs). Tier this vendor at
1 because the standard-event surface is enumerable from a single docs page; custom events
are explicitly out of v1 scope.
tier_2:
- slug: asana
display_name: Asana
category: collaboration
tier: 2
docs_url: https://developers.asana.com/docs/webhooks
notes: |
Webhook events documented in prose. Payload structure documented via generic "resource"
shape. LLM extraction with confidence gate.
- slug: jira
display_name: Jira (Cloud)
category: dev-tools
tier: 2
docs_url: https://developer.atlassian.com/cloud/jira/platform/webhooks/
notes: |
Atlassian docs are sprawling. Event list is in a sidebar; payload schemas are scattered
across multiple linked pages and overlap with Jira REST API resource docs.
DECISION (sub 1.5): Jira Cloud only. Server/Data Center webhooks are a separate product
with different event surface — exclude from v1.
- slug: microsoft-teams
display_name: Microsoft Teams
category: collaboration
tier: 2
docs_url: https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/what-are-webhooks-and-connectors
notes: |
MS Learn docs are deeply nested. Outgoing webhooks, incoming webhooks, and Graph
change notifications are three separate mechanisms.
DECISION (sub 1.5): include Graph change notifications for Teams resources only (chats,
messages, channels). Exclude outgoing/incoming webhook templates (those are user-defined,
not platform events).
- slug: discord
display_name: Discord
category: collaboration
tier: 2
docs_url: https://discord.com/developers/docs/topics/gateway-events
notes: |
Gateway events are sent over a websocket, not classic HTTP webhooks. Document them anyway
since the row schema accommodates `delivery: websocket` and the developer-search intent is
identical ("what events does discord emit"). Also document interaction webhooks separately.
DECISION (sub 1.5): include Gateway events AND interaction webhooks. Mark `delivery` per
row.
- slug: pagerduty
display_name: PagerDuty
category: ops
tier: 2
docs_url: https://developer.pagerduty.com/docs/db0fa8c8984fc-overview
notes: |
Webhook v3 docs enumerate event types with payload examples. Reasonably structured but
prose-heavy; LLM extraction will outperform a custom parser.
- slug: clickup
display_name: ClickUp
category: collaboration
tier: 2
docs_url: https://clickup.com/api/developer-portal/webhooks/
notes: |
Webhook docs list events in a single page but payload schemas are sparse in docs (often
"see object reference"). LLM with extraction-confidence gate.
- slug: greenhouse
display_name: Greenhouse
category: ats
tier: 2
docs_url: https://developers.greenhouse.io/webhooks.html
notes: |
Webhook docs page lists each event with full payload examples in prose. LLM extraction
with verification against the Harvest API resource shapes.
- slug: mailchimp
display_name: Mailchimp
category: marketing
tier: 2
docs_url: https://mailchimp.com/developer/marketing/guides/sync-audience-data-webhooks/
notes: |
Marketing API webhook docs are guide-style prose with embedded payload examples.
LLM extraction.
- slug: twilio
display_name: Twilio
category: communications
tier: 2
docs_url: https://www.twilio.com/docs/usage/webhooks
notes: |
Twilio uses webhooks heavily but events are per-product (SMS status callbacks, Voice TwiML
callbacks, Conversations events, Studio events) with different shapes.
DECISION (sub 1.5): include Conversations events + Messaging status callbacks. Defer Voice
TwiML callbacks (request/response, not event-driven) and Studio (low-intent niche) to v2.
- slug: zoom
display_name: Zoom
category: collaboration
tier: 2
docs_url: https://developers.zoom.us/docs/api/webhooks/
notes: |
Zoom event types are enumerated in a marketplace docs page; per-event payload schemas are
on individual reference pages. Two-step crawl; LLM-assisted on schema extraction.
- slug: loom
display_name: Loom
category: collaboration
tier: 2
docs_url: https://dev.loom.com/docs/embed-sdk-docs/reference/webhook-events
notes: |
Smaller surface. LLM extraction.
- slug: front
display_name: Front
category: support
tier: 2
docs_url: https://dev.frontapp.com/docs/webhooks-1
notes: |
Webhook events listed in dev portal. LLM extraction; payload schemas referenced rather
than inlined.
- slug: help-scout
display_name: Help Scout
category: support
tier: 2
docs_url: https://developer.helpscout.com/webhooks/
notes: |
Webhook events documented per resource (conversation events, customer events). LLM
extraction.
- slug: freshdesk
display_name: Freshdesk
category: support
tier: 2
docs_url: https://developers.freshdesk.com/api/#webhooks
notes: |
Webhook automation rules surface — events are user-configured triggers rather than a fixed
catalog. Extract the set of supported trigger conditions as `event_name`, and the ticket/
contact object schema as payload shape.
- slug: pipedrive
display_name: Pipedrive
category: crm
tier: 2
docs_url: https://pipedrive.readme.io/docs/guide-for-webhooks
notes: |
Webhooks docs enumerate event triggers (action × object). LLM extraction; payload shape is
uniform per object type.
- slug: close
display_name: Close
category: crm
tier: 2
docs_url: https://developer.close.com/topics/webhooks
notes: |
Webhook subscriptions reference. LLM extraction.
- slug: attio
display_name: Attio
category: crm
tier: 2
docs_url: https://developers.attio.com/docs/webhooks
notes: |
Younger product, smaller event surface. LLM extraction straightforward.
- slug: bamboohr
display_name: BambooHR
category: hris
tier: 2
docs_url: https://documentation.bamboohr.com/docs/getting-started-with-webhooks
notes: |
Webhook events documented in guide form. LLM extraction.
- slug: gusto
display_name: Gusto
category: hris
tier: 2
docs_url: https://docs.gusto.com/embedded-payroll/docs/webhooks-overview
notes: |
Swapped in for Rippling per operator decision 2026-05-13 (resolution of sub 1.2 ToS audit
inconclusive verdict on Rippling). Gusto Embedded webhook docs are publicly accessible
without login. ToS verdict: provisionally cleared on the same posture as the rest of the
audit; full ToS read deferred until the Gusto extractor lands in sub 1.5.
- slug: ashby
display_name: Ashby
category: ats
tier: 2
docs_url: https://developers.ashbyhq.com/docs/webhooks
notes: |
ATS webhook events well-documented. LLM extraction.
# alternates (held in reserve for sub 1.2 fallout if any vendor above gets dropped on ToS grounds)
alternates:
- slug: rippling
display_name: Rippling
category: hris
docs_url: https://developer.rippling.com/docs/rippling-api/branches/master/docs/Webhooks/Webhooks.md
notes: dropped from v1 in sub 1.2 (ToS audit inconclusive; developer portal may require login, conflicts with operator-no-accounts policy); held for v2 if a public-docs surface emerges
- slug: lever
display_name: Lever
category: ats
docs_url: https://hire.lever.co/developer/documentation
notes: backup for any ATS slot
- slug: shopify
display_name: Shopify
category: ecommerce
docs_url: https://shopify.dev/docs/api/webhooks
notes: out-of-category but huge event surface; hold until v2
- slug: airtable
display_name: Airtable
category: collaboration
docs_url: https://airtable.com/developers/web/api/model/webhooks-notification
notes: backup collaboration slot