Chat

Add Customer and Agent Presence to your Call Center Solution

0 MIN READ • Darryn Campbell on Jul 9, 2025
Add Customer and Agent Presence to your Call Center Solution

Presence, knowing who is online, when, and in what state, transforms how call center systems manage customer interactions and assign workloads. By using PubNub Presence to track support agents and customers, engineering teams can build scalable, intelligent solutions that route inquiries to the right agent for any support ticket at the right time. In this article, I’ll explain how you can enhance customer service channels with real-time presence data for customers and support agents. You’ll learn how to build intelligent assignment workflows, optimize agent queues, forecast staffing needs, and increase satisfaction for both agents and customers, all with PubNub.

What is PubNub Presence?

At its core, PubNub Presence tracks whether a user (an agent or a customer) is online by testing if that user is currently subscribed to a channel or not. Each support case would require its own channel to manage the communication between agent and customer, and presence notifications are sent whenever a user joins or leaves that channel, so the customer can see in real-time when the support agent is no longer present in the chat, and vice versa.

Channels are not limited to 2 users, however, and you can create more complicated use cases on top of the channel architecture, such as:

Detect incoming support requests: As customers initiate a new chat, PubNub will automatically capture their join events, giving you an immediate view of new requests.

Team view dashboard: Track which support agents are online at any time, and how many online customers they are actively engaged with.

Queued customers: Track how many customers are online but are interacting with your IVR or bot chat.

Administrator dashboard: Aggregate and visualize the live presence status of all support agents and customers across global teams.

Integrating with the PubNub Presence API

Let’s look at the simple case for customer presence: Customers are either online and actively connected to the chat or offline.

Typically, you would represent these states to the support agent with a presence indicator as follows:

Customer Presence

You can receive presence events through the Chat SDK streamPresence() API, available on the Channel object, as follows

The presence state of the support agent can be tracked similarly, but you also want to override this simple ‘online’/’offline’ agent presence to account for coffee breaks, etc. In contact center systems, you need to understand the real availability of your workforce to route inquiries intelligently, with the agent manually setting themselves as away when they go on the aforementioned coffee break. The agent’s presence override might look something like this: Customer Presence

Of course, you can still track the agent's ‘real’ presence internally, i.e., whether they are connected to the support case channel, but you would not assign new cases to an agent who reports themselves as away.

Support agent presence should therefore be tracked in two ways:

  • The actual (real) presence of the agent, as reported by the streamPresence() API described previously.

  • The user-reported status (e.g., away) the agent can set for themselves. PubNub’s Chat SDK exposes a User object associated with every support agent (and customer) that can be augmented with custom metadata.

Store the agent’s status in their user metadata as follows:

Updates to the agent’s metadata are shared in real-time with all listeners, meaning the customer (for example) can be notified almost immediately if their agent goes offline.

You could also add logic to reroute the customer’s case, or escalate the issue if the agent is away for too long. PubNub Presence is inherently scalable, meaning it’s ideal whether you’re running a helpdesk with 10 agents or a call center with 10,000 agents spanning multiple regions and time zones.

Dynamically Assign Support Cases

Traditionally, support cases are either manually assigned by a team lead or simply drop into a queue for agents to pick up. This approach has two major drawbacks:

  1. Agents may not check the queue often enough, leading to delays.

  2. Cases may be distributed unevenly or incorrectly, so it is unfair.

If you know all users' presence statuses and update that status in real time, your system can dynamically assign cases based on agent availability, skill match, language, or workload.

Dynamically assigning support cases improves the end-user experience by lowering overall wait time and increasing customer satisfaction, since customers are not being matched with agents (after a long wait) who cannot address their query.

Here’s how this can work in practice:

New inbound support requests: A customer enters your support system either through online chat or inbound call (IVR).

Retrieve or derive customer data: Determine the customer’s issue type and other customer data such as their approximate location and spoken language. If you do not yet have a record of this customer, you can easily derive this data from their phone number, IP address, or issue text.

Find an available agent: Your routing logic uses PubNub presence to find an available agent with the correct skill set and permissions to address the issue.

Fallback if no agent is available: If no suitable agent is available, the customer can be sent to voicemail or placed in the callback queue. If the issue came in through chat, the customer can be provided a notification when an agent becomes available or an immediate response from a chatbot if the query can be handled through self-service.

CRM integration

PubNub’s API can seamlessly sync presence status in real time with CRMs like Salesforce or platforms like Microsoft Teams, ensuring your support case logic remains tightly coupled with agent availability.

Optimize Queues

Managing queues is one of the most complex aspects of operating a call center that spans multiple languages, products, and regions. Without real-time visibility, you’re flying blind and unable to see which teams are overloaded or which customers are left waiting. With a dashboard powered with PubNub presence, supervisors and managers gain live insight into:

  • Whether agents are online or away, and their current case counts.

  • The average and maximum wait times for each queue.

  • The size of each queue, broken down by language, customer location, or skillset of the agent

  • Regional availability of specialists.

  • Timers and priority indicators to track your service level agreements (SLA).

Let’s walk through an example: Imagine you operate a bilingual contact center supporting North America and Latin America. During peak hours, your voice calls queue for Spanish-speaking agents in Mexico City spikes dramatically. At the same time, agents in Buenos Aires show low case counts.

You would need to store the following information about each of your agents, which could be structured as follows:

Although the agent’s name, location, and languages will not frequently change, the more accurately you can track and update their list of support cases and presence state, the more accurately you can manage and optimize customer queues. PubNub allows you to track and update the agent status, their presence, and the list of active cases in real-time, sharing this information with all interested parties.

The scenario would play out as follows:

Your system notices the spike in requests for Spanish-speaking agents in Mexico City and would initiate logic to reroute incoming calls to agents in Buenos Aires. But who should these calls be routed to? You would search for agents whose current status is ‘available’, whose current presence is ‘online’, and whose active case list length is low - all attributes you know the immediate, live value of, thanks to PubNub. If no suitable agents are available or case lists are still very high, customers can be offered a callback, which is better than having very high wait times.

Call routing intelligence with situational awareness, as described here, can reduce agent attrition, improve customer outcomes, and allows for better troubleshooting of operational issues.

Smart Scheduling

Long-term success in support operations is not just about reacting to demand; it’s about predicting it. Smart scheduling that includes predictions of agent presence, based on historical data, will produce more reliable models.

Every support session tracked by PubNub contributes to a dataset of when agents are available, what times they are most needed, and how quickly they respond. When combined with metrics from your ticketing platform (like Salesforce, Zendesk, or Service Cloud), you can build predictive staffing models that anticipate demand before it spikes.

Use cases for smart scheduling include forecasting peak hours based on historical phone call traffic, planning seasonal staffing increases (e.g., Black Friday), detecting abnormal spikes in voicemail or callback rates, or identifying patterns in agent presence that lead to bottlenecks.

Consider this:

You know that after every product launch, there is a 3-day spike in technical support inquiries from users in Europe. You can automate agent scheduling to align with this, increasing headcount on those days and ramping up your weekend workers where launches happen on a Friday.

How can PubNub data be used for smart scheduling?

If you want to analyze historic trends, and predict future events, you will need to store PubNub events for long term retrieval and analysis. Most of our customers use PubNub Events & Actions to export data to a dedicated platform for later analytics. Specifically for the support use cases, you should consider exporting the following events:

This kind of foresight helps you stay ahead of demand, improve SLA compliance, and keep service channels running smoothly, no matter what happens.

Beyond Presence: Building an Omnichannel, AI-Powered Call Center

Adding presence is just the beginning. When combined with other PubNub features and third-party integrations, your contact center becomes a real-time, AI-powered, omnichannel solution.

Enable Agent Collaboration

Use PubNub channels and messaging to allow agents to quickly ask for help, share content, or hand off calls between departments. Your workspace becomes a dynamic collaboration zone.

Trigger Event-Based Workflows

Use presence transitions (e.g., “agent goes offline”) to trigger automation such as notifying the team lead of unusual behavior, or to transfer phone calls to backup agents. You could also reallocate cases from one queue to another as described earlier, or send status changes to your CRM or analytics stack.

Integrate Telephony and IVR

With phone number and IVR integration, presence-based workflows can route to voicemail intelligently when no agents are available, and offer wait time estimates or callback options based on predictive agent availability. When the incoming call volume decreases, you can schedule outbound calls into your agent workflow.

Ensure Security and Compliance

PubNub supports access control using token-based permissions, so you can define exactly who can update or subscribe to presence data. This ensures compliance for industries like healthcare, finance, or government, where data access must be tightly controlled.

Getting Started with PubNub Presence

Integrating PubNub Presence into your call center platform is simple and supports all popular languages and platforms, including JavaScript, Kotlin, Swift, and more.

Sign up for your free account at https://admin.pubnub.com/, create an app and keyset, then enable PubNub Presence.

Once configured, try out our presence APIs such as whereNow(), to see which channels a user is present on, or hereNow(), which returns which users are present on a channel.

Finally, Integrate with CRM systems or telephony infrastructure.

Resources:

Final Thoughts

In a world where speed, personalization, and reliability define great customer experience, tracking user presence is essential for modern contact center design. By using PubNub Presence and User App Context, developers can create intelligent routing logic, dynamic dashboards, and proactive agent scheduling systems that update in real time.

Whether you’re integrating with Salesforce or Microsoft solutions or building your own custom solution, PubNub provides the tools you need to create scalable, secure, and responsive call center solutions that reduce wait time, enhance customer satisfaction, and drive measurable ROI.

Ready to add presence to your call center? Start building now with PubNub by signing up for a free account, reaching out to us, or contacting our DevRel team directly.