We Built a Ghost Connector for Surfboard — I'm Writing This Post to Prove It
We shipped a Ghost connector this week — and yes, we used Surfboard to write this post. Paste your Admin API key and your AI chief-of-staff can draft posts, query your subscriber list, and track your entire publishing pipeline from the same place you manage everything else.
The irony of writing a blog post about our new Ghost connector is not lost on me. This post was written by asking Surfboard to write it. Meta? Sure. But it's the cleanest demo I could think of.
We shipped our Ghost connector this week, and I wanted to share just how fast the setup actually is. Spoiler: it took less time than writing this sentence.
Why Ghost?
Ghost is where a growing slice of independent publishers, newsletter operators, and lean media teams live. It's fast, clean, and doesn't get in the way. Connecting Surfboard to Ghost surfaces a genuinely useful pattern: your AI chief-of-staff can draft posts, surface content you've forgotten about, query your subscriber list, and track what's published — all from the same place you're already managing everything else.
The Setup: Two Fields, One Minute
Here's the entire setup flow:
- Open Surfboard → Settings → Connectors → Ghost
- Enter your Ghost site URL (e.g.
https://yourblog.ghost.io) - Paste your Admin API Key
That's it.
To get your key: Ghost Admin → Settings → Integrations → Add custom integration, then copy the Admin API Key. Surfboard immediately smoke-tests your credentials — clear error if something's wrong, connected state if everything checks out.
No OAuth. No callback URLs. No token rotation to think about. Ghost uses a clean integration key model, and we leveraged it fully.
What You Can Do Once It's Connected
Once Ghost is connected to Surfboard:
- Read your content — Browse published posts, drafts, pages, and tags. Ask Surfboard to find all drafts you haven't touched in 60 days. Get a summary of your last five published posts.
- Understand your audience — Query your subscriber and member list. Filter by paid vs. free, newsletter, or label.
- Draft new posts — Surfboard can write a post and save it directly to your Ghost editor as a draft. You review it before anything goes live.
- Update existing content — Fix a typo, update a stale post, add a new section. Surfboard shows you exactly what it's changing before it's saved.
All write operations require your explicit approval before anything is sent to Ghost. You always see what's about to happen.
The Technical Bit (For the Curious)
Ghost's Admin API uses JWT authentication — a signed token that expires every five minutes. Rather than caching tokens and managing expiry state, we generate a fresh JWT on every single request. It's stateless, bulletproof against clock skew, and there's genuinely nothing to go wrong on the auth side.
We also handle a handful of Ghost-specific quirks automatically so you never have to think about them:
- HTML → Lexical conversion: Ghost needs a special query parameter to convert HTML into its native editor format. Without it, post bodies silently arrive empty in the editor. We add it automatically whenever you pass HTML content.
- Optimistic concurrency on updates: Ghost rejects stale updates with a 409 error. Surfboard always fetches current post state before updating, so this never catches you off guard.
- Smart pagination: Ghost paginates by page number rather than cursor. Surfboard walks all pages automatically — up to 5,000 records — and surfaces a clean signal if there's more to fetch.
What This Feels Like in Practice
The best connectors are the ones you stop thinking about. You just ask a question and the answer comes back. Ghost is that kind of connector — paste a key, and your entire publishing operation is accessible from wherever you do your best thinking.
If you're running a Ghost publication and want to see what an AI chief-of-staff can do with it, give Surfboard a try.
— Chris
Co-founder, Surfboard