workflow recipe

n8n Airtable to HubSpot Workflow for Lead Sync

Use Airtable to read ready rows, IF to filter sync status, Set to normalize contact fields, and HubSpot to create or update the contact.

Independent third-party notes. n8n is a trademark of its owner and is referenced only for compatibility and troubleshooting context.

Quick Answer

Use Airtable to read ready rows, IF to filter sync status, Set to normalize contact fields, and HubSpot to create or update the contact.

Problem Pattern

Airtable-to-HubSpot sync fails when every draft row is pushed, fields do not match HubSpot properties, or the same email creates multiple CRM records.

Key Facts

Source table
Airtable rows should have a clear sync-ready status.
CRM key
Email is usually the most practical contact key.
Mapping
HubSpot properties should be mapped deliberately rather than from raw Airtable fields.
Feedback loop
Write back a synced status or CRM ID where possible.

Recommended Steps

  1. Read Airtable rows that are marked ready for CRM sync.
  2. Filter out rows without email or consent.
  3. Use Set to map Airtable fields to HubSpot contact properties.
  4. Create or update the HubSpot contact using email as the stable key.
  5. Update Airtable with sync status, timestamp, and HubSpot reference.

Verification

  • A ready Airtable row creates or updates one HubSpot contact.
  • A row missing email is skipped or routed for review.
  • Mapped HubSpot properties contain expected values.
  • Airtable records the sync result.

Warnings

  • Do not sync draft or unqualified Airtable rows into a CRM pipeline.
  • HubSpot property names and Airtable field labels can drift over time.
  • Duplicate handling should be designed before the first production import.

Best For

  • Lead staging tables
  • Sales ops enrichment
  • Small CRM intake pipelines

Not For

  • Full bidirectional CRM sync without conflict rules
  • Unreviewed bulk imports

Common Mistakes

  • Syncing every Airtable row.
  • Using display names instead of stable field mappings.
  • Not writing back sync status.
  • Creating contacts before checking for existing email.

Examples

Qualified lead sync A status field keeps the workflow controllable.
Airtable: list rows where sync_status == Ready
IF: email exists and consent == true
Set: email, firstname, company, lead_source
HubSpot: create or update contact
Airtable: mark Synced

FAQ

Should this be one-way or two-way?

Start one-way from Airtable to HubSpot. Add bidirectional updates only after conflict rules are clear.

How do I prevent duplicates?

Use email or another stable key and prefer update-or-create behavior when the HubSpot operation supports it.

Sources