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.
-
Navigate to Integrations
Go to Integrations in your CatchIntent dashboard.
-
Connect HubSpot
Click Connect HubSpot on the HubSpot card. You’ll be redirected to HubSpot to authorize CatchIntent.
-
Grant Permissions
CatchIntent requests access to create and manage contacts, companies, and deals in your HubSpot account.
-
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.)
-
Test the Connection
Use Sync to CRM on an existing signal to verify the setup works correctly.
Sync Settings
Section titled “Sync Settings”Default Pipeline
Section titled “Default Pipeline”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.
Default Stage
Section titled “Default Stage”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
Default Owner
Section titled “Default Owner”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
Auto-Sync Threshold
Section titled “Auto-Sync Threshold”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
Two-Way Sync
Section titled “Two-Way Sync”CatchIntent maintains a two-way connection with HubSpot via webhooks.
HubSpot → CatchIntent
Section titled “HubSpot → CatchIntent”| HubSpot Event | CatchIntent 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 updated | Captured as outcome value |
| Closed reason added | Captured in outcome notes |
CatchIntent → HubSpot
Section titled “CatchIntent → HubSpot”| CatchIntent Event | HubSpot Update |
|---|---|
| New signal (if auto-sync enabled) | Contact + Deal created |
| Manual sync triggered | Contact + Deal created |
| Signal notes updated | Note added to deal |
Manual Sync
Section titled “Manual Sync”To manually sync a signal to HubSpot:
- Open the signal in CatchIntent
- Click Sync to CRM
- The signal will be queued and synced within seconds
For bulk sync:
- Select multiple signals in the signals list
- Click Sync to CRM
- Up to 50 signals can be synced at once
What Gets Created
Section titled “What Gets Created”Contact
Section titled “Contact”When a signal syncs, a contact is created (or matched to an existing contact):
| Field | Source |
|---|---|
| Name | Author name from platform |
| Platform | Reddit, LinkedIn, X, etc. |
| Profile URL | Link to original profile |
| Source | ”CatchIntent” |
A deal is created and associated with the contact:
| Field | Source |
|---|---|
| Deal Name | Signal title or first 100 chars |
| Pipeline | Your configured default |
| Stage | Your configured default |
| Owner | Your configured default |
| Amount | Empty (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
Disconnecting
Section titled “Disconnecting”To disconnect HubSpot:
- Go to Integrations
- Click on the HubSpot card
- Click Disconnect
Troubleshooting
Section titled “Troubleshooting”Sync failed with “Authentication failed”
Section titled “Sync failed with “Authentication failed””Your HubSpot token may have expired. Try:
- Go to Integrations
- Click Reconnect on the HubSpot card
- 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
Deal not appearing in HubSpot
Section titled “Deal not appearing in HubSpot”Check these settings:
- Verify auto-sync is enabled (or use manual sync)
- Check the relevance threshold isn’t too high
- Ensure the default pipeline and stage exist in HubSpot
Webhook updates not reflecting
Section titled “Webhook updates not reflecting”If deal status changes aren’t syncing back:
- The webhook is registered automatically on connect
- Try disconnecting and reconnecting
- Verify deal stage names match expected values (case-sensitive)
Rate limits
Section titled “Rate limits”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.