Workflows
Blocks
Integrations
HubSpot

HubSpot Action Block

What it does: Create, update, and manage contacts, companies, deals, and tickets in HubSpot CRM automatically.

🎯

In simple terms: Sync your workflow data with HubSpot - add contacts, create deals, update companies, and track customer interactions.

When to Use This

Use the HubSpot action when you need to:

  • ✅ Add leads from forms to HubSpot automatically
  • ✅ Create deals when opportunities arise
  • ✅ Update contact information in real-time
  • ✅ Log customer interactions and activities
  • ✅ Create support tickets from customer requests
  • ✅ Sync data between systems and HubSpot

Example: When someone fills out a contact form, automatically create a contact in HubSpot and assign them to a sales rep.

Features

  • Contact Management: Create and update contacts
  • Company Management: Manage company records
  • Deal Pipeline: Create and track deals
  • Ticket System: Manage support tickets
  • Custom Properties: Update HubSpot custom fields
  • Associations: Link contacts, companies, and deals
  • Activity Logging: Track emails, calls, and meetings
  • Lists: Add contacts to lists
  • OAuth Integration: Secure API connection
  • Variable Support: Use workflow data

Setup

1. Connect Your HubSpot Account

  1. Click Connect HubSpot Account
  2. Sign in to your HubSpot account
  3. Authorize required permissions
  4. Select your HubSpot portal
  5. Connection established
⚠️

Ensure you have appropriate permissions in HubSpot to create and modify CRM objects.

2. Select Object Type

Choose what you want to work with:

  • Contact: People in your CRM
  • Company: Organizations
  • Deal: Sales opportunities
  • Ticket: Support requests
  • Engagement: Activities (emails, calls, notes)

3. Select Action

  • Create: Add new record
  • Update: Modify existing record
  • Get: Retrieve record details
  • Delete: Remove record
  • Search: Find records

Working with Contacts

Create Contact

Email (Required): Contact's email address

{{form.email}}
customer@example.com

Standard Properties:

First Name: {{form.firstName}}
Last Name: {{form.lastName}}
Phone: {{form.phone}}
Company: {{form.company}}
Job Title: {{form.jobTitle}}
Website: {{form.website}}

Address Fields:

Address: {{form.street}}
City: {{form.city}}
State: {{form.state}}
Zip Code: {{form.zipCode}}
Country: {{form.country}}

Lifecycle Stage:

subscriber
lead
marketingqualifiedlead
salesqualifiedlead
opportunity
customer
evangelist

Update Contact

Contact ID or Email: Identify the contact

{{contact.hubspotId}}
email@example.com

Properties to Update:

Lead Status: {{newStatus}}
Last Contact Date: {{currentDate}}
Notes: {{additionalNotes}}

Custom Properties

Custom Fields:

custom_field_name: {{value}}
lead_score: {{calculatedScore}}
industry_preference: {{industry}}

Working with Companies

Create Company

Company Name (Required):

{{company.name}}
Acme Corporation

Properties:

Domain: {{company.domain}}
Industry: {{company.industry}}
Number of Employees: {{company.size}}
Annual Revenue: {{company.revenue}}
City: {{company.city}}
State: {{company.state}}
Country: {{company.country}}
Phone: {{company.phone}}

Company Type:

PROSPECT
PARTNER
RESELLER
VENDOR

Associate with Contact

Link company to contact:

Contact ID: {{contact.id}}
Company ID: {{company.id}}
Association Type: contact_to_company

Working with Deals

Create Deal

Deal Name (Required):

{{deal.name}}
Q4 Enterprise Deal - {{company.name}}

Pipeline Stage:

appointmentscheduled
qualifiedtobuy
presentationscheduled
decisionmakerboughtin
contractsent
closedwon
closedlost

Deal Amount:

{{deal.amount}}
50000

Close Date:

{{deal.expectedCloseDate}}
2024-12-31

Deal Properties:

Deal Type: {{deal.type}}
Priority: {{deal.priority}}
Deal Source: {{deal.source}}
Deal Stage: {{deal.stage}}

Associate Deal

Link to contact and company:

Deal ID: {{deal.id}}
Contact ID: {{contact.id}}
Company ID: {{company.id}}

Working with Tickets

Create Ticket

Ticket Name (Required):

{{ticket.subject}}
Support Request - {{issue.type}}

Pipeline:

Support Pipeline
Customer Success

Ticket Status:

NEW
WAITING_ON_CONTACT
WAITING_ON_US
CLOSED

Priority:

LOW
MEDIUM
HIGH

Properties:

Subject: {{ticket.subject}}
Content: {{ticket.description}}
Category: {{ticket.category}}
Source: {{ticket.source}}

Assign Ticket

Owner:

Owner ID: {{agent.hubspotId}}

Logging Engagements

Create Email Engagement

Log email activity:

Contact ID: {{contact.id}}
Subject: {{email.subject}}
Body: {{email.body}}
Status: SENT
Timestamp: {{email.sentAt}}

Create Call Engagement

Log phone call:

Contact ID: {{contact.id}}
Call Duration: {{call.duration}} (seconds)
Call Notes: {{call.notes}}
Call Type: INBOUND/OUTBOUND
Timestamp: {{call.time}}

Create Note

Add note to record:

Contact ID: {{contact.id}}
Note Body: {{note.content}}
Timestamp: {{currentTime}}

Create Meeting

Log meeting:

Contact ID: {{contact.id}}
Meeting Title: {{meeting.title}}
Meeting Body: {{meeting.notes}}
Start Time: {{meeting.startTime}}
End Time: {{meeting.endTime}}
Meeting Outcome: {{meeting.outcome}}

Response Mapping

Map HubSpot response to variables:

Available Values:

  • Object ID: HubSpot ID of created/updated record
  • Created At: Timestamp of creation
  • Updated At: Last modification time
  • Properties: All object properties
  • Associations: Related records

Example Mapping:

Contact ID → {{hubspot.contactId}}
Company ID → {{hubspot.companyId}}
Deal ID → {{hubspot.dealId}}
Properties → {{hubspot.properties}}

Common Use Cases

1. Lead Capture

Trigger: Form submission HubSpot: Create contact

Email: {{form.email}}
First Name: {{form.firstName}}
Last Name: {{form.lastName}}
Company: {{form.company}}
Lead Source: Website Form
Lifecycle Stage: lead

2. Deal Creation from Opportunity

Trigger: Qualified lead HubSpot Actions:

  1. Create or update contact
  2. Create company (if needed)
  3. Create deal
Deal Name: {{opportunity.name}}
Amount: {{opportunity.value}}
Close Date: {{opportunity.closeDate}}
Stage: qualifiedtobuy
Associate with: Contact + Company

3. Support Ticket Automation

Trigger: Support request email HubSpot: Create ticket

Subject: {{email.subject}}
Description: {{email.body}}
Priority: {{calculatePriority(email.keywords)}}
Source: Email
Status: NEW
Assign to: {{routeToAgent(issue.type)}}

4. Contact Enrichment

Trigger: New contact created Workflow:

  1. Get additional data from external API
  2. Update HubSpot contact
Industry: {{enrichment.industry}}
Company Size: {{enrichment.employees}}
Revenue: {{enrichment.revenue}}
Technologies: {{enrichment.techStack}}

5. Activity Sync

Trigger: Email sent via Gmail HubSpot: Log email engagement

Contact: Find by {{email.recipient}}
Subject: {{email.subject}}
Body: {{email.body}}
Status: SENT
Timestamp: {{email.sentTime}}

Best Practices

Data Quality

  • ✅ Validate email addresses before creating contacts
  • ✅ Use consistent naming conventions
  • ✅ Deduplicate before creating records
  • ✅ Keep required fields populated
  • ✅ Use standard values for dropdown fields

Organization

  • ✅ Set lifecycle stages correctly
  • ✅ Associate related records (contact ↔ company ↔ deal)
  • ✅ Use custom properties meaningfully
  • ✅ Maintain consistent data formats
  • ✅ Tag records with source information

Automation

  • ✅ Check for existing records before creating
  • ✅ Handle API errors gracefully
  • ✅ Use workflows for complex scenarios
  • ✅ Log all significant activities
  • ✅ Keep contact records up-to-date

Performance

  • ✅ Batch operations when possible
  • ✅ Cache frequently used IDs
  • ✅ Respect API rate limits
  • ✅ Use incremental updates
  • ✅ Optimize search queries

Troubleshooting

Record Not Created

Check:

  • HubSpot account is connected
  • Required fields are provided
  • Field values match HubSpot property types
  • Permissions are sufficient
  • API quota not exceeded

Duplicate Records

Solutions:

  • Search before creating
  • Use email as unique identifier for contacts
  • Enable deduplication logic
  • Merge duplicates in HubSpot

Properties Not Updating

Fix:

  • Verify property internal names
  • Check property permissions
  • Ensure correct data types
  • Use valid enum values for dropdowns
  • Check for workflow conflicts in HubSpot

Association Failures

Check:

  • Both objects exist
  • Object IDs are correct
  • Association type is valid
  • Permissions allow associations

Limitations

  • API Rate Limits:
    • Free/Starter: 100 requests per 10 seconds
    • Professional: 150 requests per 10 seconds
    • Enterprise: 200 requests per 10 seconds
  • Daily Limits: Varies by subscription tier
  • Batch Size: Max 100 records per batch operation
  • Properties: Max 5,000 properties per object type
  • Associations: No hard limit, but performance considerations
💡

Tip: Use HubSpot's default properties when possible - they're optimized and work with HubSpot's built-in features.

Example Workflow

Flow:

  1. Form submitted with lead info
  2. Check if contact exists
  3. Create or update contact
  4. Check if company exists
  5. Create or update company
  6. Link contact to company
  7. If qualified, create deal
  8. Workflow complete

Related Blocks

  • Condition: Check before creating/updating
  • HTTP Request: Additional API calls
  • Send Email: Notify team of updates
  • Set Variable: Prepare HubSpot data
  • Gmail: Sync email activities

Need Help?

  • Review HubSpot API documentation
  • Check object property definitions
  • Verify API key permissions
  • Test with HubSpot sandbox
  • Monitor API usage in HubSpot settings
  • Use HubSpot's workflow tool for complex automation

Pro Tip: Create custom properties in HubSpot for workflow-specific data to maintain clean separation between automated and manual data!

Indite Documentation v1.4.0
PrivacyTermsSupport