Glossary
The vocabulary the rest of these docs use. Each term links to where it's covered in depth.
AgentView
The server-owned, per-agent state — calls, presence, SMS, conferences, wrap-up, and feature config. Your UI
is a pure function of it (UI = f(AgentView)). You render it; you never assemble it. See
State & events.
Snapshot
The full AgentView the server sends once, when the control stream opens. State changes after it arrive as
patches; errors and liveness messages have separate roles. See the stream.
Patch
One entity-level delta folded into AgentView (a oneof of ten — callUpsert, wrapUp, smsUpsert, …).
Calls/conferences upsert by id; SMS by peer. Removes carry the same key. See the patch types.
Intent
A typed command you send (placeCall, mute, transfer, sendSms, …). The server reduces it and the
result comes back as a patch — you never mutate state directly. See the
Intents reference.
StateCache
The SDK's in-memory mirror that applies the snapshot and folds each patch, then notifies
your subscriber with the current AgentView. One lives in each SDK.
seq
A monotonic sequence number on every state update. A gap means a patch was missed and the view is stale — resubscribe for a fresh snapshot.
Control plane / media plane
Control uses Connect or gRPC-web — the state stream and your intents. Media is WebRTC — the call audio, negotiated separately. They travel independently; see the intro.
Control-only
Running without browser audio: TS mediaFactory: null disables media; Go's default synthetic leg
still negotiates WebRTC but sends silence. Useful for dashboards, SMS and automation. See
Control only.
Register
The client action (register() in TS, Register(...) in Go) that announces the agent as reachable and
loads its deployment data — presence options, caller-ID numbers, phonebook, feature config. It also marks the
agent WebRTC-reachable on the backend, so a control-only client that takes calls pairs it
with setWebrtc(false) + an agent number. See Session & identity.
display-as
The outbound caller ID the consumer sees on a call the agent places. Chosen from
agent.availableNumbers via setDisplayAs. See Session & identity.
Agent number
The agent's external phone. When the in-browser WebRTC phone is off, the backend bridges the call to this
number instead. Set with setAgentNumber; see where calls ring.
Presence
The agent's availability, surfaced as three facets: presence is the coarse, server-computed AgentState
enum (available / in_call / …) for a status icon; presenceName is the agent's chosen presence
(set via setPresence, e.g. break); and line_blocked is an involuntary block the
platform sets — separate from the chosen one. See State & events and
Set presence.
line_blocked
An involuntary block set by the ACD / platform (busy / unreachable / declined / dnd),
distinct from a chosen busy presence the agent selected; cleared via Reset (resetLineStatus).
lineBlockedReason says which of the four it is — unreachable is the one a missed transfer invite leaves
behind, and it lifts itself after a short wrap-up. See State & events.
ACD state
The platform's routing state for the agent — what the ACD (automatic call distributor) thinks of the
agent's availability for distributing calls. It can differ from the agent's chosen presence:
e.g. the agent picks available but the ACD has marked the line blocked (see line_blocked).
Wrap-up (ACW)
After-call work — the timed window after a call ends. Surfaced as a wrapUp patch with a countdown you can
extend or cancel. See the wrap-up walkthrough.
Moderator
The agent who starts a conference. Moderator-only controls (kick / hold / mute a member, end) are gated on
Conference.iAmModerator. See Conferencing.
Warm / blind transfer
Warm (attended) is a two-step consult — pull the target into a conference, talk privately, then complete. Blind (cold) is a single hand-off, no consult. See Transfer.
Callback
A scheduled outbound call the agent accepts — it surfaces like an inbound call (RINGING, with
CallState.source = callback) and waits for answerCall / hangup instead of auto-answering, even when
autoAnswer is on. Not to be confused with a programming callback (onError, subscribe). See
A call, end to end.
Notification
A transient CTI screen-pop — the one patch arm that isn't stored. The TypeScript client hands it to your
onNotification callback and forgets it. See the patch types.
Embed
The prebuilt babelconnect agent app dropped into a host page via an <iframe> and a postMessage bridge,
driven from your CRM — instead of building your own UI. See Embedding.