Skip to content

HubSpot Integration

Sync CatchIntent signals directly to HubSpot as contacts and deals. Two-way sync keeps your pipeline in sync — when deals close in HubSpot, signal statuses update automatically.

  1. Navigate to Integrations

    Go to Integrations in your CatchIntent dashboard.

  2. Connect HubSpot

    Click Connect HubSpot on the HubSpot card. You’ll be redirected to HubSpot to authorize CatchIntent.

  3. Grant Permissions

    CatchIntent requests access to create and manage contacts, companies, and deals in your HubSpot account.

  4. Configure Sync Settings

    After connecting, click Configure Sync Settings to set up:

    • Default Pipeline — Which sales pipeline to use for new deals
    • Default Stage — Initial deal stage (e.g., “New Lead”)
    • Default Owner — Team member to assign new deals to
    • Sync Triggers — When to sync (on signal creation, status change, etc.)
  5. Test the Connection

    Use Sync to CRM on an existing signal to verify the setup works correctly.

Choose which HubSpot pipeline to create deals in. If you have multiple pipelines, we recommend creating a dedicated “Social Leads” or “Inbound Signals” pipeline for CatchIntent deals.

Set the initial deal stage for new signals. Common choices:

  • New Lead — For immediate follow-up
  • Qualification — For SDR review
  • Research — For signals that need more context

Assign an owner to new deals. This can be:

  • A specific sales rep
  • A round-robin queue (configured in HubSpot)
  • Left blank for manual assignment

Set a minimum relevance score (0-100) for automatic sync. Signals below this threshold won’t sync automatically but can still be synced manually.

Recommended thresholds:

  • 80+ — Only high-confidence signals (fewer but higher quality)
  • 70-79 — Balanced approach
  • 60-69 — More signals, requires more filtering

CatchIntent maintains a two-way connection with HubSpot via webhooks.

HubSpot EventCatchIntent Update
Deal moved to “Closed Won”Signal status → Won
Deal moved to “Closed Lost”Signal status → Lost
Deal moved to “Appointment Scheduled”Signal status → Reached Out
Deal amount updatedCaptured as outcome value
Closed reason addedCaptured in outcome notes
CatchIntent EventHubSpot Update
New signal (if auto-sync enabled)Contact + Deal created
Manual sync triggeredContact + Deal created
Signal notes updatedNote added to deal

To manually sync a signal to HubSpot:

  1. Open the signal in CatchIntent
  2. Click Sync to CRM
  3. The signal will be queued and synced within seconds

For bulk sync:

  1. Select multiple signals in the signals list
  2. Click Sync to CRM
  3. Up to 50 signals can be synced at once

When a signal syncs, a contact is created (or matched to an existing contact):

FieldSource
NameAuthor name from platform
PlatformReddit, LinkedIn, X, etc.
Profile URLLink to original profile
Source”CatchIntent”

A deal is created and associated with the contact:

FieldSource
Deal NameSignal title or first 100 chars
PipelineYour configured default
StageYour configured default
OwnerYour configured default
AmountEmpty (populated when closed)

A detailed note is attached to the deal:

  • Full post content
  • AI analysis summary
  • Relevance score
  • Platform and source URL
  • Link back to signal in CatchIntent

To disconnect HubSpot:

  1. Go to Integrations
  2. Click on the HubSpot card
  3. Click Disconnect

Sync failed with “Authentication failed”

Section titled “Sync failed with “Authentication failed””

Your HubSpot token may have expired. Try:

  1. Go to Integrations
  2. Click Reconnect on the HubSpot card
  3. Re-authorize in HubSpot

Contact created as Company instead of Contact

Section titled “Contact created as Company instead of Contact”

This is expected behavior:

  • Personal LinkedIn profiles → Create Contacts
  • LinkedIn company pages → Create Companies
  • Reddit/X posts → Create Contacts

Check these settings:

  1. Verify auto-sync is enabled (or use manual sync)
  2. Check the relevance threshold isn’t too high
  3. Ensure the default pipeline and stage exist in HubSpot

If deal status changes aren’t syncing back:

  1. The webhook is registered automatically on connect
  2. Try disconnecting and reconnecting
  3. Verify deal stage names match expected values (case-sensitive)

HubSpot has API rate limits. If you’re syncing many signals:

  • Signals are queued and processed gradually
  • Large batches may take a few minutes to complete
  • Check the sync status in signal details

Can I sync to multiple pipelines?

Currently, all signals sync to one default pipeline. For multiple pipelines, use manual sync and change the pipeline in HubSpot after creation.

What happens to existing contacts?

CatchIntent checks for existing contacts by email (if available) or name. If a match is found, the deal is associated with the existing contact.

Can I customize field mappings?

Custom field mappings are available on Enterprise plans. Contact support to discuss your requirements.

Does it work with HubSpot Free?

Yes, HubSpot CRM Free includes the APIs needed for CatchIntent integration.