home/migrations/to Ghost
// migrate to

move to Ghost without rebuilding by hand.

mailexodus normalizes your current platform into one portable schema, then checks what Ghost can actually import. You get a route report before your agent writes anything.

agentUse mailexodus skill: your source → Ghost playbook
// try it

bring your data into Ghost.

Pick the platform you're leaving and generate a route playbook. The report shows what maps cleanly into Ghost's model and what needs review — before you approve writes.

analyzing Klaviyo
source modeAutomated adapter
source exports8
Ghost imports4
destination gapssegments, custom fields, suppressions, templates, automations
data leaves machineno · dry-run
$npx mailexodus@latest migrate --from klaviyo --to ghost --dry-run
agentUse mailexodus skill: KlaviyoGhost playbook
// fit

when Ghost is the right move.

Ghost is a strong fit for teams that want ghost publishers moving members, newsletters, labels, and newsletter post content. The migration risk is rarely the CSV — it is the automation graph: triggers, delays, branches, template references, and consent state. mailexodus puts a portable schema in the middle so those objects are inspected before they become Ghost objects.

// inbound

what Ghost receives.

can import
  • +
    subscribers
  • +
    lists
  • +
    tags
  • +
    campaigns
needs review
  • ?
    destination mappings still need final operator review
not exposed for import
  • x
    segments
  • x
    custom fields
  • x
    suppressions
  • x
    templates
  • x
    automations
destination adapter

Partial automated adapter

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

Ghost can receive members, newsletters, labels, and email-only posts. Suppression state is not a first-class import/export object; preserve member newsletter consent as subscriber metadata/status instead. Dry-run the report first, then approve writes when the counts and destination gaps look right.

// before you switch

plan the move to Ghost.

  1. Authenticate your sending domain in Ghost (SPF, DKIM, DMARC) and plan a warmup window — sender reputation is earned here, it does not transfer.
  2. Bring consent and suppression state across first, so unsubscribes and bounces are honored from the first send in Ghost.
  3. QA migrated templates and segments inside Ghost, and send seed tests before any live campaign.
  4. Keep your current platform active until in-flight automations finish and Ghost is warmed and trusted.
// migrate it

start with the route playbook.

The agent prompt returns a route report with source exports, destination imports, skipped objects, and manual-review tasks. When it looks right, wire credentials and approve writes from a controlled machine.

inspect

destination coverage

npx mailexodus@latest info ghost

playbook

agent playbook

Ask mailexodus for a migration_playbook with to=ghost

agentUse mailexodus skill: your source → Ghost playbook