Your team, perched on every conversation.
Perch puts a chat bubble on your website and gives your team one shared inbox to answer from — live, together, without stepping on each other.
Maya
from Perch
Inbox
Hey! Is the Pro plan monthly or annual?
Thanks, that worked!
Can you reassign this?
<1s
Message delivery
2 min
From signup to live
1 line
Of code to install
0
Double-answered chats
Everything your support team needs.
Nothing you have to configure. Sign up, add the bubble to your site, and this is what your team works with.
One shared inbox
Every chat from your website lands in one place for the whole team — and updates live, without anyone refreshing.
Claim chats, don’t collide
One click makes a conversation yours. If two teammates reach for the same one, the first wins and the other is told instantly — visitors never get two competing replies.
See who’s available
Green dot means online. Your team sees who’s around, and visitors see whether anyone’s home before they write.
Notes visitors never see
Leave private notes on any conversation for your teammates — perfect for handovers and context.
Saved replies
Answer the questions you hear every day in two keystrokes: type / and pick a template.
Hand off mid-conversation
Transfer a chat to the right teammate with the full history attached. The visitor just sees a new name say hello.
Live on your site in one copy-paste.
If you can edit your website, you can add Perch. Paste this one line and the chat bubble appears — no developer required.
<script src="https://perch.adedeji.xyz/widget.js" data-site-id="ws_abc123" async></script>Works on any website — Shopify, WordPress, Webflow, plain HTML. Your visitors chat right away; they never need an account.
under the hood
Also an open-source engineering build.
For the technically curious: Perch runs on real WebSockets end to end, with one typed event contract shared by the widget, the server, and the dashboard. Even the “two agents grab the same chat” race is settled by the database itself — first one wins, guaranteed, no matter the timing.
Read the sourceUPDATE conversations SET assigned_agent_id = $me, status = 'open' WHERE id = $id AND status = 'unassigned'; -- 1 row → claim.ok · 0 rows → claim.conflict
Free. All of it.
Every feature, unlimited teammates, unlimited conversations. No credit card, no trial clock. If that ever changes, this is where the plans would live.
Ready to let your team perch?
Create your workspace, paste one line on your site, and watch the first conversation land while you’re still on this page.