HubSpot Integration
Automatically sync unsubscribes, bounces, and spam complaints from HubSpot to your suppression lists.
On this page
Overview
The HubSpot integration uses workflow webhooks to automatically add email addresses to your suppression lists when contacts unsubscribe, bounce, or mark emails as spam.
Workflow-Powered
Flexible automation triggers
CRM Integration
Full contact context
Auto-Suppress
Configurable event handling
Prerequisites
- A HubSpot account with Marketing Hub Professional or Enterprise
- Access to create workflows in HubSpot
- A List Armor campaign with at least one suppression list
Note: HubSpot webhook actions require Marketing Hub Professional or Enterprise. Free and Starter plans don't support webhooks in workflows.
Setup in List Armor
- Navigate to your campaign and click ESP Integrations
- Click Add Integration and select HubSpot
- Choose the Target Suppression List where opt-outs will be added
-
Configure which events to auto-suppress:
- Hard bounces — recommended
- Spam complaints — recommended
- Unsubscribes — recommended
- Save the integration and copy the Webhook URL
Configure HubSpot
HubSpot uses workflows to trigger webhooks. You'll create separate workflows for each event type.
Unsubscribe Workflow
- Go to Automation → Workflows
- Click Create workflow → From scratch
- Select Contact-based workflow
- Set enrollment trigger: Contact property → Unsubscribed from all email → is true
- Add action: Trigger a webhook
- Method: POST
- URL: Paste your List Armor webhook URL
- Include all contact properties in the request
- Save and turn on the workflow
Hard Bounce Workflow
- Create a new contact-based workflow
- Set enrollment trigger: Contact property → Email hard bounce reason → is known
- Add the same webhook action with your List Armor URL
- Save and turn on the workflow
Spam Complaint Workflow
- Create a new contact-based workflow
- Set enrollment trigger: Contact property → Marked email as spam → is true
- Add the same webhook action with your List Armor URL
- Save and turn on the workflow
Important: Set each workflow's re-enrollment settings to prevent duplicate webhooks for the same contact.
Supported Events
| HubSpot Trigger | List Armor Action | Default |
|---|---|---|
| Email hard bounce reason is known | Add to suppression list | Enabled |
| Marked email as spam is true | Add to suppression list | Enabled |
| Unsubscribed from all email is true | Add to suppression list | Enabled |
Testing
After configuring the workflows, verify they're working:
- Create a test contact in HubSpot
- Manually set the "Unsubscribed from all email" property to true
- Check the workflow history to confirm it triggered
- Check your List Armor integration for the Last webhook received timestamp
- Verify the email appears in your target suppression list
Tip: Use HubSpot's workflow test feature to manually enroll a contact and verify the webhook fires.
Troubleshooting
- Webhook actions require Marketing Hub Professional or Enterprise
- Check your HubSpot subscription level
- Contact HubSpot support to verify your account has webhook access
- Verify the workflow is turned on
- Check that the enrollment trigger is correct
- Ensure the contact meets the trigger criteria
- Check re-enrollment settings if testing the same contact multiple times
- Verify the webhook URL is correct
- Check that "Include all contact properties" is enabled
- Ensure the contact has an email address property
- Check List Armor integration logs for processing errors