§ 01Create your workspace.
Head to the demo dashboard at the sign-in page. Use the seeded owner account, or in production create a new workspace — pick a slug, that becomes your subdomain (acme.livechattools.com).
On first sign-in you land in the inbox. There are no real conversations yet — that is what step two fixes.
§ 02Embed the widget.
Paste the loader script before the closing </body> tag. That is all — no React component to mount, no Vue plugin to register.
<script src="https://app.livechattools.com/widget-loader.js" data-tenant="acme" async defer></script>Replace acme with your own workspace slug. The script fetches its theme live from your tenant — colours, copy, RTL flag, and avatar — so design changes never require a re-deploy of your site.
§ 03Send your first reply.
Open your site in a second browser tab, click the bubble, and type "Hello world". The message arrives in the dashboard inbox in real time over a Socket.IO channel — sub-second, with no polling fallback.
Press ⌘↩ on any agent reply to send it. The visitor sees your message appear with a soft chime and a presence dot that switches to "Typing…" while you compose.
§ 04Invite your team.
From Settings → Agents, click Invite, and enter an email and role. EasyLiveChat emails a single-use link; clicking it sets a password and drops the new agent straight into the inbox. Roles enforce what they can see — owners administer billing, admins manage agents, agents respond.
curl -X POST https://acme.livechattools.com/api/tenant/agents \
-H "Authorization: Bearer $EASYLIVECHAT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"email": "noor@acme.test",
"name": "Noor Al-Saadi",
"role": "ADMIN"
}'§ 05Set working hours.
Off-hours the widget swaps the composer for an offline form. Conversations still land in your inbox — they are tagged offline for a clean follow-up the next morning. Configure weekday windows under Settings → Working hours, each in your tenant's local timezone.
{
"timezone": "Asia/Erbil",
"schedule": {
"sunday": [{ "from": "09:00", "to": "18:00" }],
"monday": [{ "from": "09:00", "to": "18:00" }],
"tuesday": [{ "from": "09:00", "to": "18:00" }],
"wednesday": [{ "from": "09:00", "to": "18:00" }],
"thursday": [{ "from": "09:00", "to": "18:00" }],
"friday": [],
"saturday": []
},
"offlineMessage": "We're back Sunday at 9. Leave a note — we will reply."
}§ 06Where to go next.
- Wire up WhatsApp CloudVerify your number, paste the webhook, send template messages.
- Subscribe to outbound webhooksPush every conversation event into your own data warehouse.
- Open the API referenceBuild a EasyLiveChat-driven flow into your own software.
- Translate the widget into your localeJSON dictionary, code-split per locale, RTL automatic.
Was this article useful?