
For initial setup instructions, see Connecting Ghost.
How it works
- You connect Outpost to Ghost using Content API and Admin API keys
- Outpost sets up real-time notifications on your Ghost site to receive member and post events
- When a member is created, updated, or deleted in Ghost, Outpost updates its records automatically
- When Outpost applies or removes a label, it updates the member in Ghost to match
- Tiers, posts, tags, and newsletter segments are read from Ghost to drive Outpost’s automation and targeting
What syncs
| Data | Direction | When |
|---|---|---|
| Members (create, update, delete) | Ghost → Outpost | Real-time |
| Labels | Outpost → Ghost | On change |
| Posts and tags | Ghost → Outpost | Real-time and on-demand |
| Newsletter segments | Ghost → Outpost | On-demand |
| Tiers | Ghost → Outpost | On-demand |
Connection settings
The Ghost connection is configured under Core Connections in the left navigation. The settings include:| Field | Description |
|---|---|
| Content API Key | Read-only key for accessing published content (posts, tags, tiers). Found in Ghost Admin → Integrations → Custom Integration. |
| Admin API Key | Read/write key for member and label operations. Found in the same Ghost custom integration. |
| API URL | Your Ghost site’s URL (e.g., https://yoursite.com). |
| Webhook URL | Read-only URL that Outpost provides. This is where Ghost sends webhook notifications. |
| External webhook for new members | Optional URL to receive notifications when new members are added. Useful for triggering external workflows. |
Member sync
Ghost → Outpost
When a member event occurs in Ghost, Outpost automatically:- Creates or updates the matching member record in Outpost
- Syncs subscription status, tier, and payment information
- Applies any matching auto-subscribe rules for newsletters
- Updates segments and triggers any label-based automation flows
- Records the event in the Activity Log
Outpost → Ghost
When Outpost applies or removes a label (via automation, bulk action, or manual change):- Outpost updates the member’s labels in Ghost to match
- Ghost reflects the change in its member portal
- Any Ghost-side automations tied to that label are triggered
Tiers
Tiers are created and managed in Ghost. Outpost reads them so they’re available for:- Member filtering and segmentation
- Offer and access rule configuration
- Automation trigger conditions (e.g., “when a member upgrades to Premium tier”)
- Email campaign targeting
- Subscription schedules and complimentary subscriptions
What Outpost monitors
Outpost automatically listens for the following events from Ghost when you connect:| Event | Purpose |
|---|---|
| Member added | New member created in Ghost |
| Member updated | Member changed (email, name, subscription, labels) |
| Member deleted | Member removed from Ghost |
| Post published | New post published (for analytics and content tracking) |
| Post updated | Post updated (for content sync) |
Automatic sync checks
Beyond real-time updates, Outpost rechecks your member counts and labels against Ghost every few hours to catch anything a live update might have missed. Renamed or deleted labels are corrected automatically in the background. For member counts, Outpost allows for a small amount of normal variation — under roughly half a percent of your total — and resyncs automatically once a gap grows past that, so your data stays accurate without any action from you. If the difference is large, Outpost deliberately holds off on fixing it all at once, so it doesn’t overwhelm your Ghost site with requests. The mismatch is flagged for the Outpost team to resync safely instead. You don’t need to do anything — but if you’ve just made a big change in Ghost (such as a bulk import) and your counts look off, you can also resync manually.Manual resync
If sync gets out of state, use the resync options in Core Connections → Ghost:- Sync members — Re-import all Ghost members into Outpost, updating existing records and creating new ones
- Pull members from Ghost — Full re-import of the Ghost member list
Ghost API version
Outpost uses the Ghost Admin API v5. Your Ghost site must be running Ghost 5.x or later.Large sites
For sites with large member counts, Outpost automatically manages sync performance:- Bulk sync operations are spread out over time
- Member updates are processed in batches
- Failed requests are retried automatically
Related features
Stripe Integration
Stripe works alongside Ghost for subscription billing.
Activity Log
View Ghost sync events and errors.
Spam Filtering
Filter spam members synced from Ghost.
Members
Manage the member records synced from Ghost.
FAQ
Do I need to create a custom integration in Ghost?
Do I need to create a custom integration in Ghost?
Yes. Go to Ghost Admin → Settings → Integrations → Add Custom Integration. This gives you the Content API key and Admin API key that Outpost needs.
What happens if I disconnect Ghost?
What happens if I disconnect Ghost?
Outpost stops receiving member updates. Existing member data in Outpost is preserved, but it will become stale as Ghost members change. Labels applied by Outpost will remain in Ghost.
Why are some members not syncing?
Why are some members not syncing?
Check the Activity Log for sync errors. Common causes include incorrect API keys or connection issues on high-volume sites. Use the manual resync option to re-import all members.
Why is my member count slightly different in Outpost and Ghost?
Why is my member count slightly different in Outpost and Ghost?
A small difference is normal and expected — here’s why:
- Sync timing and tolerance. Members sync from Ghost in real time, but Outpost also runs a full count check against Ghost every few hours. It tolerates a tiny gap by design — under about half a percent of your total, and always at least a couple of members — so it isn’t constantly chasing one or two people who just signed up, were removed, or changed tiers. Once a gap crosses that point, Outpost resyncs on its own. A very large gap (say, right after a bulk import) is flagged for the Outpost team to resync safely instead.
- Marketing campaigns leave out opted-out members. When you build an email campaign and mark it as a marketing email, Outpost automatically excludes anyone who has opted out of marketing — members carrying the
Marketing_OptOutlabel — when it works out who will receive it. That makes a campaign’s audience smaller than your overall member count, even with the same tier or segment selected. New campaigns are treated as marketing by default, and you can see or adjust the excluded labels in the campaign’s audience settings.
Can Outpost create members in Ghost?
Can Outpost create members in Ghost?
Outpost does not create new members in Ghost. Members are created in Ghost (via signup forms, Stripe checkout, or import) and then synced to Outpost automatically.
Does Outpost support Ghost's native newsletter feature?
Does Outpost support Ghost's native newsletter feature?

