Switch to Krisp in minutes without losing your customer context.
Moving from Crisp, Intercom, Zendesk, Tidio, Freshdesk, or Shopify? Import your contacts, custom attributes, Help Center articles, and saved replies with the migration wizard in your dashboard - and, from Crisp, your past conversations and People profiles too - then swap one script tag when you are ready.
Included on every plan · CSV & JSON importer · Crisp conversations through Crisp’s API · Matched by email & external_id, never duplicated
Everything that matters moves with your team.
Open the wizard from Settings → Integrations (Switch & migrate from another helpdesk), from Settings → Setup or from Contacts, and your workspace is ready before you flip the live chat switch.
1. Contacts & custom attributes
Upload any CSV or JSON export from your previous helpdesk. Krisp recognises the usual column names for email, name, phone, external_id, country, city, language and time zone, matches records by email or external_id, and keeps every other text column - company, tags, notes, plan - as a custom attribute on the contact.
- Up to 5,000 contacts (and 1 MB) per upload, as many uploads as you need
- Safe re-runs: existing contacts are merged, never duplicated
- Phone, country and city in their own fields; up to 40 custom attributes per contact
2. Help Center articles & AI knowledge base
Import your existing FAQ and knowledge base articles from CSV or JSON - published ones answer in the widget’s Help tab and in AI replies at once - or point the Krisp website crawler at your public help center so the AI can answer from it.
- Title, text, language and draft or published status kept; matched by title on a re-run
- A crawler for public docs and FAQ pages, up to 35 pages a crawl
- Ready for AI replies at once, with the source named under each reply in the inbox
3. Saved replies, macros & canned responses
Bring the slash commands your operators rely on every day. Import your macros and canned responses so typing /shipping, /refund, or /greeting in the Krisp composer brings up the same text on day one.
- A leading slash is dropped and spacing tidied (names up to 40 characters)
- A saved reply with the same name is updated, not duplicated; up to 200 per workspace
- Ready in the composer whichever channel a conversation is on
4. Widget & channel cutover
Set up your widget colours and greeting, automations and order lookup before you go live - nothing shows on your site until the tag is on it. When your team is ready, replace your old chat snippet with Krisp’s single script tag; the common window.$crisp calls keep working.
-
window.$crisp.push(...)calls for email, nickname, phone, session data and opening or closing the chat - WhatsApp, Instagram, Messenger, Telegram and Discord connect under Settings → Channels on Growth and Scale
- Test end-to-end on the built-in
/demopage before going live
Choose where you are migrating from.
Select your current provider below for exact export instructions, field mappings, and cutover tips.
Move from Crisp in 4 steps — including window.$crisp compatibility.
Krisp was designed so teams outgrowing Crisp’s per-workspace tiers or opaque AI add-ons can switch in an afternoon without rewriting their frontend user-identification code.
-
Bring your conversations over Crisp’s API
In the Migration Wizard, choose Crisp and 1. Crisp Chats & Telegram IDs (Direct Fetch), and paste your Crisp website ID with the API identifier and key from Crisp’s Settings → Workspace Settings → Advanced configuration. Only owners and admins can run it, and the key is never stored: it serves the run it was given for, so you give it again each time you continue, while the website ID and the identifier (sealed) are kept. Krisp only reads: every conversation with its messages, your People profiles, and the Telegram IDs of chats that came from Telegram - so once your Telegram bot is connected, those chats continue in the same thread.
-
Let it run over as many days as it takes
Crisp allows 10,000 API requests a day; Krisp stops at 9,000 and saves a checkpoint after every page. Press Stop / Pause Migration at any time and Continue Migration later - the next day, for a long history - to carry on from the next page. Nothing is imported twice, and a conversation’s segments become its tags.
-
Import contacts, articles & shortcuts, and crawl your website
Have a contacts CSV from Crisp (Contacts → Actions → Export CSV)? Upload it under 3. Contacts CSV / JSON. Use 4. Help Center Articles and 5. Saved Replies (/) for your Crisp Knowledge articles and shortcuts, and give your website address in Settings → Train the AI so Krisp crawls your site and keeps its pages’ HTML for AI chats.
-
Swap the widget script tag
Replace the
client.crisp.chat/l.jsscript with your Krisp<script src="https://krisp.chat/api/widget/<your-slug>/embed.js" async></script>snippet from Settings → Setup. Existing calls like$crisp.push(["set", "user:email", [...]]);continue to work out of the box.
Crisp CSV column Krisp Contact field
-------------------- -------------------------
email email (primary dedupe key)
nickname name
phone phone
user_id external_id
country, city country, city
company custom attribute
segments custom attribute
notepad custom attribute
* (any other column) custom attribute <key>
Keep your existing $crisp JS calls
If your web app already identifies logged-in users with window.$crisp.push(["set", "user:email", [user.email]]) or ["set", "session:data", [[["plan", "pro"]]]], Krisp’s loader answers window.$crisp itself, so that code keeps working once the tag is swapped. It handles set for user:email, user:nickname, user:phone and session:data, and do for chat:open, chat:close, chat:toggle, chat:show and chat:hide.
Escape per-seat and $0.99/resolution Fin billing without losing CRM context.
Intercom exports rich people attributes and Help Center articles. Krisp imports the people and the articles—and lets you bring your own OpenAI, Anthropic, or Gemini key so you pay raw token cost instead of per-resolution fees.
-
Export People & Leads from Intercom
In Intercom, go to Contacts → All Users / Leads → Export → Export all columns as CSV.
-
Upload to the Krisp Migration Wizard
Krisp maps
User IDtoexternal_idandName,EmailandPhoneto their fields, and keepsCompany,Tagsand SaaS attributes such as plan, MRR or signup date as custom attributes. Last-seen dates are left out. -
Crawl or import Intercom Articles
Either upload a JSON/CSV export of your Intercom Articles in the wizard or paste your Intercom Help Center URL into Settings → Train the AI to crawl up to 35 of its pages for the AI.
-
Import Intercom Macros
Upload your Intercom macros CSV/JSON under 5. Saved Replies (/) so your operators keep every canned response.
Intercom Export Krisp Contact field
-------------------- -------------------------
Email email
Name name
User ID external_id
Phone phone
Company custom attribute
Tags custom attribute
custom_attributes.* custom attributes
Move from heavyweight ticketing to real-time conversational support.
Import your Zendesk Support users, organizations, Guide articles, and Support macros in minutes.
-
Export Customers from Zendesk
In Zendesk Admin Center or Lists, export your end-users as CSV or JSON, or pull
GET /api/v2/users.jsonand paste theusersarray it returns. -
Import Users & Organizations
Drop the file into Krisp’s migration wizard under Zendesk. External IDs map to
external_id; organization names, tags and user notes are kept as custom attributes on each contact. -
Import Zendesk Guide & Macros
Upload your Zendesk Guide articles JSON/CSV and Zendesk Macros export under 4. Help Center Articles and 5. Saved Replies (/), or crawl your Zendesk Guide help center URL directly.
Zendesk Export Krisp Contact field
-------------------- -------------------------
email email
name name
external_id external_id
phone phone
organization custom attribute
tags custom attribute
notes / details custom attribute
Swap Tidio Lyro quotas for AI on your own key, capped where you choose.
Bring your Tidio subscribers, visitor properties, and canned responses directly into Krisp.
-
Export Contacts from Tidio
In Tidio, open Customers → All Contacts → Export to CSV.
-
Upload to Krisp
First and last name columns are automatically combined into
name, phone numbers, countries and cities go to their own fields, and tags and custom visitor properties are kept as custom attributes on each contact profile. -
Migrate Canned Responses & FAQ
Import your Tidio Canned Responses under 5. Saved Replies (/) and point the Krisp crawler at your store FAQ page so AI Autopilot can answer product and shipping questions immediately.
Tidio CSV column Krisp Contact field
-------------------- -------------------------
email email
first_name, last_name name (auto-combined)
phone phone
country / city country, city
tags custom attribute
Consolidate Freshdesk contacts, solutions, and canned responses.
Move your customer directory and solution articles into one fast, unified inbox.
-
Export Contacts from Freshdesk
In Freshdesk, navigate to Contacts → Export and select all contact fields as CSV.
-
Import Contacts, Solutions & Canned Responses
Upload your contacts CSV, Freshdesk Solutions export, and Canned Responses under 3. Contacts CSV / JSON, 4. Help Center Articles and 5. Saved Replies (/) in the Krisp Migration Wizard.
Freshdesk CSV column Krisp Contact field
-------------------- -------------------------
Email email
Full Name / Name name
Mobile / Phone phone
Work Phone custom attribute
Company Name custom attribute
Unique External ID custom attribute
Tags custom attribute
Import store customers and connect live HMAC order lookup.
Running an e-commerce store? Import your customer list from Shopify or WooCommerce, then connect the signed order lookup to your own server so a customer who pastes an order number gets its details in the chat, once your server has confirmed the purchase email.
-
Export Customers from Shopify Admin
In Shopify Admin, go to Customers → Export → CSV for Excel, Numbers, or other spreadsheet programs.
-
Import Customer Profiles
Upload the Shopify CSV in the Krisp Migration Wizard.
Total Spent,Total Orders,Accepts Email Marketing, and address fields are stored as searchable custom CRM attributes. -
Connect Live Order Lookup
Under Settings → Order lookup, pick the Shopify (
#100234) or WooCommerce preset, enter your endpoint and send a test request. The Shopify Orders plugin only spots order numbers so a thread can be routed; it makes no call to Shopify yet.
Shopify CSV column Krisp Contact field
-------------------- -------------------------
Email email
First Name, Last Name name (auto-combined)
Phone phone
Default Address Co. custom attribute
Tags custom attribute
Note custom attribute
Total Spent / Orders custom attributes
Bring chats from a Telegram bot or another live chat.
Conversations kept somewhere the wizard has no button for can come over as a JSON file in Krisp’s own format.
-
Get the specification
In the Migration Wizard, choose 2. Other Formats (Chats & Telegram JSON) and press Download Spec (.md) or Copy Spec (.md) for your developer.
-
Export conversations and messages
Each conversation needs its own ID, the customer’s name and where it came from; each message an ID, who wrote it, its text and its time. For Telegram chats, include the numeric
telegram_idso your connected bot can reply in the same thread. -
Upload or paste the .json file
The wizard sends it in batches of 25 conversations. Messages are matched by their IDs, so running the same file again adds nothing twice.
{
"conversations": [
{
"session_id": "conv_1001",
"state": "resolved",
"meta": {
"origin": "telegram",
"nickname": "Dana",
"data": { "telegram_id": "123456789" }
},
"messages": [
{ "fingerprint": "m1", "from": "user",
"content": "Is my licence still valid?",
"timestamp": "2026-10-08T11:29:00.000Z" },
{ "fingerprint": "m2", "from": "operator",
"user": { "nickname": "Sam" },
"content": "Yes - until March.",
"timestamp": "2026-10-08T11:31:00.000Z" }
]
}
]
}
The formats the importer accepts.
Exporting from an internal database or a custom script? Shape the file as below and upload or paste it in the wizard. The endpoints behind it answer a signed-in teammate only - an API key from Settings → API keys is refused - so imports always run from the dashboard.
POST /api/contacts/import
Takes CSV text ({"source": "crisp", "csv": "..."}) or a JSON array of contacts ({"source": "intercom", "contacts": [...]}), up to 5,000 a batch. Matches by email, then external_id, and merges custom attributes into the contact already there.
POST /api/articles/import
Creates or updates up to 500 Help Center articles from CSV or JSON (title, content or body, and status: published or draft, published by default), matched by title. Published articles answer in the widget’s Help tab and in AI replies at once.
POST /api/shortcuts/import
Creates or updates up to 200 saved replies from CSV or JSON (name or shortcut, and content), matched by name; a leading slash is dropped.
{
"source": "intercom",
"contacts": [
{
"email": "alex@acme.io",
"name": "Alex Rivera",
"phone": "+1 555 0100",
"external_id": "usr_9481",
"company": "Acme Corp",
"tags": "vip, annual",
"custom_attributes": { "plan": "enterprise", "mrr": 490 }
}
]
}
Ready to move your workspace over?
Create a workspace, open the interactive Migration Wizard, and test your imported contacts, articles, and macros before swapping a single line of production code.