feat(enrichment): add ZeroBounce, NeverBounce, and MillionVerifier email verification#4854
feat(enrichment): add ZeroBounce, NeverBounce, and MillionVerifier email verification#4854waleedlatif1 wants to merge 4 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview Introduces an Email Verification table enrichment that waterfalls those three verify tools (ZeroBounce → NeverBounce → MillionVerifier), normalizing responses to shared Reviewed by Cursor Bugbot for commit f62d59a. Configure here. |
Greptile SummaryThis PR adds three new email verification integrations — ZeroBounce, NeverBounce, and MillionVerifier — each with a verify-email tool, get-credits tool, hosted-key config, block definition, BYOK wiring, and documentation. An Email Verification table enrichment is also added, running a waterfall across the three providers (ZeroBounce → NeverBounce → MillionVerifier) and surfacing a normalized
Confidence Score: 5/5Safe to merge — all three tool sets follow the established provider pattern, the previously-identified auth error handling issues are fixed, and the enrichment waterfall logic is correct. The change is purely additive (new tools, blocks, and one enrichment), doesn't modify any existing logic paths, and mirrors the well-tested Findymail/Prospeo patterns. JSON-parse guards and 200-with-error-envelope detection are consistently applied across all six new tools. The waterfall fallthrough in the enrichment correctly handles each provider's status vocabulary. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Email Verification Enrichment\nInput: email] --> B{ZeroBounce\nverify_email}
B -->|status = unknown or error| C{NeverBounce\nverify_email}
B -->|definitive status| R[Return status + deliverable]
C -->|status = unknown or error| D{MillionVerifier\nverify_email}
C -->|definitive status| R
D -->|status = unknown| E[No result / empty cell]
D -->|any other status incl. unverified| R
Reviews (2): Last reviewed commit: "fix(zerobounce): handle 200-status API e..." | Re-trigger Greptile |
|
@greptile |
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit f62d59a. Configure here.
Summary
status+deliverableType of Change
Testing
Tested manually —
tsc --noEmitclean (0 errors), Biome clean, 28/28 enrichment + hosting tests passing, api-validation gate passing. Each integration independently validated against the providers' live API docs (endpoints, auth params, status vocabularies, response fields, error handling).Checklist