Skip to main content
Share
Guides

Beyond Chat: Escalating to Voice, Video and Co-Browsing

Some problems cannot be solved in a text box. How to escalate a chat to a live call or a shared screen without sending the customer to a different tool - and how to do it without exposing card details.

Content & Engineering
Aug 2, 2026
17 min read
Updated Aug 2026Expert Reviewed
chatbot escalationco-browsing supportvideo chat customer supportwebrtc live chatscreen share support
TL;DR

Some problems cannot be solved in a text box. How to escalate a chat to a live call or a shared screen without sending the customer to a different tool - and how to do it without exposing card details.

Key Takeaways
  • Escalate beyond text when the problem is visual, spatial, or when describing it costs more than showing it.
  • Three signals reliably justify it:The customer cannot describe what they are seeing.
  • "It says an error" after three exchanges means text has failed.The task has steps the customer must perform.
  • Configuration, form completion, settings changes - guided is faster than instructed.The value at stake justifies the agent minutes.

When should a chat escalate to voice, video or co-browsing?

Escalate beyond text when the problem is visual, spatial, or when describing it costs more than showing it. Three signals reliably justify it:

  • The customer cannot describe what they are seeing. "It says an error" after three exchanges means text has failed.
  • The task has steps the customer must perform. Configuration, form completion, settings changes - guided is faster than instructed.
  • The value at stake justifies the agent minutes. A high-value order or a churn-risk account earns a call; a delivery-status question does not.

What matters as much as when is where. If escalation means "here is a Zoom link", you have introduced a scheduling problem into a live conversation, and a meaningful share of customers will not follow a link out of the tab they are already in. This is the same reasoning behind chatbot-to-human handoff generally - the fewer tools a customer has to switch between mid-conversation, the more of them actually complete the conversation.

This guide covers the three escalation modes available inside a chat widget - voice, video and co-browsing - how they differ technically, when each earns the agent time it costs, and how to keep them from becoming a data-protection liability. None of these modes replace a well-designed bot flow or a solid knowledge base; they exist for the residual fraction of conversations where text genuinely runs out of road, and treating them as anything more than that is how support teams end up with an expensive tool nobody uses correctly.

It also helps to be honest about the failure case up front: escalation infrastructure that exists but is never triggered is worse than no escalation at all, because it gives the impression a hard problem is covered when in practice agents route around it by asking for a phone number or an email instead. If you are going to build this, build it so agents actually reach for it - which mostly comes down to making the offer fast, in-widget, and obviously relevant to what the customer just said.

The escalation ladder

Think of support modes as rungs, each with a higher cost and a higher resolution power:

ModeBest forAgent cost
BotKnown questions, lookups, bookingsNone
Live chatJudgement calls, exceptions, negotiationLow - agents handle several at once
Voice callEmotional situations, complex explanationHigh - fully serial
Video callPhysical products, identity checks, onboardingHigh
Screen shareDiagnosing an error, showing a settingHigh
Co-browsingOn-screen tasks, forms, configurationHigh, but shortest to resolution

The mistake is jumping rungs. Offering a video call for a question the knowledge base answers wastes an agent; forcing a customer through six chat turns for something co-browsing would solve in ninety seconds wastes both. A well-tuned bot resolves the bottom of the ladder itself and reserves the top three rungs for the fraction of conversations that actually need them - see our human handoff guide for how to set that threshold.

Notice, too, that cost does not rise in a straight line. Live chat is cheap per conversation because one agent covers several threads at once; the moment you move to voice, video, screen share or co-browsing, that agent is committed to exactly one customer until the session ends. This is the real reason escalation needs a gate rather than an open button on every conversation - it is not that the technology is expensive to run, it is that agent attention does not multiplex once a call starts. Staff your escalation queue with that constraint in mind rather than assuming it scales the way chat does.

Why in-browser escalation matters

The technical decision that determines whether escalation actually gets used is whether the customer has to leave the conversation.

Modern browsers support real-time voice and video natively through WebRTC (Web Real-Time Communication), which the World Wide Web Consortium and the IETF finalised as a joint standard on 26 January 2021 after roughly a decade of development. At the time of standardisation, the W3C noted that WebRTC was already supported by browsers used by 95% of web users worldwide1 - which is why it works as a baseline assumption rather than a feature you have to ask visitors to enable. That means a call can start inside the same chat widget the customer is already using: no install, no meeting link, no dial-in, no account. The customer clicks accept and is talking to the agent.

The alternative - pasting a third-party meeting link - introduces four failure points: the customer must click out, possibly install something, possibly sign in, and find their way back if it fails. Each one loses people, and none of them show up as a clean metric - they just look like an abandoned conversation in your analytics.

On Conferbot, voice and video calls run peer-to-peer over WebRTC with the signalling handled by the platform itself rather than a third-party calling vendor, and both are off by default per chatbot so you enable them deliberately rather than discovering them enabled. Call start, end, duration and outcome are written into the conversation record, so a call appears in the handoff transcript instead of vanishing from the history.

Peer-to-peer also has a privacy side-effect worth knowing: for a direct WebRTC connection, media flows agent-to-customer rather than through a vendor's servers, which is one reason to prefer it over embedding a third-party video widget that routes every call through infrastructure you do not control. When a direct path is not possible - a restrictive network on either end - a relay (TURN) server is needed as a fallback, and that is the one piece of this stack that does route media through a server, so it is worth knowing which relay provider is in use and where it is hosted if data residency matters to your business.

1 W3C, "WebRTC becomes a W3C Recommendation and multiple IETF standards", 26 January 2021.

Try it yourself
Build your first chatbot free
Free plan, no credit card required. Live on your site in about 10 minutes.
Start building free

Voice, video and screen share: what's actually different

These three modes are often talked about as one thing - "a call" - but they capture different media and solve different problems:

  • Voice. Audio only. The camera stays off; the visitor's getUserMedia request asks for audio, not video. Best when the issue is emotional or needs a negotiation - a refund exception, a cancellation attempt - where tone carries more information than anything visual.
  • Video. Camera and microphone. Useful when the agent needs to see something physical: a damaged product, a device that will not power on, an ID for a verification step.
  • Screen share. The visitor's browser captures their screen or a specific window through the Screen Capture API (getDisplayMedia), a W3C specification that requires the user to actively grant permission for each session2 - there is no way to trigger it silently. The agent sees pixels: whatever is genuinely on screen, including anything the visitor forgot was on screen.

The pixel-versus-page distinction matters for the next section. Screen share hands the agent a video feed - it cannot selectively hide a single input box, because it does not know what a text field is, only what colour the pixels are. Co-browsing works at the page level instead, which is what makes field-level masking possible at all.

There is also a bandwidth and reliability difference worth knowing before you pick a default. Voice tolerates packet loss far better than video - a customer on patchy mobile data can usually sustain a voice call long after a video call would have degraded to a frozen frame. If your audience skews toward mobile or lower-bandwidth connections, defaulting to voice with video as an opt-in upgrade, rather than the other way round, will measurably reduce dropped sessions.

2 W3C, Screen Capture specification.

Co-browsing without exposing card details

Co-browsing is the highest-resolution rung and the one most teams avoid, usually for a good reason: watching a customer's screen while they type a card number is a data-protection incident waiting to happen.

The fix is field masking, applied before anything is transmitted. Because co-browsing operates on the page's DOM rather than a pixel stream, sensitive inputs can be matched by CSS selector and blanked on the way out - the agent sees the page layout and the customer's progress but never the protected values. That is the structural advantage co-browsing has over screen share: a masking rule can target [name*=card] specifically, something a raw video feed has no concept of.

Three controls make co-browsing safe to offer:

  1. Visitor approval. The session starts only when the customer explicitly accepts, every time - requireVisitorApproval is on by default and cannot be silently bypassed.
  2. Field masking by policy. Defined centrally at workspace level with sensible presets and overridable per bot, down to fifty custom selectors.
  3. Remote control as a separate permission. Viewing is one thing; letting an agent click on the customer's behalf is another, and it is tracked as a distinct request-and-approve step in the session (cobrowse_control_request / cobrowse_control_response), not a default.

Set the masking policy before you enable the feature, not after the first incident.

It is worth being precise about what masking actually protects. A masked field never leaves the visitor's browser in the first place - it is not encrypted-then-decrypted, it is simply excluded from what gets sent. That distinction matters if you are answering a security review: the agent's session never has access to the value at all, so there is no point in the pipeline where a compromised agent account or a logging bug could expose it. The trade-off is that masking is only as good as the selector list, which is why the audit step in the failure-modes table below exists - a masking policy that silently misses a custom checkout field is worse than no masking policy, because it creates false confidence.

Calculate your chatbot ROI
See exactly how much a chatbot saves your business. Free calculator, no signup required.
Try Calculator

Choosing a masking preset for your industry

Rather than writing selector lists from scratch, start from a preset built for the kind of data your page actually collects, then narrow or widen it:

PresetMasksRemote controlOn by default
E-commerceCard number, CVV, checkout payment blocksAllowedYes
HealthcarePatient identifiers, date of birth, medical record fieldsBlockedNo - opt-in per bot
FinanceAccount and routing numbers, SSN, statement fieldsBlockedNo - opt-in per bot
SaaSAPI keys, secrets, tokens, billing fieldsAllowedYes
CustomWhatever selectors you defineAllowedNo

Healthcare and finance ship with remote control blocked and the feature off by default - an agent should not be one click away from acting inside a patient record or a bank statement without a deliberate decision to allow it. E-commerce and SaaS ship enabled because the failure mode there is usually an abandoned checkout or a stuck configuration screen, not a regulated data category. If you serve one of these categories, start from the matching preset and layer your own selectors on top rather than opting straight into "custom" with an empty list - see our healthcare chatbot and insurance chatbot pages for the wider compliance context each vertical needs beyond co-browsing.

Designing the escalation moment

The offer itself decides whether escalation converts:

  • Offer it, do not force it. A button the customer can ignore beats an automatic call invitation.
  • Say what it will do. "Share your screen so I can see the error" converts better than "Start co-browse session", which sounds like software.
  • Preserve the transcript. The agent should join already knowing what the bot covered - starting a call with "so, what's the problem?" wastes the entire automated conversation. This is the same context-carrying principle behind omnichannel deployments: nothing the customer already said should have to be repeated.
  • Give an exit. Ending the call should return to chat, not close the conversation.
  • Log the outcome. If calls do not appear in your analytics you cannot tell whether they resolve anything.

Also decide in advance who can escalate. Every agent offering video calls for routine questions will destroy your cost-per-contact - pair escalation permissions with the team roles that already govern who can do what in your workspace.

A detail teams get wrong the first time: the invitation copy should come from the agent, not the system. "Sarah wants to share your screen to help with this" reads as a person trying to help; "Escalation available - click to accept" reads as a modal dialog, and modal dialogs get dismissed on reflex. If your platform lets you customise the invite text per session rather than shipping one generic string, use that - it is a small copy change with an outsized effect on acceptance rate.

Choosing the right session type for the ticket in front of you

A support ticket rarely announces which mode it needs. Use the shape of the problem to route it:

Ticket looks likeRoute toWhy
"It won't let me finish checkout"Co-browse (e-commerce preset)Agent needs to see the form state, not the card number
"The item arrived damaged"Video callPhysical evidence, not a screen state
"I want to cancel and I'm frustrated"Voice callTone and negotiation matter more than visuals
"This dashboard chart looks wrong"Screen shareWhole-window context, no sensitive fields likely on screen
"I can't find where to update billing"Co-browse (SaaS preset)Navigation problem masked around API keys and tokens

When in doubt, start one rung lower than you think you need. A screen share that turns out to require field-level masking can be ended and restarted as a co-browse session in seconds; the reverse - discovering mid-call that co-browsing was overkill - costs nothing either, but starting high trains agents to reach for the expensive option by default.

Common escalation failures and how to fix them

Most escalation problems are not exotic - they cluster around a small set of causes:

SymptomLikely causeFix
Call never connectsPeer-to-peer WebRTC path blocked by a restrictive corporate firewall or symmetric NATConfigure a TURN relay server as fallback, not just STUN
Customer declines the inviteCamera-on requests feel invasive for a low-trust first interactionOffer voice or co-browse first; reserve video for cases that need it
Agent sees a blank or frozen page in co-browseVisitor navigated away from the masked page or closed the tabShow a clear "session ended" state instead of a stale frame
Masked field still visibleSelector doesn't match a custom or third-party checkout fieldAudit selectors against the live DOM before enabling the policy workspace-wide
Recording missing after the callBrowser codec support gap or upload interrupted before it completedConfirm recording status in-session rather than assuming it after the fact

The first row is the one that quietly kills adoption: teams enable video, test it once on the office network where it works perfectly, and only discover the NAT traversal problem when real customers on real networks start reporting silent failures. Test escalation from a connection you do not control - a phone on mobile data, a laptop tethered through a hotel network - before rolling it out, not just from the office Wi-Fi where every corner case has already been engineered around.

Measuring whether it is worth it

Voice, video and co-browsing consume agent time serially, so they need to earn it. The metrics that answer the question:

  • Resolution rate by mode. If co-browsed sessions resolve at a materially higher rate than chat for the same issue category, the cost is justified.
  • Time to resolution, not handle time. A twelve-minute co-browse that ends the issue beats four chat sessions across two days - see our first contact resolution glossary entry for why this metric matters more than raw handle time.
  • Repeat contact rate. The clearest signal that a mode actually solved the problem.
  • Satisfaction by mode. Track CSAT split by escalation type; some audiences dislike video regardless of effectiveness.
  • Escalation rate per issue category. Categories that escalate constantly are telling you where the product or the documentation is broken. Track this alongside your overall escalation rate and average handle time.

That last one is the most valuable output. High escalation on one category is a roadmap item, not a staffing problem - and it is exactly the kind of pattern that shows up in conversation analytics before it shows up anywhere else.

Where escalation fits in the wider support stack

Voice, video and co-browsing are not a replacement for a good bot, a good knowledge base, or a good human handoff flow - they are what happens after all three have been tried and the problem is still unresolved. If you find yourself escalating constantly, the fix is rarely "add another call button"; it is usually somewhere earlier in the funnel: the bot's fallback behaviour, the knowledge base's coverage, or the channel the conversation started on. A widget conversation that stalls on a visual problem is a good candidate for co-browsing; a WhatsApp conversation about the same issue usually is not, since WhatsApp and most messaging channels do not support in-thread screen capture the way a website widget does. Keep escalation concentrated where it is technically possible and where the stakes justify it, and let live chat absorb the rest.

That channel limitation also shapes where you should even mention escalation is possible. If most of your support volume genuinely arrives on Instagram or Telegram, build the best possible chat-only flow for those channels rather than designing around a video button visitors on those platforms will never see. Reserve the escalation ladder described above for the website widget, where the browser APIs that make it possible actually exist, and route anything that needs voice, video or co-browsing there deliberately - a link from a messaging channel into a widget session, for instance, rather than trying to force WebRTC into a channel that was never built for it.

Next steps

Start narrow. Enable one escalation mode for one issue category where you already know text is failing, measure resolution and repeat contact for a month, and expand only where the numbers support it.

If you are running Conferbot, voice and video are per-chatbot settings that default to off, and co-browsing masking policy is configured at workspace level with per-bot overrides and industry presets - so you can pilot on a single bot without changing anything else. Escalation sessions are recorded as first-class objects with their own lifecycle and outcome analytics, so the data exists from day one. Explore the full live chat and team features, or read how escalation connects to the rest of your channel strategy.

The teams that get the most out of this feature are rarely the ones that enable everything on day one. They pick the single issue category costing the most agent time in chat today, turn on the matching escalation mode for that category alone, and let a month of real outcome data settle the argument about whether it belongs anywhere else in the funnel.

Share this article:

Was this article helpful?

Ready to build your chatbot?

Join the businesses. Deploy on website, WhatsApp, and 11 more channels in minutes. Free forever plan available.

No credit cardNo coding13+ channels
Start Building Free

Get chatbot insights delivered weekly

Join 5,000+ professionals getting actionable AI chatbot strategies, industry benchmarks, and product updates.

🎯Automate this with a free chatbot

Build and deploy in 10 minutes. No coding needed.

FAQ

Beyond Chat FAQ

Everything you need to know about chatbots for beyond chat.

🔍
Popular:

Escalate when the problem is visual or spatial, when the customer cannot describe what they are seeing after a couple of exchanges, when the task involves steps the customer must perform, or when the account value justifies serial agent time. Routine lookups such as order status should stay in chat, where an agent can handle several conversations at once.

Co-browsing lets a support agent see the customer's view of a web page in real time so they can guide them through a task. Unlike screen share it works at the page level rather than as a pixel stream, which is what makes it possible to mask specific sensitive fields - such as payment or password inputs - by CSS selector before the data leaves the customer's browser.

It is safe when three controls are in place: the visitor explicitly approves each session, sensitive fields are masked by selector before transmission so the agent never sees card numbers or passwords, and remote control is a separate, request-and-approve permission distinct from viewing. Configure the masking policy - ideally starting from an industry preset - before enabling the feature rather than after an incident.

Screen share uses the browser's Screen Capture API to stream raw pixels of a screen or window - the agent sees everything, and nothing can be selectively hidden. Co-browsing operates on the page's structure instead, so specific fields matched by selector can be masked before the agent ever sees them. Screen share suits general diagnosis; co-browsing suits any task involving sensitive on-screen data.

Not when the call runs over WebRTC inside the chat widget, a capability every modern browser has supported natively since WebRTC became a joint W3C and IETF standard in January 2021. The customer clicks accept and the call starts in the page they are already on. Escalation that requires a third-party meeting link introduces install, sign-in and navigation steps, and a meaningful share of customers drop off at each one.

The most common cause is a network path that peer-to-peer WebRTC cannot traverse - a restrictive corporate firewall or symmetric NAT on either side. A STUN server alone cannot solve this; you also need a TURN relay configured as a fallback so the call can route through a relay server when a direct peer connection is not possible.

Compare resolution rate and repeat-contact rate by escalation mode for the same issue category, and track time to resolution rather than handle time - a longer single session that ends the issue beats several short chats across days. Also watch escalation rate per category, since categories that escalate constantly usually indicate a product or documentation gap rather than a staffing one.

It depends on what the page collects. Presets built for e-commerce and SaaS checkouts are commonly enabled by default because the main risk is an abandoned form, not regulated data. Presets built for healthcare and finance are better left off until a workspace deliberately turns them on, since the fields at stake - patient identifiers, account numbers - carry a much higher cost if a masking rule is missed.

Yes, and the design should make declining easy rather than a dead end. Every escalation mode should be offered as a button the customer can ignore, not an automatic invitation, and declining should return them to the chat conversation with the bot or agent continuing from where they left off rather than treating the decline as a closed ticket.

No - viewing and remote control are separate permissions. A visitor can approve a co-browse session that only lets the agent see their screen and guide them verbally, while a distinct request-and-approve step governs whether the agent can click or type on the visitor's behalf. Treat remote control as the higher-trust action it is, not a default that ships with viewing.

It should sit at the top, after the bot's automated flow and the knowledge base have both been given a chance to resolve the issue. If one issue category escalates constantly, that is a signal to improve the bot's fallback behaviour or the documentation for that category, not a reason to add more call buttons. Escalation volume by category is one of the more useful analytics outputs a support team has, and it usually points at a specific fix rather than a general staffing shortfall.

About the Author

Content & Engineering

The Conferbot team writes about building, deploying, and improving AI chatbots.

View all articles
Skip the blank canvas
Start from one of 250+ free chatbot templates for lead generation, support, e-commerce, and 20+ industries - customize and launch in minutes.
Browse free templates

Related Articles

Omnichannel Platform

One Chatbot,
Every Channel

Your chatbot works seamlessly across WhatsApp, Messenger, Slack, and 6 more platforms. Build once, deploy everywhere.

View All Channels
Conferbot
online
Hi! How can I help you today?
I need pricing info
Conferbot
Active now
Welcome! What are you looking for?
Book a demo
Sure! Pick a time slot:
#support
Conferbot
New ticket from Sarah: "Can't access dashboard"
Auto-resolved. Password reset link sent.