home/migrations/from Ghost
// migrate from

leave Ghost. keep the work.

mailexodus reads Ghost over its API and normalizes subscribers, lists, tags, campaigns into one portable schema — so you move with a report, not a 40-item checklist.

agentUse mailexodus skill: Ghost → Sequenzy playbook
// try it

see what moves out of Ghost.

A live route check, computed from Ghost's real API surface. Pick any destination to compare import support — nothing is written.

analyzing Ghost
source modePartial automated adapter
source exports4
Mailchimp imports8
destination gapsautomations
data leaves machineno · dry-run
$npx mailexodus@latest migrate --from ghost --to mailchimp --dry-run
agentUse mailexodus skill: GhostMailchimp playbook
// why teams leave

why teams leave Ghost.

  • Ghost migrations need an explicit boundary around what the API exposes.
  • Teams want a dry-run report before rebuilding subscribers, lists, tags, campaigns.
  • Saved segments, templates, and automations are not first-class export surfaces
// transfer boundary

what mailexodus pulls from Ghost.

can migrate
  • +
    subscribers
  • +
    lists
  • +
    tags
  • +
    campaigns
needs review
  • ?
    campaigns
cannot migrate
  • x
    segments
  • x
    custom fields
  • x
    suppressions
  • x
    templates
  • x
    automations
  • x
    sender reputation and domain warmup
  • x
    historical analytics, revenue attribution, and aggregate reporting
  • x
    contacts already mid-flight inside active automations
  • x
    A/B test results and provider-specific experiment history
  • x
    provider-native design blocks, product widgets, coupons, and private assets that are not exposed by API
source adapter

Partial automated adapter

Members map to subscribers. Newsletters map to lists. Labels map to tags. Newsletter posts map to campaign content

Saved segments, templates, and automations are not first-class export surfaces

// the playbook

how an agent migrates Ghost → Sequenzy.

This is exactly what mailexodus hands your agent: authenticate, then for each object type — read it from Ghost, map it to the portable schema, write it to the destination. mailexodus never writes; your agent does, with this report in hand.

01 · authenticate

Create a Ghost custom integration. Paste ADMIN_API_URL|ADMIN_API_KEY, or JSON with baseUrl and adminApiKey

01subscribersmigrates
readGET /ghost/api/admin/members/ (Read subscribers from Ghost.)
mapMembers map to subscribers. Newsletters map to lists. Labels map to tags. Newsletter posts map to campaign content mailexodus renders normalized provider data into destination subscribers, lists, segments, campaigns, sequences, and review notes.
writePOST add_subscriber (Write or stage subscribers in Sequenzy.) PATCH update_subscriber (Write or stage subscribers in Sequenzy.)
02listsmigrates
readGET /ghost/api/admin/newsletters/ (Read lists from Ghost.)
mapMembers map to subscribers. Newsletters map to lists. Labels map to tags. Newsletter posts map to campaign content mailexodus renders normalized provider data into destination subscribers, lists, segments, campaigns, sequences, and review notes.
writePOST create_list (Write or stage lists in Sequenzy.) POST add_subscribers_to_list (Write or stage lists in Sequenzy.)
03tagsmigrates
readGET /ghost/api/admin/labels/ (Read tags from Ghost.)
mapMembers map to subscribers. Newsletters map to lists. Labels map to tags. Newsletter posts map to campaign content mailexodus renders normalized provider data into destination subscribers, lists, segments, campaigns, sequences, and review notes.
writePOST create_tag (Write or stage tags in Sequenzy.)
04campaignsneeds review
readGET /ghost/api/admin/posts/?filter=email_only:true (Read campaigns from Ghost.)
mapMembers map to subscribers. Newsletters map to lists. Labels map to tags. Newsletter posts map to campaign content mailexodus renders normalized provider data into destination subscribers, lists, segments, campaigns, sequences, and review notes.
writePOST create_campaign (Write or stage campaigns in Sequenzy.)
stays behind
  • segments
  • custom fields
  • suppressions
  • templates
  • automations
  • sender reputation and domain warmup
guardrails
  • Sender reputation is earned at the destination — set up SPF/DKIM/DMARC and a warmup ramp; it does not transfer.
  • Keep the source platform active until authentication, warmup, and in-flight automations have finished.
  • Honor suppressions before the first send.
  • After writing, verify counts per object type against the source before switching live sends.
// run it

guide your agent, or follow it yourself.

Pull the full playbook from the skill prompt, CLI, or MCP server, then work the steps. Start by confirming credentials: Create a Ghost custom integration. Paste ADMIN_API_URL|ADMIN_API_KEY, or JSON with baseUrl and adminApiKey

inspect

provider coverage

npx mailexodus@latest info ghost

guide

agent playbook

npx mailexodus@latest guide --from ghost --to sequenzy

agentUse mailexodus skill: Ghost → Sequenzy playbook