Skip to main content

Documentation Index

Fetch the complete documentation index at: https://documentation.outpost.pub/llms.txt

Use this file to discover all available pages before exploring further.

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 is configured by entering a HubSpot Private App access token in Outpost. There is no in-app OAuth flow today — you create the Private App in HubSpot, copy the token, and paste it into Outpost.
1

Create a HubSpot Private App

In HubSpot, go to Settings → Integrations → Private Apps and create a new Private App. Grant it scopes for reading and writing CRM contacts (crm.objects.contacts.read, crm.objects.contacts.write).
2

Copy the access token

HubSpot generates an access token for the Private App. Copy it.
3

Connect HubSpot in Outpost

Go to the HubSpot integration in Outpost, paste the access token, and save. Outpost confirms the connection and starts syncing on the next member event.
4

Initial sync (optional)

To backfill existing Outpost members into HubSpot, contact support@outpost.pub. Initial syncs are run on the backend 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 is one-way today: Outpost → HubSpot. Edits made directly in HubSpot are not pulled back into Outpost.

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 your Private App access token is revoked or HubSpot scopes change, syncs fail until a fresh token is provided. Outpost surfaces these auth errors so you can replace the token.
  • The Outpost team monitors sync health and reaches out for persistent issues.

Disconnecting

Remove the access token in the HubSpot integration to disconnect. 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.

Salesforce Integration

Alternative CRM integration for publications already on Salesforce (bespoke).

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.
Not via self-serve. We can run a one-time import on the backend during onboarding — contact support@outpost.pub with the segment you’d like imported.
The Private App access token needs the contact read and contact write scopes. 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.