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.
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.)
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."
Work through these in order:
| 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 |
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.
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.
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.
Vantage Point is employee-owned. Senior consultants only — no junior handoffs; the experts you meet are the experts who deliver.
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.
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.
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.
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.
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.
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.