Publish to Ghost
Connect IANews to Ghost CMS and publish articles via the Admin API with JWT authentication.
Publish to Ghost
Connect IANews to your Ghost instance -- self-hosted or Ghost Pro -- to publish articles via the Admin API. This guide covers creating an integration, configuring the connection, and working with Ghost-specific features like newsletters and member visibility.
Prerequisites
- Ghost 5.0 or later (self-hosted or Ghost Pro)
- Administrator access to your Ghost site
- Your Ghost API URL (e.g.,
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 IANews. Ghost generates two keys:
- Admin API Key -- Used by IANews to create and update posts
- Content API Key -- Used for reading published content (optional)
Copy both keys and store them securely.
Open the connection settings in IANews
In IANews, navigate to Sites -- select your site -- Connections -- Ghost.
Enter your credentials
Fill in the following fields:
| Field | Example |
|---|---|
| Ghost API URL | https://myblog.ghost.io |
| Admin API Key | 64f5a...a3b2:8e7d...f1c0 |
| Content API Key | c9f8e2... (optional) |
Test the connection
Click Test Connection. IANews verifies access by calling the Ghost Admin API /site/ endpoint and confirms that post creation is authorized.
Configure defaults
Set your preferences:
- Default tag -- The Ghost tag assigned to new posts
- Publish status --
draft(review in Ghost first) orpublished(go live immediately) - Newsletter assignment -- Optionally assign posts to a Ghost newsletter for email delivery
Save the connection
Click Save. Your Ghost connection is now active.
Ghost Admin API authentication
Ghost uses JWT-based authentication for the Admin API. The Admin API key has the format {id}:{secret}, where:
- id -- A 24-character hex string identifying the integration
- secret -- A 64-character hex string used to sign the JWT
IANews automatically creates a short-lived JWT (5-minute expiry) from your Admin API key for every request. The JWT is signed with HS256 using the secret portion, with the kid header set to the key ID and the audience set to /admin/. You never need to manage tokens manually.
Admin API Key format:
64f5a1b2c3d4e5f6a7b8c9d0:8e7d6c5b4a3928170615243342516071...
├── key_id (24 hex) ──┤:├── secret (64 hex) ───────────────┤
Ghost handles HTML-to-Mobiledoc conversion automatically. Your article formatting -- headings, lists, blockquotes, code blocks, and images -- is preserved as expected.
How publishing works
When you publish an article, IANews creates a Ghost post via the Admin API endpoint POST /ghost/api/admin/posts/ with:
- Title and HTML content -- Ghost converts HTML to Mobiledoc internally
- Custom excerpt generated from the article summary
- Featured image set via the image URL
- Tags based on your category mapping configuration
- SEO metadata -- meta title and meta description
- Newsletter delivery -- if configured, the post is emailed to subscribers on publish
Ghost-specific features
Newsletter integration
If your Ghost site has newsletters configured, you can assign published posts to a specific newsletter. Subscribers on that newsletter receive the article by email when its status is published. Set the newsletter slug in the Ghost connection defaults.
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 fully automated workflow from trend detection to subscriber inboxes.
Member visibility
Control who can read the article on your Ghost site:
| Visibility | Access |
|---|---|
| Public | Anyone can read the full article |
| Members | Only registered (free) members |
| Paid | Only paying subscribers |
Set the default visibility in the Publishing settings. You can override it per article before publishing.
Tag mapping
IANews maps its internal categories to Ghost tags. When an IANews category does not have a corresponding Ghost tag, one is created automatically. To map to existing tags, configure the mapping in Sites -- Connections -- Ghost -- Tag Mapping.
Automatic error recovery
The Ghost connector includes built-in automatic error recovery. If several consecutive publish attempts fail, publishing is temporarily paused and queues subsequent requests. Once the connection recovers, queued articles are retried automatically. Monitor status in Sites -- Connections -- Status.
Auto-publish from briefs
Enable Auto-Publish in Sites -- Settings to have articles from scheduled briefs sent to Ghost automatically. Combined with newsletter assignment, this creates a fully hands-off workflow from trend detection to subscriber inboxes.
What's next?
- WordPress -- Connect WordPress as an alternative or additional CMS target
- Webhooks -- Receive event notifications when articles are published
- Medium and LinkedIn -- Cross-publish to social platforms for wider distribution