SWITCH TO PLAIN

Bring every customer conversation with you

Import every ticket, customer, and chat exactly as it happened, no matter which platform you switch from.

Migrate from any platform, including the one nobody built an importer for.

Plain's API lets you write a custom migration script for any tool, recreating full thread history exactly as it happened. No valuable data gets left behind.

ESC

ESC

PLAIN_TOKEN=XXX

PLAIN_CUSTOMER_EMAIL=XXX


curl -X POST "https://core-api.uk.plain.com/graphql/v1" \

-H "Content-Type: application/json" \

-H "Authorization: Bearer $PLAIN_TOKEN" \

-d '{

"query": "query customerByEmail($email: String!) {

customerByEmail(email: $email) {

id

fullName

updatedAt {

iso8601

}

}

}",

"variables": {

"email": "'"$PLAIN_CUSTOMER_EMAIL"'"

},

"operationName": "customerByEmail"

}'

PLAIN_TOKEN=XXX

PLAIN_CUSTOMER_EMAIL=XXX


curl -X POST "https://core-api.uk.plain.com/graphql/v1" \

-H "Content-Type: application/json" \

-H "Authorization: Bearer $PLAIN_TOKEN" \

-d '{

"query": "query customerByEmail($email: String!) {

customerByEmail(email: $email) {

id

fullName

updatedAt {

iso8601

}

}

}",

"variables": {

"email": "'"$PLAIN_CUSTOMER_EMAIL"'"

},

"operationName": "customerByEmail"

}'

ESC

PLAIN_TOKEN=XXX

PLAIN_CUSTOMER_EMAIL=XXX


curl -X POST "https://core-api.uk.plain.com/graphql/v1" \

-H "Content-Type: application/json" \

-H "Authorization: Bearer $PLAIN_TOKEN" \

-d '{

"query": "query customerByEmail($email: String!) {

customerByEmail(email: $email) {

id

fullName

updatedAt {

iso8601

}

}

}",

"variables": {

"email": "'"$PLAIN_CUSTOMER_EMAIL"'"

},

"operationName": "customerByEmail"

}'

They already did the scary part.

They already did the scary part.

These customers moved years of history to Plain. Here’s what they’d tell you before you start

These customers moved years of history to Plain. Here’s what they’d tell you before you start

26k

tickets migrated from Zendesk

Plain gave us API access on day one, so we wrote our own migration scripts. This allowed us to choose exactly what data we wanted to bring across and refresh our customer support program with the right historical context.

Gualter Augusto, Head of Support Engineering at n8n

Migrated from Zammad

The migration to Plain was 99% flawless. We're very happy that it's operational and the team have been supremely responsive.

Peter Bennett, Head of Support at Yapily

Migrated from Zendesk and Salesforce

2 days

to fully migrate from Jira Service Desk

Join the teams who rely on Plain to
provide world-class support

Join the teams who rely on Plain to provide world-class support