← All posts
Guide7 min read

[GUIDE] · Apr 30, 2026 · 07:00

Migrating from Crisp in 30 minutes

A practical, click-by-click guide to moving conversations, visitors, tags, and the widget snippet — without losing message history or breaking deliverability.

ST

Sam Tanaka

Customer engineering

#guide#migration#crisp

Before you start

  1. 01Generate a Crisp API key with read scope on conversations, contacts, and websites
  2. 02Make sure your team is signed out of Crisp (write activity during import = orphaned messages)
  3. 03Have a maintenance window of ~5 minutes for the snippet swap

Step 1 — Run the importer

In your muro workspace go to Settings → Integrations → Import from Crisp. Paste your API key. Pick which website to import (we recommend one at a time even if you have several — easier to spot misses).

bash# Or via the CLI if you prefer
muro import crisp \
  --api-key=$CRISP_TOKEN \
  --website-id=abc-123 \
  --since=2024-01-01

The importer streams conversations in pages of 100. Expect ~2 min per 1,000 conversations. It runs idempotently — you can re-run it and it will skip already-imported messages by external ID.

Step 2 — Verify

Open /app/inbox in muro. Filter by tag crisp:imported. Spot-check 5-10 conversations: visitor identity, message order, attachment integrity, internal notes preserved.

Step 3 — Swap the snippet

In your site's <head>, replace the Crisp snippet:

html<!-- before -->
<script>window.$crisp=[];window.CRISP_WEBSITE_ID="…";
(function(){d=document;s=d.createElement("script");
s.src="https://client.crisp.chat/l.js";s.async=1;
d.getElementsByTagName("head")[0].appendChild(s)})();</script>

<!-- after -->
<script defer src="https://w.muro.chat/v1.js"
  data-website="ws_lumiere"></script>

Both can co-exist for a few hours during the migration window. New conversations will appear in muro; replies on already-open Crisp threads stay there until the visitor returns. Once you're confident, remove the Crisp snippet.

Step 4 — Point email forwarding at our MX

If you've been replying to Crisp emails, your team's muscle memory is "reply to that address." Set up an email forward in your provider so legacy Crisp inbound emails forward to your muro Reply-To address. Most teams do this for ~30 days, then drop it.

Step 5 — Cancel Crisp

No surprise bill, no "but you've had a seat for 3 days into the new month." Cancel from Crisp's billing page; their pro-rata refund policy applies.

✦ ✦ ✦

Common questions

  • Will visitors notice? No — they'll see the same widget shape, in your brand color.
  • Custom CSS / overrides? Re-apply via Shadow Parts (we publish a mapping doc).
  • Webhooks? Re-point them to our /v1/webhooks URL pattern — payload schema is documented.
  • Slack notifications? Re-connect from Settings → Integrations.
ST

✎ Written by

Sam Tanaka

Customer engineering