Quick Answer
HubSpot doesn't mirror list membership into Salesforce campaigns automatically — you push it with a contact-based workflow using the "Set a Salesforce campaign" action, which adds each enrolled contact's Salesforce lead or contact record to a campaign that already exists in Salesforce. If the campaign you want doesn't appear in the dropdown, or the action seems unavailable, the usual causes are permissions on the Salesforce integration user, an inactive campaign, or building the workflow on the wrong object type.
TL;DR
- What it is: Using HubSpot lists plus a workflow action to place synced leads/contacts onto Salesforce campaigns.
- Why it matters: Marketing segments in HubSpot; sales works campaigns in Salesforce — this is the bridge between the two motions.
- Best for: RevOps and marketing ops teams running the native HubSpot–Salesforce integration.
- Decision point: Campaigns are created in Salesforce, not HubSpot; HubSpot sets membership only.
- How Vantage Point helps: Our HubSpot–Salesforce integration practice designs and repairs exactly this sync.
What does syncing a HubSpot list to a Salesforce campaign actually do?
It sets campaign membership — nothing more, nothing less. When a HubSpot contact enrolls in the workflow, the integration finds that person's synced lead or contact record in Salesforce and adds them as a campaign member of the campaign you selected. HubSpot does not create the Salesforce campaign, rename it, or manage its member statuses; the campaign must exist (and be active) in Salesforce before HubSpot can place anyone on it.
That framing resolves the most common confusion in this integration: a HubSpot list is a segmentation tool, a Salesforce campaign is a revenue-team worklist, and the workflow action is the one-way bridge from the first to the second. (If what you actually need is to build and send HubSpot campaigns without switching systems, that's a different capability — see running HubSpot campaigns from inside Salesforce.)
How do you set up the list-to-campaign sync?
- Create the campaign in Salesforce first. Set it to Active, and confirm the member statuses you need exist on the campaign.
- Build your segment in HubSpot as an active or static list — event registrants, a nurture cohort, a target-account contact set.
- Create a contact-based workflow in HubSpot with list membership as the enrollment trigger. The "Set a Salesforce campaign" action is only available in contact-based workflows — deal- and company-based workflows don't offer it.
- Add the "Set a Salesforce campaign" action and select the campaign from the dropdown.
- Turn the workflow on and spot-check: pick a few enrolled contacts and confirm they appear as campaign members in Salesforce within the sync window.
For a static list used once, enroll existing members when activating. For an active list that keeps updating, the workflow naturally pushes new members as they qualify — which is the closest the native integration gets to a standing "list sync."
Why is the campaign missing — or the action unavailable?
Work through these in order:
- Wrong workflow type. The action exists only in contact-based workflows. If you're building from a deal or company, start over from a contact-based workflow.
- Campaign isn't active in Salesforce. Inactive campaigns won't accept members and typically won't surface as targets. Check the Active checkbox on the campaign.
- Integration user permissions. HubSpot's own troubleshooting for integration errors centers on the Salesforce integration user holding Read and Edit permissions on the objects involved. If campaigns or campaign members are restricted for that user, actions touching them fail or options disappear. When a button like "create campaign" appears grayed out anywhere in the connected experience, treat permissions as the leading hypothesis and verify the integration user's object and field access in Salesforce before assuming a product bug.
- Integration suspension. If the integration has thrown suspension errors, sync-dependent features degrade until the underlying errors are resolved in HubSpot's Salesforce integration settings.
| Symptom | Likely cause | Fix |
|---|---|---|
| "Set a Salesforce campaign" not in the action list | Workflow isn't contact-based, or the Salesforce integration isn't installed/healthy | Rebuild as contact-based; check integration status |
| Campaign missing from the dropdown | Campaign inactive, or integration user can't read campaigns | Activate the campaign; verify integration user Read access on Campaign |
| Workflow runs but no members appear in Salesforce | Enrolled contacts aren't syncing to Salesforce, or integration user lacks Edit on campaign members | Check sync errors; grant Read/Edit on Campaign and Campaign Member |
| Some list members sync, others don't | Unsynced records (missing required fields, sync filters, duplicates) | Review the integration's sync errors for the specific records |
| Integration options grayed out portal-wide | Suspension from repeated errors, or permission loss after a Salesforce-side change | Resolve errors in integration settings; re-check the integration user's permissions |
What are the limits of the native route?
The native action is deliberately simple: it adds members, in one direction, for contacts that sync. It doesn't remove people from the campaign when they leave the list — plan a removal path (a second workflow keyed on list exit, or periodic cleanup in Salesforce) if membership needs to track the list tightly. It also doesn't write back campaign responses or statuses into list logic without additional sync mapping and workflow design. For multi-step membership logic, status automation, or bidirectional behavior, you're into custom workflow design or middleware territory — which is fine, but scope it as an integration build, not a settings tweak.
What should businesses do next?
Pick one live campaign motion — an event follow-up list is ideal — and run the full loop: campaign created in Salesforce, list built in HubSpot, contact-based workflow setting membership, and a spot-check that members land correctly with the right statuses. Document the integration user's permission set while it works, because permission drift after Salesforce releases and profile changes is the most common way this integration degrades six months later. Then decide whether campaign membership removal matters for your reporting; if it does, design that path now rather than after the list has churned.
How Vantage Point Helps
Vantage Point implements and repairs the HubSpot–Salesforce integration for revenue teams — sync scoping, inclusion lists, campaign workflows, and the permission hygiene that keeps them running. Start with our HubSpot–Salesforce integration services, or pair them with HubSpot platform expertise and broader integration work when the data model spans more than two systems.
Make your two CRMs act like one system
Vantage Point is employee-owned. Senior consultants only — no junior handoffs; the experts you meet are the experts who deliver.
Frequently Asked Questions
Can HubSpot create a Salesforce campaign?
Not through the standard workflow tooling. The native "Set a Salesforce campaign" action assigns membership to an existing campaign, so campaigns should be created and activated in Salesforce first — ideally from a campaign template or process your sales ops team owns.
Why don't I see "Set a Salesforce campaign" in my workflow actions?
The action is only available in contact-based workflows, and it requires the HubSpot–Salesforce integration to be installed and healthy. If you're in a deal- or company-based workflow, you won't see it; rebuild from a contact-based workflow.
Do static lists work, or only active lists?
Both work as enrollment triggers. A static list is a one-time push (enroll existing members when you activate the workflow); an active list keeps pushing new members as contacts qualify, which behaves like a standing sync.
Why are some list members missing from the Salesforce campaign?
Only contacts that sync to Salesforce as leads or contacts can be added. Records blocked by sync filters, missing required fields, or duplicate errors never make the trip. Check the integration's sync error queue in HubSpot for the specific records.
Can we remove people from the campaign when they leave the list?
The native action is additive — it sets membership but doesn't retract it. If your reporting needs membership to track the list, design a removal path: a second workflow triggered when contacts exit the list, or a scheduled cleanup inside Salesforce.
Whose permissions matter when the sync breaks — the HubSpot user or a Salesforce user?
The Salesforce integration user — the account the integration runs as. HubSpot's troubleshooting guidance for sync errors directs you to confirm that user holds Read and Edit permissions on the objects being synced, which for this workflow means campaigns and campaign members in addition to leads and contacts.
