Open the workspace.
Sign in at app.ezw.solutions/login. Use Admin for setup, Inbox for operator work, and Kanban for pipeline movement.
Customer runbook
Use this guide for day-to-day customer work: lines, QR reconnects, users, line access, inbox replies, internal notes, Kanban, contacts, campaigns, API tokens, webhooks, billing, support access, and troubleshooting.
Sign in at app.ezw.solutions/login. Use Admin for setup, Inbox for operator work, and Kanban for pipeline movement.
In Admin, confirm each WhatsApp number is online before promising replies or automations. QR required means the phone owner must reconnect the line.
Open conversations, claim or assign ownership, reply from the right line, add internal notes, and forward messages only when the recipient and content are correct.
Move conversations by drag-and-drop or status select. Use Kanban as customer workflow state, not as a replacement for the conversation timeline.
| Area | Who uses it | What it controls |
|---|---|---|
| Owner/admin | Customer workspace managers. | Organization details, users, lines, permissions, contacts, campaigns, API tokens, webhooks, billing, support reference, and audit history. |
| Operator | Team members handling conversations. | Inbox conversations, claim/assign workflows, replies from allowed lines, internal notes, direct sends, forwarding, and Kanban movement according to line visibility. |
| Line permission | Configured by owners/admins. | Which teammates can see or operate each WhatsApp number. Line visibility affects inbox, sends, notes, media, and workspace reads. |
| Creator support access | EZWhatsApp support under explicit break-glass access. | Customer content visibility only when support access is active and audited. No hidden support visibility is assumed. |
The Admin area is the customer setup and control center. Use it for account details, team access, WhatsApp numbers, contacts, campaigns, analytics, API/webhook setup, billing, support reference, and audit review.
Keep business details and visible organization settings current. This helps operators and integrations use the right organization context.
Invite teammates, update roles, manage password resets when available, and choose which lines each member can access.
Use analytics for response, bot, webhook, and line evidence. Treat it as reporting over durable state, not a guarantee that WhatsApp delivery has completed.
Review changes and support-sensitive events. Use audit history when a teammate, line, token, campaign, or support action needs an evidence trail.
In Admin, open Lines, create a line with display name and phone number when needed, then select that line to manage QR, default assignee, permissions, token, and webhooks.
QR pairing is a phone-owner action. Request a QR, scan it from WhatsApp linked devices on the phone that owns the account, then refresh the line state after scanning.
Online/sendable means replies can be sent. QR required means pairing must happen before sends. Blocked, restricted, archived, disconnected, or unavailable states mean outbound work should stop.
Assign a default teammate for each line when new conversations should naturally route to a specific owner. This does not replace manual claim/assign decisions in the inbox.
The Purchase line tab lets admins work with available virtual mobile numbers when live provider reads are available.
In Admin, select a line and open API. Create or rotate the line token. Rotation invalidates the old token immediately. Store the new token server-side only.
Use the Channel ID and token for Channel API calls. A line token belongs to one WhatsApp number and must not be placed in browser code or screenshots.
Save a webhook URL for the selected line, enable or disable it, and watch event delivery evidence. Receivers should store delivery ids and return 2xx after successful processing.
For request fields, target types, and copy-ready examples, use API Docs, API Examples, and the API tester.
| Action | How to operate it | When to use it |
|---|---|---|
| Filter and open conversations | Use line filters/search, then open the thread from the conversation list. | Start every customer interaction from the visible conversation timeline. |
| Claim | Use Claim when the thread is unassigned or belongs to another owner and the current operator should take it. | Make responsibility explicit before replying. |
| Assign | Open thread options, choose Assign, then pick an active teammate. | Route work to the person who should own follow-up. |
| Reply | Type a reply, optionally attach one image, confirm the sending line state, then send. | Respond inside an existing conversation. |
| Internal note | Add a note in the Notes panel for the selected conversation. | Record internal context without sending it to WhatsApp. |
| Direct send | Open the dialer, choose a sendable line, enter a phone number, message, and optional image. | Start or continue a direct customer conversation from a workspace user. |
| Forward | Use Forward on a message that supports forwarding, enter recipient phone number, then send. | Preserve selected message content when forwarding to another recipient. |
| Return to bot | Use Return to bot only when the bot panel appears for a bot-managed conversation. | Hand ownership back to an integrated bot workflow when the UI shows that control. |
Kanban shows conversations grouped by configured customer status fields. It is for workflow status, not for replacing the inbox timeline.
Contacts help operators identify customers and give campaigns/imports an auditable source. Preserve source names, phone numbers, companies, tags, notes, and external ids exactly as supplied by the customer system.
Use Admin Contacts to import rows from a known source. Verify invalid rows and duplicate signals before relying on the imported set.
Open contact details when available, update only known customer facts, and delete only when the customer record should be removed from the workspace contact directory.
Campaigns are for the scoped customer-admin campaign workflow. They are not a way to hide cold outbound inside direct-send loops.
Choose campaign name, send-from line, message body, optional image, upload or paste CSV recipients, source filename, min/max delay, and hourly cap. Review preflight total, valid, invalid, and duplicate counts before creating.
Launch only draft campaigns with a reviewed recipient source, valid line, consent basis, and conservative pacing. Watch queued, sent, failed, and cancelled counts.
Cancel running/non-terminal campaigns when complaints, spam reports, blocks, opt-outs, or source problems appear. Delete only non-running records when the campaign record should be removed; already-created outbound messages stay in the inbox.
Replay fills a draft from stored campaign variables. Reattach image media when needed and review the source again before launching.
Billing state can lock or limit parts of the workspace. Check billing status before diagnosing send failure as a QR or provider issue.
Use support reference and audit history before opening a support request. Include the relevant line name, conversation id, campaign id, webhook id, delivery id, timestamp, and visible error text when available.
Creator support should not view customer content without an active audited break-glass support session.
Use audit history to understand who changed line permissions, tokens, webhooks, campaign state, organization settings, or support access.
| Problem | Check first | Next action |
|---|---|---|
| Replies cannot send | Line state, sendability, billing state, and operator line permission. | Reconnect with QR only if the line is QR-required and the phone owner is ready. |
| QR is waiting or expired | Whether the phone owner scanned from WhatsApp linked devices before expiry. | Request a fresh QR, scan once, then refresh the line. |
| Webhook receiver missed events | Webhook enabled state, target URL, receiver 2xx response, delivery id storage, and recent failures. | Fix receiver idempotency and response handling, then test with a single known event. |
| API send duplicated or retried unexpectedly | Whether the client reused a deterministic Idempotency-Key. |
Use one stable key per logical outbound attempt and retry the same request with the same key. |
| Campaign will not launch | Campaign status, valid recipient count, line state, owner/admin role, and pacing fields. | Fix invalid rows or state conflict before launching again. |
| Kanban move fails | Whether another user changed the conversation version or deleted the target status. | Refresh the board and move the current conversation version. |