[HOW IT WORKS · 5 minutes, in 5 steps]

Read this once.
Never read it again.

We're going to walk through every step a visitor and an agent take through muro — from the moment a snippet hits a page to the moment a conversation is closed.

1.Snippet drops2.Visitor opens3.You reply4.Email forward5.Close & log
01t+ 00:00

The snippet hits the page.

Six lines of vanilla JS. Loads async, isolated in a Shadow DOM, fingerprinted by hash, served from cdn.muro.chat.

  • No build step. No framework. Drop in <head>.
  • 28 KB gzipped. Fingerprinted, cache-friendly.
  • CSP-safe — works behind strict script-src.

// index.html

<head>
  ...
  <script>
    !function(w,d,o){w[o]=w[o]||
      function(){(w[o].q=w[o].q||
      []).push(arguments)};
      var s=d.createElement('script');
      s.async=1;
      s.src='https://cdn.muro.chat/widget.js';
      d.head.appendChild(s);
    }(window,document,'muro');
    muro('init',{ widgetId:'wgt_…' });
  </script>
</head>

widget injected · acme.com

02t+ 00:32

A visitor opens the bubble.

The widget waits, idle, in the corner. When clicked, it expands into a panel with your welcome message. We fingerprint the visitor (no cookie required) so they're remembered next time.

  • Idle bubble = ~1 KB after-load runtime.
  • Open-state lazy-loads the panel.
  • Visitor fingerprint = device + browser hash, not PII.
Lumière
lumiere.shop
Lumière
ShopJournalAbout
Cart (2)

New Drop · 14 May

A morning serum, in golden hour light.

Hydra Sérum

€38

Velvet Crème

€44

Aurora Mask

€32

Léa · Lumière

Online · replies in ~2 min

Powered by muro.chat

03t+ 00:58

You reply, from anywhere.

Open the dashboard or tap the mobile-PWA push. Reply in plain text or markdown. Use slash commands (/assign, /tag, /snooze) and canned responses (type : to insert).

  • Realtime via Soketi — sub-150ms one-way latency.
  • /assign /tag /close /snooze in the composer.
  • Type `:` for instant canned-response picker.

Marie Laurent

acme.com / pricing · paris, fr

online
hey, do you really not bill per agent?
Not even slightly. Add fifty if you want.
how much for ten of us?
$24/mo flat — same as one
/assign/tag/snooze: · canned responses
04t+ 01:42

Or just reply by email.

Every visitor message lands in your inbox. Hit reply on the email — our inbound parser strips signatures, pulls quoted thread, and posts it as a chat message back to the visitor. They see it in the widget, instantly.

  • Signed Reply-To with conversation ID.
  • Markdown rendered, attachments forwarded.
  • Inbound parsing handles Outlook, Gmail, Apple Mail.

Inbox · support@acme

↩ reply

From:Muro <[email protected]>

Reply-To: [email protected]

Subject: New message on acme.com

Marie · 88.123.45.67

"Could we do a 30-day trial instead of 14?"

↪ Reply directly to this email · or open conversation in dashboard

your reply will appear in the chat in <1 second
05t+ 02:14

Close the conversation. We log everything.

Hit E to close, S to snooze, J/K to navigate. Every action goes through an audit log on the Pro plan. We retain history for as long as your tier allows (7d / 90d / unlimited) and offer GDPR export & erasure built-in.

  • Audit log of every admin action (Pro+).
  • GDPR export / right-to-erasure on Settings.
  • Pluggable webhooks for analytics + CRM sync.

audit_log

last 90d
  • 2026-05-03 14:32:08[rob]conversation.closecnv_001
  • 2026-05-03 14:31:55[rob]message.sendcnv_001
  • 2026-05-03 14:31:12[rob]conversation.tagenterprise
  • 2026-05-03 14:29:40[system]pattern.firepat_pricing
  • 2026-05-03 14:29:38[visitor]message.sendcnv_001
  • 2026-05-03 14:29:30[visitor]session.startfp_a1b2c3
showing 6 of 1,284 entriesexport csv ↓

0kb

widget weight, gzipped

0ms

p50 first paint

0

languages out of the box

0+

teams already on it

[READY?]

You read the manual.
Try the product.