HubSpot Integration
Send Lead Distro AI leads directly into HubSpot as Contacts or Deals using a HubSpot Workflow webhook. Step-by-step setup, field mapping, troubleshooting, and FAQs.
What This Integration Does
Sends every accepted Lead Distro AI lead into HubSpot as a Contact (and optionally as a Deal in the same workflow). The integration runs through HubSpot's incoming webhook + Workflow engine — no third-party automation platform needed. Latency is sub-second from lead acceptance to Contact creation in HubSpot.
Setup is one-time per buyer. Each Lead Distro AI buyer pointed at HubSpot gets its own webhook URL inside a dedicated HubSpot Workflow, so multiple buyers can route to different HubSpot instances or different intake pipelines within the same instance.
Prerequisites
- A HubSpot account with Marketing Hub Professional or Sales Hub Professional+ (Workflows require Professional tier).
- Permission to create Workflows in HubSpot (Admin or Workflows-Edit role).
- A Lead Distro AI campaign with at least one buyer configured for Webhook delivery.
- The set of HubSpot Contact properties you want populated — including any custom properties (e.g., `case_type`, `incident_date` for legal verticals).
Step 1 — Create the HubSpot Workflow
- In HubSpot, go to Automation → Workflows → Create workflow.
- Choose Start from scratch → Contact-based.
- Set the enrollment trigger to Webhook.
- HubSpot displays a unique webhook URL — copy it. (Looks like `https://api.hubapi.com/automation/v3/triggers/webhook/...`.)
Step 2 — Add the Create Contact Action
- Add action: Create or update contact.
- Set the lookup property to `email` so existing contacts are updated instead of duplicated.
- Map incoming webhook fields to HubSpot Contact properties:
| Lead Distro AI field | HubSpot property | Required? |
|---|---|---|
| `email` | `email` (lookup) | Yes |
| `first_name` | `firstname` | Yes |
| `last_name` | `lastname` | Yes |
| `phone` | `phone` | Recommended |
| `state` | `state` or custom `lead_state` | Optional |
| `zip_code` | `zip` | Optional |
| `custom. | Matching custom property | Per vertical |
| `lead_id` | Custom property `leaddistro_lead_id` | Recommended for tracing |
Step 3 — (Optional) Add a Create Deal Action
Chain a Create deal action after the Contact step if you want each lead to land as a Deal in your sales pipeline (not just a Contact). Map the Lead Distro AI `lead_id` to a custom Deal property so you can trace each Deal back to the originating lead.
- Add action: Create deal.
- Set Pipeline and Deal stage to your intake stage (often called 'New Lead' or 'Intake').
- Set Deal amount to `lead.revenue` (the buyer price you charge) if you want to track per-lead revenue in HubSpot deal reports.
- Associate the Deal with the Contact created in Step 2.
Step 4 — Wire the Webhook in Lead Distro AI
- In Lead Distro AI, edit the buyer that should send leads to HubSpot.
- Set Delivery Method to Webhook.
- Paste the HubSpot webhook URL from Step 1.
- Set Content-Type to `application/json` (default).
- Save.
Step 5 — Test Send
Use the buyer's Test Send tool inside Lead Distro AI to fire a sample lead through the integration. Within ~2 seconds the Contact (and Deal, if configured) should appear in HubSpot. If it doesn't:
- Check the HubSpot Workflow's enrollment history — the webhook should show one inbound event for your test.
- If no enrollment: the webhook URL is wrong or HubSpot's Workflow is paused. Verify both.
- If enrollment but no Contact: a required field is missing. HubSpot logs the error in the workflow run detail — check there.
If HubSpot rejects fields with leading/trailing spaces or non-standard phone formats, attach Lead Distro AI's **Phone Formatter** transform to the phone field (output: E.164) and the **Trim Whitespace** transform to text fields. See [Integration Patterns](/docs/integrations) for transform basics.
Frequently Asked Questions
Does Lead Distro AI's HubSpot integration require Marketing Hub Professional?
Can I push leads as HubSpot Deals instead of Contacts?
How do I prevent duplicate contacts in HubSpot?
What HubSpot property names should I use for custom fields?
Can a single HubSpot account receive leads from multiple Lead Distro AI buyers?
What happens if HubSpot is temporarily down?
Does the HubSpot integration support signed webhooks?
Can I send Lead Distro AI cost data to HubSpot for ROI reporting?
Related Articles
If you have any questions, send us an email at support@leaddistro.ai