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.
// inboundwhat Ghost receives.
- +subscribers
- +lists
- +tags
- +campaigns
- ?destination mappings still need final operator review
- xsegments
- xcustom fields
- xsuppressions
- xtemplates
- xautomations
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.
plan the move to Ghost.
- Authenticate your sending domain in Ghost (SPF, DKIM, DMARC) and plan a warmup window — sender reputation is earned here, it does not transfer.
- Bring consent and suppression state across first, so unsubscribes and bounces are honored from the first send in Ghost.
- QA migrated templates and segments inside Ghost, and send seed tests before any live campaign.
- Keep your current platform active until in-flight automations finish and Ghost is warmed and trusted.
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.
destination coverage
npx mailexodus@latest info ghost
agent playbook
Ask mailexodus for a migration_playbook with to=ghost
Use mailexodus skill: your source → Ghost playbook