mailexodus reads Klaviyo over its API and normalizes subscribers, lists, segments, custom fields into one portable schema — so you move with a report, not a 40-item checklist.
Klaviyo migrations need an explicit boundary around what the API exposes.
→
Teams want a dry-run report before rebuilding subscribers, lists, segments, custom fields.
→
Flow logic may need manual review before activation
// transfer boundary
what mailexodus pulls from Klaviyo.
can migrate
+
subscribers
+
lists
+
segments
+
custom fields
+
suppressions
+
campaigns
+
templates
+
automations
needs review
?
Flow logic may need manual review before activation
cannot migrate
x
tags
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
Automated adapter
Profiles map to subscribers. Lists and segments map to their matching destination objects. Profile properties map to custom attributes. Campaigns, templates, and flow emails map to content items
Flow logic may need manual review before activation
// the playbook
how an agent migrates Klaviyo → Sequenzy.
This is exactly what mailexodus hands your agent: authenticate, then for each object type — read it from Klaviyo, map it to the portable schema, write it to the destination. mailexodus never writes; your agent does, with this report in hand.
01 · authenticate
In Klaviyo, create a private API key with read access to profiles, lists, segments, campaigns, templates, flows, and suppressions
01subscribersmigrates
readGET https://a.klaviyo.com/api/profiles?additional-fields[profile]=subscriptions (Read subscribers from Klaviyo.)
mapProfiles map to subscribers. Lists and segments map to their matching destination objects. Profile properties map to custom attributes. Campaigns, templates, and flow emails map to content items 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 https://a.klaviyo.com/api/lists (Read lists from Klaviyo.) GET https://a.klaviyo.com/api/lists/{id}/profiles (Read lists from Klaviyo.)
mapProfiles map to subscribers. Lists and segments map to their matching destination objects. Profile properties map to custom attributes. Campaigns, templates, and flow emails map to content items 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.)
03segmentsmigrates
readGET https://a.klaviyo.com/api/segments (Read segments from Klaviyo.) GET https://a.klaviyo.com/api/segments/{id}/profiles (Read segments from Klaviyo.)
mapProfiles map to subscribers. Lists and segments map to their matching destination objects. Profile properties map to custom attributes. Campaigns, templates, and flow emails map to content items mailexodus renders normalized provider data into destination subscribers, lists, segments, campaigns, sequences, and review notes.
writePOST create_segment (Write or stage segments in Sequenzy.)
04custom fieldsmigrates
readGET https://a.klaviyo.com/api/profiles (Read custom fields from Klaviyo.)
mapProfiles map to subscribers. Lists and segments map to their matching destination objects. Profile properties map to custom attributes. Campaigns, templates, and flow emails map to content items mailexodus renders normalized provider data into destination subscribers, lists, segments, campaigns, sequences, and review notes.
writePATCH update_subscriber.customAttributes (Write or stage custom fields in Sequenzy.)
05suppressionsmigrates
readGET https://a.klaviyo.com/api/profiles?additional-fields[profile]=subscriptions (Read suppressions from Klaviyo.)
mapProfiles map to subscribers. Lists and segments map to their matching destination objects. Profile properties map to custom attributes. Campaigns, templates, and flow emails map to content items mailexodus renders normalized provider data into destination subscribers, lists, segments, campaigns, sequences, and review notes.
writePATCH update_subscriber.status (Write or stage suppressions in Sequenzy.)
06campaignsmigrates
readGET https://a.klaviyo.com/api/campaigns?filter=equals(messages.channel,'email') (Read campaigns from Klaviyo.)
mapProfiles map to subscribers. Lists and segments map to their matching destination objects. Profile properties map to custom attributes. Campaigns, templates, and flow emails map to content items mailexodus renders normalized provider data into destination subscribers, lists, segments, campaigns, sequences, and review notes.
writePOST create_campaign (Write or stage campaigns in Sequenzy.)
07templatesmigrates
readGET https://a.klaviyo.com/api/templates?additional-fields[template]=definition (Read templates from Klaviyo.)
mapProfiles map to subscribers. Lists and segments map to their matching destination objects. Profile properties map to custom attributes. Campaigns, templates, and flow emails map to content items mailexodus renders normalized provider data into destination subscribers, lists, segments, campaigns, sequences, and review notes.
writePOST create_template (Write or stage templates in Sequenzy.)
08automationsmigrates
readGET https://a.klaviyo.com/api/flows (Read automations from Klaviyo.) GET https://a.klaviyo.com/api/flows/{id}/flow-actions (Read automations from Klaviyo.)
mapProfiles map to subscribers. Lists and segments map to their matching destination objects. Profile properties map to custom attributes. Campaigns, templates, and flow emails map to content items mailexodus renders normalized provider data into destination subscribers, lists, segments, campaigns, sequences, and review notes.
writePOST create_sequence (Write or stage automations in Sequenzy.) POST insert_sequence_step (Write or stage automations in Sequenzy.)
stays behind
tags
sender reputation and domain warmup
historical analytics, revenue attribution, and aggregate reporting
contacts already mid-flight inside active automations
A/B test results and provider-specific experiment history
provider-native design blocks, product widgets, coupons, and private assets that are not exposed by API
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: In Klaviyo, create a private API key with read access to profiles, lists, segments, campaigns, templates, flows, and suppressions