Zapier
Two polling triggers — a new lead, and a visitor asking for a human — against the same API key the REST endpoints use. Everything downstream is Zapier's: a row in a sheet, a ticket, a Slack message, a record in your CRM.
Connect it
Zapier asks for an API key. Create one in Account → API keys and paste it — the connection test calls /api/v1/zapier/me, which also fills the “Which assistant?” dropdown with your bots. If the key is wrong or your plan does not include Zapier, that call answers with a sentence rather than a status, and Zapier shows you the sentence.
curl https://app.matterchat.co/api/v1/zapier/me \
-H "Authorization: Bearer mc_sk_..."The two triggers
New lead
/api/v1/zapier/leads
Fires when a visitor leaves contact details. Carries the email, name, message and topic, plus a link straight to the conversation it came from.
New handoff request
/api/v1/zapier/handoffs
Fires when a visitor asks for a human. Ordered by when they asked, not when the chat started, so an hour-old conversation does not arrive out of order.
Calling them yourself
Both are ordinary GET endpoints, so you do not need Zapier to use them. Newest first, up to 50 items. botId narrows to one assistant, since takes an ISO timestamp, and limit lowers the ceiling.
curl "https://app.matterchat.co/api/v1/zapier/leads?limit=10" \
-H "Authorization: Bearer mc_sk_..."Zapier stops at the first id it has already seen, which is why these return newest first and why sinceis optional — the id check is the reliable half, and it still holds if someone edits a Zap and replays an old cursor. Handoff requests raised from “Send test” conversations are excluded, so trying the widget never raises a ticket in your helpdesk.