HubSpot Integration Setup
Connect Parsley to HubSpot CRM. Sync leads, MEDDIC signals, lead scores, and chatbot conversation summaries to contacts and deals automatically.
Connect Parsley to HubSpot CRM for automatic lead and conversation sync. This guide walks you through setup and verification.
Quick Setup
- Have a HubSpot account with API access
- Navigate to Hub > Integrations in Parsley
- Click Connect on the HubSpot card
- Authorize Parsley in the HubSpot OAuth popup
- Verify the connection shows "Connected" status
That's it. Leads and conversations now sync automatically.
Prerequisites
- A HubSpot account - Free CRM works, though some features require Sales Hub. Sign up at hubspot.com if you don't have one.
- A paid Parsley account - CRM integrations require a paid plan or conversation balance. View pricing if you're on Free.
- Admin access to your HubSpot portal - You'll need permission to authorize third-party apps.
Step 1: Connect to HubSpot
From your Parsley dashboard:
- Go to Hub in the left sidebar
- Click Integrations
- Find the HubSpot card
- Click Connect
This opens HubSpot's OAuth authorization page. You'll see the permissions Parsley is requesting:
- Contacts (read-write) - To create and update Contact records
- Companies (read-write) - To associate contacts with companies
- Notes (read-write) - To add conversation summaries to records
Click Connect app to authorize the connection.
Step 2: Contact Sync
Contact sync is enabled by default. Here's what happens when you capture a lead:
| Parsley Field | HubSpot Property |
|---|---|
email | |
| First Name | firstname |
| Last Name | lastname |
| Phone | phone |
| Company | company |
| Job Title | jobtitle |
How it works:
- Parsley uses HubSpot's upsert endpoint
- If a Contact with that email exists, Parsley updates the record
- If not, Parsley creates a new Contact
- Companies are auto-associated when the company name is provided
Sync triggers:
- Lead capture via contact exchange form
- Lead capture via chatbot conversation
- Contact form submissions on your profile
Step 3: Conversation Sync
When a prospect has a meaningful chatbot conversation on your Parsley profile, the full context syncs to HubSpot as a Note attached to their Contact record.
What syncs to HubSpot Notes:
- Conversation summary - Key points and topics discussed
- Lead quality score - Hot, Warm, or Cold based on signals
- MEDDIC signals - Metrics, Economic Buyer, Decision Criteria, Decision Process, Identify Pain, Champion indicators with evidence quotes
- Engagement metrics - Message count, session duration, return visitor status
- Knowledge gaps - Questions Parsley's AI couldn't answer
Example Note in HubSpot:
Parsley Conversation Summary
Lead Quality: Hot
MEDDIC Signals:
• Metrics: "We need to reduce response time by 40%"
• Economic Buyer: Decision maker (VP Sales)
• Decision Criteria: "Integration with HubSpot is a must-have"
• Decision Process: "We're evaluating three vendors this quarter"
• Identify Pain: "Our current solution doesn't integrate with HubSpot"
• Champion: "I'm leading the evaluation internally"
Engagement:
• Messages: 12
• Duration: 8 minutes
• Return visitor: Yes
Key Topics:
• Integration capabilities
• Pricing for teams
• Implementation timeline
This context appears in the Contact's activity timeline before your first call.
Step 4: Custom Discovery Fields Sync (Optional)
Beyond Parsley's built-in parsley_* properties, you can configure owner-defined discovery fields that the chatbot captures during conversations - "Company size", "Current CRM", "Hiring sales reps?" - on Chatbot > Lead Capture in your Parsley dashboard.
When the chatbot captures one of these values, Parsley writes it to a matching property on the Contact record in HubSpot.
Pick where each field syncs
Each discovery field row on Chatbot > Lead Capture has a Sync to HubSpot combobox alongside Type and Format. The combobox shows every writable property on your HubSpot Contact object - pick the one that should receive captured values (e.g. numemployees for a Company size field).
Three options are available for every field:
- An existing HubSpot property - The field's captured value lands directly on that property. No CRM-side setup required.
- Auto-match by name (default) - Parsley snake-cases your field label and prefixes it with
parsley_. For example, "Company size" becomesparsley_company_size. If that property exists in your HubSpot Contact object, the sync works; if not, it logs and skips. - Don't sync to HubSpot - Captured value stays inside Parsley only.
Auto-match naming convention
If you stick with auto-match, Parsley computes the property name like this:
| Discovery field label | HubSpot property name |
|---|---|
| Company size | parsley_company_size |
| Hiring sales reps? | parsley_hiring_sales_reps |
| Current CRM | parsley_current_crm |
| Top 3 priorities | parsley_top_3_priorities |
You can create matching properties in HubSpot (Settings > Properties > Contact properties > Create property), or skip the CRM-side setup entirely by picking an existing HubSpot property from the combobox instead.
Current limitation: Person vs Company fields
Discovery fields marked as About: Their company still write to the Contact record in this release, not the Company record. Cross-object Company writes are on the roadmap for when paying customers need them.
If you need company-level data on HubSpot Companies today, set the field's About to "The visitor" - it'll land on the Contact and you can use a HubSpot workflow to copy it to the associated Company.
Step 5: Verify the Connection
- Check the integration status - The HubSpot card should show "Connected" with your portal ID
- Capture a test lead - Use your own email to fill out your profile's contact form
- Check HubSpot - Within a few seconds, you should see a new Contact record (or an updated one if you already exist)
- Have a chatbot conversation - Ask a few questions on your profile's chatbot
- Check the Contact's timeline - The conversation summary should appear as a Note
Troubleshooting
"Connection Failed" Error
- Make sure you're logged into the correct HubSpot portal
- Check that you have admin permissions to authorize third-party apps
- Try disconnecting and reconnecting
Leads Not Syncing
- Verify the integration shows "Connected" status
- Check that you have a paid Parsley plan or conversation balance
- Ensure the lead has a valid email address (required for HubSpot matching)
Conversations Not Appearing as Notes
- Conversation sync only triggers for substantive conversations (3+ messages)
- Check that the prospect's email exists as a Contact in HubSpot
- Notes appear in the Contact's activity timeline, not as a separate view
Rate Limit Errors
HubSpot allows 100 requests per 10 seconds for private apps. If you're capturing many leads simultaneously, some syncs may be delayed. Parsley automatically retries with exponential backoff.
Automate Follow-Ups with HubSpot Workflows
Parsley syncs lead quality, intent signals, and MEDDIC data as properties on Contact records. HubSpot Workflows can trigger actions when these properties change - so you can automatically follow up with hot leads the moment they appear.
Example: Enroll hot leads in an email sequence
This workflow sends a follow-up email sequence when Parsley scores a lead as Hot.
Step 1: Create a new Workflow
- In HubSpot, go to Automation > Workflows
- Click Create workflow and choose Contact-based
- Select Blank workflow
Step 2: Set the enrollment trigger
- Click Set up triggers
- Choose Contact properties
- Select parsley_lead_quality and set the condition to is equal to Hot
- Optionally add a second filter: parsley_intent_signal is equal to high_intent for even more targeted follow-up
Step 3: Add your actions
Choose one or more actions when a hot lead enrolls:
- Send email - Use a HubSpot email template personalised with the contact's name and company. The conversation Note on their timeline gives you context to reference. See follow-up email templates based on intent signals for proven templates.
- Create a deal - Auto-create a deal in your pipeline with the contact associated
- Assign a contact owner - Route the lead to the right rep based on territory or round-robin
- Send internal notification - Alert the sales team via email or Slack integration
- Add a delay - Wait 2 hours, then send a second touchpoint
Step 4: Turn on the Workflow
Click Review and publish. The next time Parsley scores a lead as Hot, HubSpot enrolls them automatically.
Other useful Workflows
| Enrollment trigger | Action | Use case |
|---|---|---|
parsley_lead_quality = Hot | Send email sequence + create deal | Immediate follow-up for high-intent leads |
parsley_lead_quality = Warm | Add to nurture email sequence | Longer-term engagement for evaluators |
parsley_intent_signal = High Intent | Send Slack notification to sales | Real-time alert for buying signals |
Contact property parsley_meddic_signals contains "Decision Process" | Create task for rep | Prospect mentioned a buying timeline |
Tips
- Check the Contact's activity timeline. Parsley attaches a Note with MEDDIC signal quotes, engagement metrics, and knowledge gaps. Reference specific details from the Note in your follow-up.
- Build Smart Lists like "Parsley Hot Leads" by filtering Contacts on
parsley_lead_quality = Hot. Use these lists for targeted email campaigns. - Combine with Parsley's owner alerts. Parsley emails you when a hot lead appears. HubSpot Workflows handle the prospect follow-up. Two systems, two audiences, no duplication.
- Sales Hub users can use Sequences instead of Workflows for more personalised multi-touch follow-up with reply detection.
What's Next
Questions? Contact us or email peter@parsley.id.
