Commit c898e2e
feat(integrations): add ZoomInfo, align Wiza, audit Apollo, refresh docs (#4776)
* feat(integrations): add ZoomInfo, align Wiza, audit Apollo, refresh docs
- Add ZoomInfo integration: search/enrich contacts & companies, intent, news (6 tools), proxy route, block, and icon
- Validate and align Wiza tools/block/outputs against live API docs
- Audit Apollo tools: tighten params, outputs, and types
- Update tool docs (.mdx), icons, icon mappings, and integrations.json
* fix(zoominfo): use useId for ZoomInfoIcon clipPath to avoid duplicate DOM ids
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* fix(apollo): address PR review on sequence add and bulk enrich
- sequence_add_contacts: send large contact_ids/label_names arrays in the
POST body (Rails merges query + body params) to avoid reverse-proxy URL
length limits; keep scalar settings in the query string
- organization_bulk_enrich: add back-compat shim mapping the legacy
`organizations` ({name, domain}[]) subBlock value to the new `domains`
string array so saved workflows keep running
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* fix(integrations): unique ZoomInfo icon clip id, numeric employee range filters
- ZoomInfoIcon: derive clipPath id from useId() so multiple instances don't collide
- ZoomInfo company search: send employeeRangeMin/Max as numbers, matching revenueMin/Max
* fix(zoominfo): send employeeRange filters as strings per API schema
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* fix(zoominfo): send contactAccuracyScoreMin as string per Contacts Search schema
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* fix(apollo): harden people_search pagination, correct bulk-update output docs
- people_search: read pagination from both the nested `pagination` object
(legacy /mixed_people/search) and top-level fields, avoiding silent
fallback to defaults
- account_bulk_update: correct output descriptions — accounts support up to
1000 per request and async is opt-in (not auto-triggered at 100 like contacts)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* fix(wiza): correct company enrichment credits shape in output docs
Company enrichment returns api_credits { total, company_credits }, not the email/phone/scrape breakdown used by individual reveals. Description-only fix verified against docs.wiza.co.
* fix(apollo): send sequence add contact_ids/label_names as query params per docs
Apollo documents every field for emailer_campaigns/:id/add_contact_ids as a query parameter with no request body. Append contact_ids[]/label_names[] to the query string instead of the JSON body to match the documented contract.
* feat(apollo): expose account_stage_id uniform field for bulk update accounts
Apollo documents account_stage_id as a Body Param for /accounts/bulk_update ('when using account_ids, apply this account stage to all accounts'). Adds it to the tool params, body builder, type, block subBlock, and params mapper alongside name/owner_id.
* docs(apollo): correct contact_update typed_custom_fields description
Apollo's update-a-contact endpoint documents typed_custom_fields, so drop
the inaccurate "not officially documented" caveat.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* fix(zoominfo): default required outputFields on enrich; parse nested API error object
- ZoomInfo enrich endpoints require outputFields; send a curated default set when omitted so requests don't fail
- extractZoomInfoError now reads the GTM REST nested error object ({error:{code,message}}) instead of dropping it to a generic HTTP message
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* improvement(wiza): add wandConfig to complex prospect-search filter fields
Adds AI-assist wandConfig (json-object) with format examples to the structured filter inputs (job_title, job_company, past_company, company_industry, location, company_location) and the full filters object, completing the wandConfig checklist item for the Wiza block.
* fix(findymail): surface API .error messages and alphabetize registry
- transformResponse error branches now fall back to the response body's
`error` field before the generic status string, so Findymail's actual
messages ("Not enough credits" on 402, "Subscription is paused" on 423,
"One identifier is required..." on 422) reach the user instead of a
bare "Findymail API error: <status>". Applied to all 11 tools.
- alphabetize the findymail entries in tools/registry.ts to match the
already-alphabetical import block and the integration guideline.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>1 parent 53eaa60 commit c898e2e
80 files changed
Lines changed: 4618 additions & 483 deletions
File tree
- apps
- docs
- components
- ui
- content/docs/en
- tools
- triggers
- sim
- app
- (landing)/integrations/data
- api/tools/zoominfo
- proxy
- blocks
- blocks
- components
- tools
- apollo
- findymail
- wiza
- zoominfo
- scripts
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
209 | 209 | | |
210 | 210 | | |
211 | 211 | | |
| 212 | + | |
212 | 213 | | |
213 | 214 | | |
214 | 215 | | |
| |||
448 | 449 | | |
449 | 450 | | |
450 | 451 | | |
| 452 | + | |
451 | 453 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
262 | 262 | | |
263 | 263 | | |
264 | 264 | | |
| 265 | + | |
| 266 | + | |
265 | 267 | | |
266 | 268 | | |
267 | 269 | | |
| |||
298 | 300 | | |
299 | 301 | | |
300 | 302 | | |
| 303 | + | |
| 304 | + | |
301 | 305 | | |
302 | 306 | | |
303 | 307 | | |
| |||
380 | 384 | | |
381 | 385 | | |
382 | 386 | | |
| 387 | + | |
383 | 388 | | |
384 | 389 | | |
385 | 390 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
254 | 254 | | |
255 | 255 | | |
256 | 256 | | |
| 257 | + | |
257 | 258 | | |
258 | 259 | | |
259 | 260 | | |
| |||
282 | 283 | | |
283 | 284 | | |
284 | 285 | | |
| 286 | + | |
285 | 287 | | |
286 | 288 | | |
287 | 289 | | |
| |||
425 | 427 | | |
426 | 428 | | |
427 | 429 | | |
428 | | - | |
| 430 | + | |
429 | 431 | | |
430 | 432 | | |
431 | 433 | | |
| |||
624 | 626 | | |
625 | 627 | | |
626 | 628 | | |
| 629 | + | |
627 | 630 | | |
628 | 631 | | |
629 | 632 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
182 | | - | |
| 182 | + | |
183 | 183 | | |
184 | 184 | | |
185 | 185 | | |
| |||
325 | 325 | | |
326 | 326 | | |
327 | 327 | | |
328 | | - | |
329 | | - | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
330 | 332 | | |
331 | 333 | | |
332 | 334 | | |
| |||
445 | 447 | | |
446 | 448 | | |
447 | 449 | | |
448 | | - | |
| 450 | + | |
449 | 451 | | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
450 | 455 | | |
451 | 456 | | |
452 | 457 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
373 | 373 | | |
374 | 374 | | |
375 | 375 | | |
376 | | - | |
| 376 | + | |
377 | 377 | | |
378 | 378 | | |
379 | 379 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
171 | 171 | | |
172 | 172 | | |
173 | 173 | | |
174 | | - | |
| 174 | + | |
| 175 | + | |
175 | 176 | | |
176 | 177 | | |
177 | 178 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | | - | |
| 38 | + | |
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
| 48 | + | |
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| |||
0 commit comments