How to publish a blog post to Ghost

To publish posts to a Ghost blog automatically, create a custom integration in Ghost so an outside app can create posts through Ghost's Admin API, and an AI marketer can do the whole job by preparing each approved post, checking your blog for overlap, and creating it in Ghost as a draft or a live post.

Part of Publish blog content consistently

Key Takeaways

  1. To publish to Ghost automatically, you create a custom integration in Ghost's settings. That gives an outside app an Admin API key, and the app uses it to create posts on your blog without anyone opening the editor.
  2. Ghost's own scheduler, and automation tools such as Zapier, Make, and n8n, can all get a post into Ghost. They move whatever you hand them, so deciding what the post says, how it's formatted, and what goes in its settings is still your job.
  3. A post is ready for Ghost when its headline, body, excerpt, tags, and search description are all decided, it links to your related posts, and it doesn't repeat something you've already published.
  4. Kite prepares the approved post, checks your live blog for posts on the same topic, and creates the post in Ghost through your connection, either as a draft for a last read or as a live post once you approve it.
  5. Kite then posts the link in your conversation along with the excerpt, tags, search description, and feature image it prepared, so whoever finishes the post in Ghost has everything in one place.
On this page

How do I publish posts to my Ghost blog automatically?

You publish to a Ghost blog automatically by letting a tool you trust create posts through Ghost's Admin API, which comes with self-hosted Ghost and with Ghost(Pro)'s Publisher plan and above. To allow it, you open the Integrations section of your Ghost settings and add a custom integration. Ghost gives that integration an Admin API key and an API URL. Any app holding both can create posts on your blog, and you can delete the integration at any time to cut off its access without touching your own login.

People usually use that access in one of three ways. Ghost's built-in scheduler publishes a post you've already written at a future date and time, which automates the moment of publishing but not the writing or the setup. Automation tools such as Zapier, Make, and n8n can create a Ghost post whenever something happens elsewhere, such as a new row in a spreadsheet or a new item in an RSS feed. Developers sometimes write a short script that sends Markdown files from a GitHub repository into Ghost each time they merge a change.

All of these move text well, but none of them decides what the post needs. A Ghost post is more than its body. It has a headline that also becomes its web address, an excerpt that shows on your blog's home page and in many themes' post cards, tags that group it with related posts, a feature image that appears at the top of the post and when it's shared, and a meta title and description that search engines show. An automation fills in only the fields someone mapped ahead of time, and it can't tell whether the post repeats one you published in the spring.

That's the real work in this job. A good result is a post that goes live complete: a clear headline, a body that reads well in your theme, links to your related posts, a short excerpt written for your blog's home page, the right tags, a feature image with alt text, and a search description written to earn the click.

Kite does that work for you. It takes an approved post, or writes one, prepares everything around it, and creates it in your Ghost blog after you approve it.

How to get started

Start by telling Kite which post you want on your Ghost blog. You can hand it a post you've already approved:

"Put the attached post on our Ghost blog as a draft so I can give it a last read."

Or you can ask Kite to write one and publish it:

"Write a post on how small clinics can cut no-shows, and publish it to our Ghost blog once I've approved it."

Kite is an AI marketer. It researches your business, builds a growth strategy, and ships the work that brings you new customers. By the time you ask, it already knows your products, your customers, and your brand voice from that research, so a post it writes sounds like the rest of your blog. It has also read your public blog, so it knows the topics you've covered and the tags you use. You can work with Kite in the Kite web app or in Slack, and if you share a file in the conversation, Kite reads it from there.

You'll need to connect your Ghost site with two things from the custom integration you created: its Admin API key and its API URL. Ghost shows both on the integration's page, and you paste them in when you connect Ghost to Kite.

Publishing to your live blog is the kind of step Kite asks about first. It shows you the finished post, and it creates it in Ghost when you approve. If you want Kite to publish without asking, you can give it that autonomy.

How Kite publishes a blog post to Ghost

Is this post already on your blog?

Kite reads your live blog before it creates anything, so you don't end up with two posts answering the same question. Every Ghost site publishes a sitemap of its posts, and Kite reads it along with the posts themselves to find anything close to the new one.

When it finds a close match, Kite tells you before going further. If the older post covers the same ground, Kite can suggest updating it instead, which keeps its web address and the links already pointing to it. Kite reads only what's published, so if a teammate has a draft on the same topic sitting in Ghost, mention it when you ask.

Getting the body ready for Ghost

Kite formats the body the way Ghost displays it, with headings, paragraphs, lists, links, and quotes in place, so the post reads the same on your blog as it did when you approved it. If you handed Kite a finished post, it keeps your wording and only adjusts the formatting.

Kite also adds links to your related posts. It looks through your blog for posts on neighboring topics and links to the ones a reader of this post would want next. Those links help readers keep going, and they help search engines understand how your posts fit together.

What goes in the post settings?

Kite prepares every setting Ghost shows in a post's settings panel, written for this post rather than copied from its first paragraph. It prepares the following:

  • Headline. The approved title, clear and specific enough that the web address Ghost builds from it reads cleanly.
  • Excerpt. A one- or two-sentence summary that tells a reader what they'll learn, written for your blog's home page and post cards.
  • Tags. Tags your blog already uses, so the post joins the right tag pages. If none fit, Kite suggests a new one and says why.
  • Meta title and description. The title and description search engines show, written to match what people search for on this topic.
  • Feature image and alt text. An image you shared, one from your own site, or one Kite creates in your brand's colors and style, with alt text that describes what the image shows.
  • Author. The team member whose byline should appear, which Kite looks up among your Ghost authors.

The post goes into Ghost with its headline and body, and Kite lists the other settings in the conversation, ready to paste into the post settings panel. That takes about a minute in Ghost, and it means the person giving the post its last read sees exactly what will appear on the site.

Publishing or saving as a draft

Kite creates the post in Ghost as a draft or as a live post, depending on what you asked for. A draft is the right choice most of the time, because it gives your editor the last read inside Ghost, the moment to add the settings, and the choice of whether to send the post to your newsletter subscribers. Ghost asks that question when someone clicks Publish, and it can't email a post after it's already live, so a post you want in subscribers' inboxes should start as a draft.

When you've already approved the post and want it on your blog right away, ask Kite to publish it, and it creates the post as live. If you want posts to go out on a regular rhythm, such as every Tuesday morning, ask Kite to run the job on that schedule. Each week it prepares the next approved post, creates it in Ghost, and reports back.

What Kite reports back

When the post is in Ghost, Kite posts the link in the conversation where you asked. For a live post, it opens the page on your blog to confirm that the headline and body display the way they should. For a draft, it tells you the draft is waiting in your Ghost dashboard.

The same message carries everything Kite prepared for the post settings: the excerpt, tags, meta title and description, the feature image with its alt text, and the byline. If anything needs changing after the post is live, make the edit in Ghost's editor, and Kite can write the new text for you. With Google Search Console or your analytics connected, Kite can also come back in a few weeks and tell you how the post is doing in search.

What the finished work contains

When Kite finishes, your Ghost blog has the new post, as a draft or live, and your conversation with Kite has everything needed to finish its settings.

The post

The approved body under a clear headline, formatted with headings, lists, and quotes, with links to your related posts.

The post settings

An excerpt for your blog's home page, tags from your existing set, a meta title and description for search, and the byline, all written out and ready to paste.

The feature image

The image file and its alt text, ready to upload in the post settings.

The summary

The link to the post, what Kite checked on the live page, and anything it needs from you, such as approval for a new tag or a decision about an overlapping post.

Common questions

Does this work with both Ghost(Pro) and self-hosted Ghost?

Yes, as long as your Ghost(Pro) plan includes custom integrations. Self-hosted Ghost and Ghost(Pro)'s Publisher plan and above include the Admin API and custom integrations, so you connect either one to Kite the same way, while Ghost(Pro)'s Starter plan doesn't include custom integrations. Ghost is open-source software published by the Ghost Foundation, a nonprofit, and Ghost(Pro) is its paid hosted version.

Can Kite send the post to my newsletter subscribers?

Kite creates the post as a draft so you can send it to your subscribers from Ghost. When someone clicks Publish on the draft, Ghost asks whether to publish it to the site, email it, or both, and lets them choose which newsletter it goes to. Kite can write the email subject line and a short preview for that send.

Can Kite add new subscribers to Ghost?

Yes. Through the same connection, Kite can add new members to your Ghost site and update existing ones. That's useful when people sign up for your newsletter somewhere else, such as at an event or through a form on another site.

Is Ghost good for blogging?

Ghost is built for publishing, so its editor, tags, built-in newsletter, and paid memberships all center on posts and the people who read them. It's a strong fit when your blog and your newsletter are the same body of work. Teams whose site is mostly product and landing pages often run the blog alongside a separate website builder.

Questions this page answers

  • How do I publish posts to my Ghost blog automatically?
  • How can I use an AI marketing agent to publish a blog post to Ghost?

About the author

Devon Wells leads product marketing at Kite, the AI marketer. He spent a decade marketing industrial AI, from self-driving trucks to computer vision, but now Kite handles most of the work itself.

Tell me your goal and I’ll get to work.

Get started for free