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. 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.

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. 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.

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.