Connecting your ACD
Erlangly scores adherence and runs the wallboard from agent states your ACD sends: available, on a call, after-call work, breaks, logged off. Five ACDs connect directly: Erlangly reads their agents' states and their queues' volumes itself, only reads, and connects out to them, so nothing on your network has to be reachable from the internet. Any other ACD, or a short script in front of it, sends states to the API. Tell us which ACD you run and we'll help you write it.
Start under Settings → Connections → Add a connection, and follow your ACD's page:
- Twilio Flex (beta): a restricted, read-only API key. Checked against a live Flex account.
- Zoom Contact Center (beta): a Server-to-Server OAuth app with read-only scopes.
- Genesys Cloud (beta): a read-only role and an OAuth client.
- NICE CXone (beta): an app registration, and an access key for a user with a read-only role.
- Amazon Connect (beta): an IAM user with a read-only policy.
- Another ACD, or a script: below.
Another ACD, or a script
1. Add a connection
Under Settings → Connections → Add a connection, choose Another ACD, or a script. You get a token, shown once: keep it in the script or integration that sends the states.
2. Send agent states
POST /api/v1/agent_state_events
Authorization: Bearer <the connection's token>
Content-Type: application/json
{ "events": [
{ "agent_ref": "4411", "occurred_at": "2026-10-06T14:03:11Z",
"state": "ON_CALL", "reason_code": null, "event_id": "abc-1" }
] }
- Up to 500 events per request; send them as they happen, or every few seconds in batches.
agent_refis the agent's ID in your ACD.event_idmakes retries safe: a repeated ID is reported as a duplicate, not applied twice. Agent IDs, codes and event IDs are 255 characters at most.- Each event gets its own result:
applied,duplicate,out_of_order(kept, but never moves someone's state backwards),unchanged(OFFLINEfor someone logged in on another connection: logged in anywhere counts) orinvalidwith the reason.
3. Link agent IDs and map state codes
- Agent IDs come with people: on each person's page, or in the people import. IDs nobody is linked to show up under the connection, where you can say who each one is.
- Erlangly's states are
AVAILABLE,ON_CALL,ACW,BREAK,AUXandOFFLINE. Your ACD's own codes show up under the connection to be mapped, by code or asCODE:REASON.
Volumes
The same token sends interval volumes to POST /api/v1/volume_intervals, with the columns of the volume import. A line of business gets its volumes from one connection: one that Erlangly reads from your ACD itself isn't open to another connection's token. If two clients share a line of business's code, send the ACD queue's ID instead.