Skip to main content
Outpost’s HubSpot integration mirrors your member list into HubSpot as contact records. When a member is created or updated in Outpost, the matching HubSpot contact is created or updated to match.

What syncs today

When Outpost creates a contact in HubSpot, the following member data is sent:
Outpost dataHubSpot propertyNotes
EmailemailUsed to match existing contacts.
First namefirstnameParsed from the member’s full name.
Last namelastnameParsed from the member’s full name.
Subscription state changes (signup, upgrade, cancel, renew) trigger updates to the contact record using the same email match. The Outpost team can configure additional HubSpot custom properties (subscription status, tier, sign-up date) if your HubSpot account already has them set up — let us know during onboarding.

Setup

The HubSpot integration connects via OAuth. You click Connect in Outpost, authorize Outpost in HubSpot, and you’re redirected back with the connection live — there’s no token to copy and paste.
1

Click Connect in Outpost

Go to the HubSpot integration in Outpost and click Connect. Outpost opens HubSpot’s authorization screen.
2

Authorize Outpost in HubSpot

Sign in to HubSpot (if prompted) and approve the requested permissions. Outpost requests read and write access to CRM contacts (crm.objects.contacts.read, crm.objects.contacts.write).
3

Choose an import mode

On connect you can choose Import Existing Members to pull your current HubSpot contacts into Outpost as members, or Add Only New Members to sync from this point forward. The full import runs as a background job to avoid HubSpot API rate limits on large lists.

When syncing happens

Outpost pushes events to HubSpot in near real-time as background jobs. Failed jobs retry automatically up to three times.
Outpost eventWhat’s sent to HubSpot
New member signs upCreate or upsert the contact by email; set first/last name.
Member subscription changes (upgrade, downgrade, cancel, renew)Update the contact record. If your HubSpot has the relevant custom properties configured, subscription state lands on those properties.
Member email or name changes in OutpostUpdate the contact record on next sync.
Sync runs both ways. Outpost pushes member creates and updates to HubSpot. HubSpot also notifies Outpost via webhook: when a contact is created in HubSpot it’s imported as an Outpost member, and when a contact is deleted (privacy deletion) the matching member is removed.

Conflict resolution

If a contact already exists in HubSpot with the same email as an Outpost member, Outpost updates that contact rather than creating a duplicate. The match is on email — make sure HubSpot doesn’t have multiple records sharing the same email or one of them will be updated arbitrarily.

What happens when sync fails

  • The Outpost member record is unaffected by HubSpot sync state.
  • Transient failures (network, HubSpot API errors) retry automatically.
  • If the OAuth connection is revoked in HubSpot or scopes change, syncs fail until you reconnect. Outpost refreshes access tokens automatically while the connection is authorized.
  • The Outpost team monitors sync health and reaches out for persistent issues.

Disconnecting

Disconnect the HubSpot integration in Outpost to stop syncing. Existing HubSpot contacts and Outpost members are kept — they simply stop updating each other.

Custom property mapping

If you’d like Outpost to write subscription state (active/cancelled/paid tier, MRR, signup date, etc.) into HubSpot custom properties, those properties need to exist in HubSpot first. Contact support@outpost.pub with the property names you’d like used and we’ll configure the mapping. There is no in-app field-mapping UI today.

Labels

Apply labels in Outpost for HubSpot-sourced or HubSpot-synced members.

Members

The member records that get synced.

FAQ

Only if your HubSpot account has matching custom properties and we’ve configured the mapping. Email support@outpost.pub during setup with the property names you want updated.
No. Disconnecting only stops future syncing. Existing HubSpot contacts and Outpost members remain untouched.
Yes. When you connect, choose Import Existing Members to pull your current HubSpot contacts into Outpost as members. After that, newly created HubSpot contacts are imported automatically via webhook.
During the OAuth authorization Outpost requests the contact read and contact write scopes (crm.objects.contacts.read, crm.objects.contacts.write). Outpost only reads and writes contact data — no other CRM objects are touched.
The contact record updates when there’s a member event. Email and name fields are kept in sync via the standard upsert path. If you don’t see HubSpot update after a name change, contact support@outpost.pub.