Developers
Build againstthe API and webhooks.
Embed the widget, call the REST API, and receive signed events on your own endpoint. There is no published client SDK — this page says what does exist.
EzyConn is built to be extended. The Web SDK gets a working chat widget on your site in a couple of minutes, and the REST API and webhooks let you wire conversations into the rest of your stack: your CRM, your data warehouse, your on-call tooling. Below is the fast path: install the widget, make your first authenticated API call, then subscribe to the events you care about.
Web SDK
Drop the chat widget onto any site with a single script tag, then style and script it to match your brand.
REST API
Create conversations, sync contacts, and pull transcripts from your own backend over a predictable JSON API.
Webhooks
Subscribe to events like new messages and resolved conversations, and react to them in real time.
Mobile & client libraries
What exists today, and what does not: there is no native iOS or Android SDK yet.
Authentication
Every request is authenticated with a workspace API key sent as a bearer token over HTTPS.
Rate Limits
Generous per-workspace limits with clear headers so you always know how much room you have left.
Quick start: the Web SDK
Paste this snippet just before the closing </body> tag on every page you want the widget to appear. Swap YOUR_WORKSPACE_ID for the ID in Settings → Install. That's the whole install, with no build step and no npm package required.
<script>
(function (w, d) {
w.ezyconn = w.ezyconn || function () {
(w.ezyconn.q = w.ezyconn.q || []).push(arguments)
}
var s = d.createElement('script')
s.async = true
s.src = 'https://cdn.ezyconn.com/widget.js'
s.setAttribute('data-workspace', 'YOUR_WORKSPACE_ID')
d.head.appendChild(s)
})(window, document)
</script>Once it loads you can open the widget, pass in a signed-in user, or fire custom events from your own code:
// Identify the logged-in visitor so conversations stay attached to them
ezyconn('identify', { id: 'user_123', name: 'Priya', email: 'priya@acme.com' })
// Open the widget from your own button
ezyconn('open')
// Track a custom event to trigger a proactive message
ezyconn('track', 'viewed_pricing', { plan: 'pro' })REST API
The API is organized around REST. It has predictable, resource-oriented URLs, accepts JSON request bodies, returns JSON responses, and uses standard HTTP status codes and verbs. If you've used Stripe or any modern API before, this will feel familiar.
Base URL
Here's a complete request that starts a conversation on behalf of a contact:
curl https://api.ezyconn.com/v1/conversations \
-H "Authorization: Bearer $EZYCONN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contact": { "email": "priya@acme.com", "name": "Priya" },
"message": { "body": "Hi! I have a question about billing." }
}'Conversations
Start, read, assign, and resolve threads.
Messages
Post replies and notes, or fetch a full transcript.
Contacts
Create and update the people you talk to, with custom attributes.
Events
Send behavioural events that drive automations and routing.
Authentication
Authenticate every request with a workspace API key, generated under Settings → API keys. Send it as a bearer token in the Authorization header, always over HTTPS. Keys are scoped to a single workspace, can be rotated at any time, and should live in a server-side secret store, never in client-side code or a public repository.
Webhooks
Rather than polling, subscribe to the events you care about and EzyConn will POST them to your endpoint as they happen: conversation.created, message.created, conversation.resolved, and more. Every payload is signed, so you can verify it really came from us before you act on it. Use them to sync tickets to your help desk, alert an on-call engineer, or push transcripts into your warehouse.
Mobile & client libraries
There is no native iOS or Android SDK today, and no official Node, Python or Ruby client. Embedding EzyConn in your own mobile app is not supported yet. What does exist: the web widget, which runs in a mobile browser and in a web view, and the REST API and webhooks below, which are plain HTTP and work from any language.
Separately, there is an EzyConn mobile app for you and your team — for answering conversations and seeing bookings on a phone. That is a product, not a library you embed.
Rate limits
The API allows a generous number of requests per minute per workspace, enough for real-time sync without a second thought. Every response includes X-RateLimit-Remaining and X-RateLimit-Reset headers so you can back off gracefully. If you expect a large bulk import, tell us first and we'll lift the ceiling for you.
Stuck on something?
Read the code on GitHub, ask the community, or talk to a human on our team, whatever gets you unblocked fastest.
Get a key and send one webhook.
The free plan includes 2 seats and 500 messages a month — enough to install the widget, call the API and receive a signed event on your own endpoint.