Skip to main content
Your team can answer calls and dial customers from the dashboard. Human calling must be available in your workspace, and the number must have a working inbound or outbound route. When you answer, start, or rejoin a customer call, the inbox opens that call’s session automatically. You can browse other sessions while staying on the call.

Get ready to answer

  1. Open the dashboard and allow microphone access in your browser.
  2. Set your agent availability to available and turn on Available for calls in the sidebar user menu.
  3. Confirm that the inbound number is unassigned to AI, or that the AI agent has a Team transfer destination assigned.
  4. Place a test call and accept the incoming-call prompt. Check audio in both directions.
Callers who speak another language can be served by an interpreter bound to the number or team; it joins the call when you accept and translates both ways. Teammates already on a call, unavailable for calls, or in wrap-up are excluded from new rings. Chat session capacity limits do not affect phone availability. For a team destination, OpenCX first considers eligible members of that team. With telephony pacing off, an empty pool can fall back to available teammates across the workspace. With team telephony pacing on, calls wait for that team and only one teammate is offered each call at a time. For a direct inbound human call, no eligible teammates or an unanswered ring results in a missed call and the caller’s line ends. For an AI-to-team handoff, no eligible teammate can leave the AI handling the call. Test both cases when writing the agent’s handoff instructions; do not assume automatic voicemail or callback scheduling. To offer voicemail from an IVR, configure Record Voicemail with a receiving team and callback number. For direct inbound calls to your team, choosing Accept reserves the call while your browser connects. Connected duration starts once the phone connection is confirmed. If the line ends before that connection is established, the attempt is recorded as unanswered instead of completed. Reopening an ended call does not reconnect the caller; use the call-back control to start a new attempt.

Make an outbound call

Use the dashboard dialer to select a verified caller number and enter the customer’s international phone number. To return a call from an existing phone session, use its call-back control; the new attempt is kept with that session. This starts a call immediately. It does not schedule a later callback. If your role restricts outbound numbers, the caller-number menu shows only numbers allowed for your teams. Ask an admin to configure team outbound numbers and permissions if a number is missing. Starting a call from an existing session requires Sessions write access or Voice settings write access. Starting a new session requires Create sessions write access or Voice settings write access. Workspace admins with Voice settings write access can enable Allow agents to turn off call recording under Settings → Voice & Telephony. This setting appears only when telephony is enabled and is off by default. When off, agents cannot opt out and existing recording settings apply. Changes apply to new calls; an active call keeps its recording choice. When your workspace allows it, turn off Record audio to make that outbound call without saving audio. The choice applies only to that call and resets to on for the next call. Leaving it on follows the number’s existing recording settings; it does not enable recording when those settings disable it. This switch only controls saved audio. Live transcripts remain available when enabled for your workspace, and a summary can still be generated from them. Without a usable live transcript or recording, a summary may be unavailable. Call details such as the caller, time, duration, and outcome are still saved. The choice remains in effect if the call is transferred to another teammate. Its call card shows Audio recording was turned off for this call. instead of treating it as an unavailable recording. The session’s immediate call-back control continues to use the existing recording settings; use the dialer to choose an unrecorded outbound call.

Call from a sequence

A sequence voice step can be called by your team instead of the AI. On the step, choose Your team under Who calls, then pick the team, one of your own SIP trunks, and optionally the number people see (one of your verified numbers). Calls go only through your own trunk; connect one under SIP integration first. While the sequence runs, people due on the step ring for the team’s free agents: available, taking calls, and not already on a call. A pickup goes to one free agent and answers itself in their dialer. The call card shows who the person is from the sequence. People who ring per free agent (1 to 5, default 1) keeps agents busier above 1, but someone who picks up while every agent is on a call is missed. When an agent takes the call, that person’s remaining steps stop. No answer, busy, a failed call or a missed pickup moves them to the next step, so add another step if you want to retry. The agent who took the call can mark it Voicemail, and the person continues the sequence, or Wrong number, which adds the number to your outbound blocklist and ends their journey. If the trunk or the team is deleted, the number people see stops being one of your verified numbers, telephony is turned off, or most of the latest calls through the trunk fail, the sequence pauses itself and keeps everyone’s place. Fix what changed, or pick another trunk, team or number, then resume. A call is recorded once an agent takes it, following the team’s recording setting. To build the sequence from a spreadsheet, or to watch calls as they happen, ask Companion; it can also build a mini app for your team to upload lists.

Choose an outbound caller ID

In the dashboard dialer, open Make the call from to choose a verified caller ID. Search by name or phone number, including a partial number or a pasted number with spaces and punctuation. You can also scroll through the list and use the arrow keys and Enter to select a result. Press Escape to close the picker without changing the selected number.

Hold and transfer

Use Hold to pause the customer leg and Resume to return. Use Transfer to select a destination. During a consultation transfer, the customer stays on hold while you speak privately with the destination. Choose Complete to hand over, or Cancel to return to the customer. If the destination does not answer, cancel the ring and resume the call. The invited teammate can choose Leave call to leave a consultation before the transfer is completed. The customer stays with the original agent, who can resume the call or choose another destination. An unfinished transfer on an ended call does not keep the invited teammate busy; their availability and wrap-up settings still apply. A consultation transfer and a conference serve different purposes: completing a transfer hands the customer over; adding a participant keeps people together on the call.

Transfer directly to a phone number

Choose Transfer → Phone number, enter an international phone number, select a verified Caller ID, then choose Transfer now. The agent leaves while the destination rings. There is no private consultation. The caller hears ringing, and any recording already enabled for the call continues. If the destination fails or does not answer within 60 seconds, the call ends. This is different from Add participant, which keeps the agent on the call. Direct transfer to a phone number The call must be connected, with no other participants, pending invitations, or transfer in progress. The agent’s wrap-up window starts when they leave. They become available again when wrap-up ends. The customer’s call continues independently.

Control teammate transfers by role

In Settings → Roles, set Teammate call transfers to:
  • All teammates: transfer to any available teammate in the workspace.
  • Teammates with this role: transfer only to available teammates assigned that same role.
  • Disabled: no teammate transfers; phone-number transfers remain available.
Existing roles keep All teammates. When several roles are assigned, grants combine: an All teammates role wins; otherwise each Teammates with this role role contributes its eligible teammates. Administrators can transfer to all teammates. Normal calling permissions and availability checks still apply.

Add participants

On a connected call, the host can choose Add participant and invite an available teammate or dial an external phone number. External dialing uses a verified caller number. Adding participants requires Sessions write access. Participants shows connected people and pending invites. The host can withdraw an invite or remove a participant. If removal is interrupted, OpenCX retries it automatically. A teammate with a pending removal cannot rejoin by refreshing the page. An invited teammate can leave without ending the call for everyone. Muting a participant for yourself only changes what you hear. The call timeline records participant changes. Recording and live transcripts, when enabled, continue across the call; see Recordings and transcripts.

Wrap up and missed calls

Admins configure Wrap-up time in Settings → Voice & Telephony. A team can override this duration under Settings → Teams. While wrapping up, you do not receive new call rings from any team. Use I’m ready to finish early or add a minute if needed. Review missed calls in the inbox and decide whether to call back or use another channel. A missed human call is not automatically an AI outbound Call Finished workflow event. Validate the event source for the specific automation you configure.

Linking callers to your own customer profile

Most phone calls arrive as a number. Two settings turn that number into the customer your agents already know. Contact profile link (Settings → Workspace) adds a button to the session panel, the in-call bar and the incoming-call popup that opens the customer in your own admin. The URL is a template over the contact:
Placeholders: {{contact.phone_number}}, {{contact.email}} and {{contact.custom_data.<key>}} for any contact attribute. Values are URL-encoded; when a contact has no value for a placeholder the button is not shown. On the incoming-call popup the button follows the caller-number privacy setting, so a hidden number never leaks through the link. Identity on incoming calls. When a call rings your agents, the caller’s contact is matched against the connected customer systems (ticketing system, then the CRM connections) and the contact’s name and email are filled in from the match. The lookup runs alongside the ring and never delays it. If your customer data lives somewhere else, a workflow can do the lookup. The Phone call started trigger fires for every incoming call with the contact on trigger.call.ticket.contact, after the built-in matching has finished:
  1. Add an action that finds a customer by phone number in your system.
  2. Create a workflow on the Phone call started trigger that calls that action with {{trigger.call.ticket.contact.phone_number}}.
  3. Follow it with an Update contact step that sets the name and stores your customer id as a contact attribute, for example admin_user_id.
  4. Point the contact profile link at that attribute: https://admin.example.com/users/{{contact.custom_data.admin_user_id}}.
From the next call on, the popup and the session panel open the right profile in one click.

Organization selection and page refresh

Incoming calls, transfer requests, and conference invites ring in dashboard tabs open to the organization receiving the call. If you work in multiple organizations, open a tab for each organization where you want to receive calls and set your call availability there. Refreshing the page during a customer call briefly interrupts your audio. The dashboard reconnects to the same active call if the page returns within 30 seconds. Keep the same organization selected and allow microphone access. If no agent reconnects, the call ends after this grace period. Choosing End call still hangs up immediately.