The official Ghost integration on Zapier — a Zapier Platform CLI app that provides Ghost triggers, creates, and searches backed by the Ghost Admin API.
Zapier users connect their Ghost site with an Admin API key and URL (from
Ghost Admin under Integrations » Zapier) and build Zaps from:
- Triggers — instant REST hooks fed by Ghost webhooks: post/page published, post scheduled, and member created/updated/deleted
- Creates — create a post, create or update a member
- Searches — find a member or an author
All requests target the unversioned Admin API (/ghost/api/admin/) and
declare their compatibility version via the Accept-Version header.
For the full trigger/action inventory, including hidden dropdown providers for authors, tags, newsletters, and tiers, see docs/integration.md.
Triggers are instant: on Zap activation the app registers a webhook in Ghost, and Ghost pushes event payloads to Zapier from then on. Creates and searches call the Admin API directly.
flowchart LR
subgraph zapier["Zapier platform (this app)"]
auth["Authentication<br/>(Admin API key)"]
triggers["Triggers<br/>(REST hooks)"]
actions["Creates & Searches"]
end
subgraph ghost["Ghost site"]
admin["Admin API<br/>/ghost/api/admin/ + Accept-Version"]
webhooks["Webhooks"]
end
auth -- "site version & config check" --> admin
triggers -- "subscribe / unsubscribe" --> admin
actions -- "posts, members, authors" --> admin
webhooks -- "event payloads (instant triggers)" --> triggers
New Zap connections require Ghost 6.0 or later. Authentication reads
/ghost/api/admin/site/ and checks the reported version against the
supported range — single-sourced as SUPPORTED_GHOST_VERSION in
app/lib/utils.js, alongside the Accept-Version value.
Review it when a new major version of Ghost is released.
Sites on older Ghost versions keep working: existing Zaps stay pinned to the previously published integration versions they were created with (Zapier does not migrate Zaps across integration major versions) — they just cannot make new connections through the current version.
The app runs on zapier-platform-core v19, which uses Zapier's Node.js 22
Lambda runtime — use Node 22 locally (there is a .nvmrc if you have nvm
auto-switching enabled). See Zapier's
CLI requirements
for details.
# install dependencies (includes the Zapier CLI - run it as
# `pnpm exec zapier-platform`; the binary is called `zapier-platform` since v19)
pnpm install
# authenticate against Zapier's platform for CLI commands. Use the
# `info+zapier@ghost.org` Zapier account from 1Password.
pnpm exec zapier-platform loginpnpm lint # oxlint + oxfmt
pnpm test # unit tests (vitest, 100% coverage enforced)
pnpm test:e2e # end-to-end suite against a real Ghostpnpm test:e2e is self-contained: with Docker running it boots a throwaway
ghost:6 container, provisions an owner user and integration, runs the
suite, and tears everything down again. Alternatives:
GHOST_CORE_PATH=/path/to/Ghost pnpm test:e2eboots Ghost from a source checkout instead (install its dependencies first withpnpm install --frozen-lockfile --filter ghost...)- run any fresh Ghost install yourself, then
node test-e2e/setup/bootstrap.js(setGHOST_URLif it is not onhttp://localhost:2368) followed bypnpm test:e2e
More detail, including testing a private Zapier version against a local Ghost, lives in docs/testing.md.
The integration is deployed to Zapier's platform (app 1566) by GitHub
Actions: every green Test run on main refreshes a private 0.0.0-preview
version, and pnpm ship <version> releases — pro-ship bumps, commits, and
tags, and the tag push makes the publish workflow push and promote that
version.
Only the staged user migration is run by hand. The full runbook — the
automated flow, first-run setup, failure recovery, and testing a private
version against a local Ghost — lives in
docs/deployment.md.
- Zapier Platform CLI overview
- Zapier Platform CLI reference
- Integration checks reference — Zapier's best practices, useful to keep in mind when developing new features
Copyright (c) 2013-2026 Ghost Foundation - Released under the MIT license. Ghost and the Ghost Logo are trademarks of Ghost Foundation Ltd. Please see our trademark policy for info on acceptable usage.