Skip to main content
EzyConn

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.

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

https://api.ezyconn.com/v1

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.