Ghost
OpenContact connects to Ghost through its official Admin API. Ghost newsletters appear as selectable lists and members can be imported, migrated, or routed into a specific newsletter.
Connect Ghost
In Ghost Admin, open Settings → Advanced → Integrations, create a Custom Integration, and copy its Admin API key. In OpenContact enter:
- The public HTTPS URL of the Ghost site, such as
https://news.example.com. - The Admin API key in
id:secretformat.
OpenContact encrypts the key and uses short-lived Ghost JWTs for API requests.
Members and newsletters
Refresh the connection after setup to load active Ghost newsletters. A sync or migration destination must select one of those newsletters. When updating an existing member, OpenContact fetches the current record and preserves their other newsletter memberships.
Ghost imports include the member’s free, paid, complimentary, or gift status, labels, Stripe customer ID, subscription status, tier, and original creation date as contact profile fields.
Paid-member migrations
Paid access is backed by the subscription in the Stripe account connected to
Ghost. From an OpenContact contact-list page, choose Export for Ghost to
download Ghost’s documented member-import CSV format. The export includes
stripe_customer_id, allowing Ghost to reconnect an existing Stripe customer
and active subscription.
The destination Ghost site must be connected to the Stripe account that owns those customer IDs. Upload the CSV from Ghost Admin’s Members → Import members screen. OpenContact does not manufacture paid status or create a second subscription.
Automatic updates
OpenContact can register Ghost’s official member.added, member.edited, and
member.deleted webhooks. The callback URL contains an unguessable token.
Subscribed member changes enter the normal contact-rule pipeline; removal from
all newsletters propagates as an unsubscribe.
Still stuck?
Send us your project ID and what you saw. Contact support.