Type: Full-Stack CRM Integration
Stack: React 18, Node.js (Serverless), HubSpot UI Extensions, HubSpot CRM API, Kickbox API v2
Role: Sole Developer
Sales and marketing teams relying on HubSpot CRM often accumulate contact records containing invalid or unverified email addresses. This results in high bounce rates, damaged sender reputation, and wasted outreach effort.
While Kickbox offers an out-of-the-box HubSpot integration, it is primarily designed for admins running bulk verification across large contact lists. For individual sales reps working through their pipeline, there is no practical way to verify a single contact's email in the moment — without leaving HubSpot, logging into a separate tool, or waiting on an admin-run batch process. This friction means email quality checks are routinely skipped at the point where they matter most: before outreach begins.
The integration was built as two complementary components, covering both on-demand and automated verification use cases.
A React-based UI extension rendered natively inside the HubSpot contact record, giving sales reps a **"Verify Email"** button directly within their workflow. Clicking it triggers a serverless backend that calls the Kickbox API and writes 12 enrichment properties back to the contact record in real time — with no context switching required. Results are surfaced immediately with semantic status indicators (deliverable, undeliverable, risky, unknown).
Custom-coded HubSpot workflow actions that expose the same Kickbox verification logic as reusable steps within HubSpot's automation engine. This allows operations and marketing teams to trigger email verification automatically at key points in their processes — for example, vetting a contact's email before routing them to sales, or validating addresses before enrolling contacts in a marketing send.
Together, the two components share the same serverless backend and write to the same set of contact properties, ensuring consistent data regardless of how verification is triggered.
- Serverless functions isolate backend logic from both the UI layer and workflow actions, enabling code reuse across both surfaces
- All CRM writes happen atomically after a successful Kickbox response, preventing partial data states
- Boolean values are serialised to strings for HubSpot property compatibility, then mapped back to human-readable labels in the UI
- API credentials are stored as encrypted HubSpot secrets and never exposed client-side
Contact records are enriched with actionable email intelligence on demand, including:
- Deliverability status: Deliverable / Undeliverable / Risky / Unknown
- Sendex score: — A 0–100% reputation score for the address
- Email classification flags: — Disposable, accept-all, role-based, and free provider detection
- Normalization data: — Corrected email format and "did you mean" suggestions for typos
- Verification timestamp: — Auditable record of when verification was last run
This gives sales and marketing teams the data needed to segment contacts by email quality, suppress invalid addresses before sends, and maintain a cleaner, more reliable CRM — directly within their existing HubSpot workflow.
*Part of a professional portfolio. Full source available on request.*