EarlyForge
GuidesPublishing

Publish to Ghost

Connect EarlyForge to Ghost and publish articles through the Ghost Admin API.

Publish to Ghost

Connect a site to your Ghost publication — self-hosted or Ghost Pro — to publish articles through the Ghost Admin API. This guide covers creating a custom integration, configuring the connection, testing, publishing, and Ghost-specific options like newsletters and member visibility.

Prerequisites

  • Ghost 5.0 or later (self-hosted or Ghost Pro)
  • Administrator access to your Ghost site
  • Your Ghost site URL (for example https://myblog.ghost.io)

Connect your Ghost site

Create a custom integration in Ghost

In Ghost Admin, go to Settings → Integrations → Add custom integration. Name it EarlyForge. Ghost generates an Admin API key, which EarlyForge uses to create posts.

Treat the Admin API key like a password. You can revoke it at any time by deleting the EarlyForge integration in Ghost, which immediately cuts off access.

Open the connection settings in EarlyForge

Go to Connectors → Ghost and click Add a site. You can connect several Ghost sites, each with its own credentials.

Enter your credentials

FieldExample
Ghost API URLhttps://myblog.ghost.io
Admin API key64f5a...a3b2:8e7d...f1c0

The Admin API key is stored inside this site's connection and encrypted by EarlyForge. It is never displayed back to you in full and is used only to publish to your Ghost site. You never need to manage tokens or sessions manually — EarlyForge handles authentication on every request.

Set publishing defaults

Choose the defaults applied to every post:

  • Default tag — the Ghost tag assigned to new posts
  • Default statusdraft (review in Ghost first) or published (go live immediately)
  • Newsletter — optionally assign posts to a Ghost newsletter so subscribers receive them by email on publish
  • Visibility — who can read the post (see member visibility below)

Test the connection

Click Test connection. EarlyForge verifies that the URL is reachable and the Admin API key is authorized to create posts. A green confirmation appears on success.

Save the connection

Click Save. Ghost is now an active publishing destination for this site.

Publish an article

Open any article and choose Publish → Ghost. EarlyForge sends the title and content to Ghost, which preserves your formatting — headings, lists, blockquotes, code blocks, and images. The article excerpt becomes the custom excerpt, the lead image becomes the featured image, and SEO title and description are set from the article metadata.

Start with the draft status so you can review posts in Ghost before they reach your audience. Once you are confident in the output, switch to published for a hands-off workflow from trend to subscriber inbox.

Ghost-specific options

Newsletter delivery

If your Ghost site has newsletters configured, assign published posts to a newsletter and subscribers receive the article by email when its status is published. Combine this with scheduled publishing for a fully automated trend-to-inbox pipeline.

Member visibility

Control who can read each post:

VisibilityAccess
PublicAnyone can read the full article
MembersRegistered (free) members only
PaidPaying subscribers only

Set the default visibility in the connection settings; you can override it per article before publishing.

Scheduled publishing

Scheduled publishing is available on Pro and higher plans.

Let articles publish to Ghost automatically: generate them from a brief on a schedule, or set a recurring publishing cadence for the site. Scheduled posts respect your default status, so you can stage drafts for review or publish live automatically.

Cross-publishing

Ghost can be your primary destination while EarlyForge also pushes the same article to other connected destinations (such as Medium or LinkedIn). Each destination keeps its own settings, and a failure on one never blocks the others.

Reliability

If several publish attempts to Ghost fail in a row, EarlyForge briefly pauses publishing and retries automatically once your site is reachable again. Monitor every delivery in Connectors → Activity, where failed attempts can be retried with one click.

What's next?