Before you start
- 01Generate a Crisp API key with read scope on conversations, contacts, and websites
- 02Make sure your team is signed out of Crisp (write activity during import = orphaned messages)
- 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-01The 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/webhooksURL pattern — payload schema is documented. - →Slack notifications? Re-connect from Settings → Integrations.