Tag Archive for: Service Cloud

Re-routing or Ending “Waiting” Conversations

We’ve all been there. You look at your Omni-Channel Supervisor dashboard and see a list of conversations sitting in the backlog waiting for a service rep to action them. Maybe the customer wandered off, or maybe the floor is just slammed, or it’s routed to a queue or skillset that doesn’t have anybody online right now.

Let’s look at this from the customer’s perspective. If a user is on a web chat and hasn’t been connected for 10+ minutes, they aren’t just “waiting”—they’re potentially stuck in a void. Maybe your agents were pulled into an emergency meeting, or a fire alarm went off, or the shift ended and the backlog didn’t clear. Keeping a customer staring at a spinning wheel for 15-20 minutes when no one is coming is a surefire way to tank your CSAT.

Wouldn’t it be better to proactively manage that experience? In this post, I’ll show you how to use Scheduled Paths and a “janitor” Bot to automatically re-route or end conversations that have been waiting too long. These steps will focus on how to solve this for our messaging channels, but a similar approach could be used for Voice calls, when using Unified Routing.


The “Why”: Proactive Queue Management

When a conversation stays waiting indefinitely, it clutters your backlog and misleads the customer. By automating the cleanup:

  • Respect the Customer’s Time: Instead of infinite waiting, give them a clear exit or an alternative way to reach you.
  • Accurate reporting: Wait times aren’t blown out by a few conversations that are waiting for an inordinate length of time.
  • Cleaner Backlog: Supervisors can focus on the work that is actually actionable.

The “How”: Using Scheduled Paths

The magic happens in a Record-Triggered Flow on the MessagingSession object (or VoiceCall for the phone channel).

Option 1: The Simple “Safety Net”

This approach creates a global rule: if any session waits too long, we take action.

  1. Configure the Start: Trigger the Flow when a record is created or updated where Status equals Waiting.
  2. Add a Scheduled Path: Click Add Scheduled Paths.
  3. Set the Timer: Set the offset to, say, 10 or 20 minutes after the session moves to waiting (Time Source = When MessagingSession is Created or Updated)
  4. Route Work: Within that path, use the Route Work action to move the session to a different queue or an Enhanced Bot or Agentforce Agent.

Option 2: The “Prescriptive” Approach (Custom SLAs)

If you want to be more specific—perhaps giving VIP customers a longer wait threshold—you can use a custom field.

  1. Custom Field: Add a Date/Time field to MessagingSession called TimeToReRouteSession.
  2. Initial Routing: In your main Omni Flow, use a formula like NOW() + (1/(24*60)) to set a specific “expiration” time on that record.
  3. Triggered Flow: Set your Record-Triggered Flow to fire based on that custom field reaching its deadline  (Time Source = MessagingSession:TimeToReRouteSession)

The Secret Sauce: The “Janitor” Bot

Salesforce doesn’t have a “Close Session” action in Flow yet. To end a session gracefully, we use an Enhanced Einstein Bot as our “janitor” (messaging only).

  1. Create the Bot: Build a simple Enhanced Bot.
  2. The “Welcome” Dialogue: Send a message that acknowledges the delay: “We’re sorry, it looks like our team is currently unavailable. Please try again later or visit our Help Center.”.
  3. The “End Chat” Action: Immediately following the message, add an End Chat action.
  4. The Hand-off: In your Flow’s Scheduled Path, route the “expired” session to this Bot.

The Bot triggers, explains the situation to the customer, and closes the session cleanly.


Technical Gotchas to Keep in Mind

  • The 5-Minute Window: Scheduled paths run every minute. This means the scheduled path won’t execute exactly down to the second of expiry, but up to 59 seconds after it expires. Furthermore, depending on org activity, it can take up to 5 minutes for the automation to actually fire if you have a lot of these. 
  • Different Queues: If you route to a Bot, ensure the Fallback Queue in the Route Work action is different from the queue the work is currently in, or it won’t route at all.
  • Work fails to re-route: In some circumstances, the re-routing can fail, I recommend a second scheduled path to catch these stragglers (Product is working on a fix here to handle these scenarios).
  • Omni Supervisor Lag: We’ve seen cases where the work stays in the “Queues Backlog” view for a moment after the automation fires. A simple refresh usually clears the “ghost” session.

By setting up these safety nets, you ensure that if the worst happens and your queue is left unattended, your customers aren’t left in the dark and your backlogs stay clean.

Acceptance Due Date: The Omni-Channel SLA Sensation You Need

One of the oldest challenges in Service Cloud is ensuring your urgent work gets handled first—not just the old work, but the work that is truly closest to violating its Service Level Agreement (SLA).

You might have a customer who paid for a 2-hour response time, and another who is on a standard 8-hour agreement. Prioritizing items that enter the queue at the same time is relatively straightforward today, just using priorities. The real challenge arises over time, when your longer SLAs are approaching expiry, and new shorter ones are still entering your backlog.

Historically, we’ve relied on clever, but ultimately limited & complex uses of Primary and Secondary Priority to try to solve for this – or a lot of manual assignment by supervisors. Now, with the Winter ’26 release, we’re proving a dedicated tool for this: Acceptance Due Date

This feature is a game-changer for any service center dealing with mixed-length SLAs or simply needing to prioritize work by true urgency.


The “Why”: Solving the Mixed-SLA Problem

The issue with traditional Primary Priority is that it’s a static integer (1, 2, 3, etc.).

If you have work coming from different SLA buckets (High Priority = 2 hours; Medium Priority = 8 hours), you might set the 2-hour SLA to Primary Priority 2 and the 8-hour SLA to Primary Priority 5.

This works at the start. But what happens 7 hours later? The work item with P=5 is now an hour from expiry, while the new P=2 item still has two hours to go. The P=5 item is now more urgent, but the system will still prioritize the P=2 item.

The new Acceptance Due Date (ADD), exposed via the Acceptance Due Date field on the Route Work Flow action, solves this by making the time the prioritization factor.


The “How”: Calculating the Acceptance Due Date

Setting this up is straightforward and happens entirely within your Omni-Channel Flow.

Step 1: Calculate the Due Date

When a work item (e.g., Case, Messaging Session) is created, your Flow needs to calculate its acceptance deadline. I recommend using a formula in Flow, of type Date/Time to set the due date/time.

For example you can use these formulas:

  • 5 minute SLA: NOW() + 5 / (24*60)
  • 2-Hour SLA: NOW() + 2 / 24
  • 8-Hour SLA: NOW() + 8 / 24 

Want to use Salesforce SLAs? Check out the section further down this page on integrating with those!

Now, based on your business logic you can select which SLA is the right one for a given work item. Luckily – you are using the worlds #1 CRM, so you should be able to pull information about the person contacting you to work out their service agreements, or spend with you, loyalty status etc. to help you decide which to pick for each inbound work item.

Step 2: Route by the Acceptance Due Date

In your Omni-Channel Flow, when you use the Route Work action, you will now see an Acceptance Due Date field.

Instead of manually setting a date, you pass the dynamic date/time variable you selected in Step 1.

The magic happens when Omni-Channel compares all items in the queue: it will automatically prioritize the work item whose Acceptance Due Date is the earliest (i.e., the item closest to expiration or already expired).


The Technical Gotcha: Unifying Priority for True Urgency

This is the most crucial part to understand and is what separates a successful implementation from a confusing one.

The routing engine uses the following prioritization order:

  1. Primary Priority (Lowest number wins, e.g., 1 is highest priority in Salesforce routing)
  2. Secondary Priority (Lowest number wins – same as Primary) – Optional
  3. Target Acceptance Date (Earliest date wins) – Optional
  4. Date Enters Queue (Oldest work wins)

If you want Acceptance Due Date to be your primary mechanism for determining urgency, you must ensure all work items being compared have the same Primary & Secondary Priority.

Action: Set the Primary Priority field to a single, consistent value for all work items that you want routed by SLA – this comes from your Routing Configuration. You’ll also want to ensure your Secondary Routing Priority isn’t being set – you can find this in the Service Channel settings in Setup for the given channel.

Best Practice: The P=5 Rule (Leaving Room for Firefighters)

For a stable, reliable setup, don’t set your SLA-routed work items to Primary Priority 1.

Suggestion: Start your default SLA-driven Primary Priority value at P=5.

This gives you P=1, P=2, P=3, and P=4 to use for true human-driven overrides. If a supervisor needs to put a true “fire drill” ahead of the Acceptance due date logic, they can manually update that work item’s Primary Priority to 1 or 2, ensuring it bypasses the SLA queue and gets routed first, while the rest of your system continues to function perfectly using the Acceptance Due Date.

By combining the dynamic calculation of Acceptance Due Date with a unified, moderate Primary Priority value, you finally have an Omni-Channel routing system that prioritizes work based on true, calculated SLA urgency.


See it in action!

Want to see it in action? Check out this video from our friend Magulan Duraipandian over at Infallibilbe Techie walk you through how this works:


Bonus! Integrate with Salesforce SLAs

You can integrate this process with Salesforce SLAs – formally known as Entitlements & Milestones. This is only supported for the Case and Work Order objects right now. You can reuse your existing Milestone Types, or create a new specific one for the Acceptance Due Date – it’s up to you. Creating a new one will mean you can re-use your reporting on Milestones to track it, but you can also report on it from the AgentWork record, as detailed in our help docs. To get the target date, follow these steps

  1. Load the ‘Milestone’ object your are using by ‘Name’
  2. Load the ‘Case Milestone’ record with the ‘recordId’ of the Case we’re routing and the ‘Milestone Type ID’ you loaded in Step 1
  3. In your ‘Route Work’ action, use the ‘TargetDate’ field on the ‘Case Milestone’ you loaded in step 2

Done! Just like that, the SLAs you’ve already been using can now drive Routing in Omni-Channel. Magic!


What about reporting if you hitting the target?

One of the most important measures in many contact centers is whether you answered calls within a certain time period, or if you are hitting you SLAs – these can often come with financial penalties if you don’t. While we have SLA Management within Service Cloud that may be more suited to reporting on some of those targets, you can report whether you hit your target acceptance date or not.

The key fields live on the ‘AgentWork’ record, named: ‘Accept Date’ and ‘Target Accept Date Time’. You can add these to a any Report Type that includes the ‘AgentWork’ object. Once you’ve added them, you’ll then want to include them into a report to compare the values.

You then have a choice as to that you want to do in terms of a Row-Level Formula – either create one that outputs Text or a Number. To calculate the Text one, you can use a formula like this:

IF(ISNULL(AgentWork.TargetAcceptDateTime), NULL, IF(AgentWork.AcceptDateTime > AgentWork.TargetAcceptDateTime, "Target Not Met", "Met Target"))
(substitute 1s and 0s for a number type)
(I suggest filtering out records without a 'TargetAcceptDateTime' value and that aren't closed yet)

At that point you can then choose what to do with this – I’ve created reports where I group by this Row-Level. Then you can use a ‘Summary-Level Formula’ to calculate a percentage of the records in your report that are in each group – giving you the percentage of records that hit the target date.

Grow Smart with Agentforce: Treat Your AI Like a Teammate—Not Just a Tool

Part 4 of our Agentforce Series

In Part 1, we helped you launch fast with FAQs.
In Part 2, we showed you how to scale smart using escalations.
In Part 3, we boosted accuracy with advanced grounding.

Now it’s time for the next evolution: making your AI agent a true member of your service team.
Because when you treat your AI like a teammate—not just another automation tool—you unlock collaboration, trust, and efficiency at scale.

Whether you’re just starting to see AI’s potential or you’re ready to take it to the next level, this post will give you the mindset and steps to get there.

In this post, you’ll learn how to:

🤝 Foster a collaborative relationship between agents and AI
🧩 Define roles and responsibilities for your human + AI team
📈 Measure and improve the AI’s performance like any team member

Why Thinking “Teammate” Changes the Game

When AI is seen only as a tool, it risks becoming a black box—used occasionally, understood rarely, and trusted even less.
When AI becomes a teammate, it:

  • Builds trust by showing work and reasoning
  • Reduces burnout by taking repetitive tasks off human plates
  • Levels up your team’s expertise with consistent, context-rich answers
  • Drives continuous improvement through feedback and coaching loops

Just like a new hire, your AI needs:

  • Clear expectations
  • Ongoing training
  • Feedback on performance
  • Access to the same resources your human agents use

What Does AI-as-a-Teammate Look Like in Practice?

  1. Give Your AI a Role and Scope
    • Define what your AI owns vs. what humans own.
    • Example: AI drafts responses for Tier 1 inquiries, humans approve or escalate.
  2. Coach and Retrain Regularly
    • Use post-interaction reviews to flag where the AI nailed it—or missed the mark.
    • Feed that back into your grounding sources and escalation rules.
  3. Promote Transparency
    • Let your AI show its sources or reasoning in drafts so agents can quickly validate accuracy.
  4. Encourage Two-Way Learning
    • Just like a teammate, your AI learns from human input.
    • Leverage “accept” or “edit” actions as signals for future improvement.
  5. Track Metrics That Matter
    • Measure CSAT, first-response accuracy, and escalation rates for AI-handled interactions.
    • Review these in the same cadence you’d review team performance.

The AI-Teammate Mindset Shift

When you start thinking of AI as part of your service org, you stop asking “What can AI replace?” and start asking:

“How can AI help my team do their best work?”

This shift:
✅ Strengthens agent trust in AI-generated responses
✅ Increases adoption and consistency in use
✅ Improves customer outcomes without overburdening agents

Continuous Collaboration = Continuous Growth

The best teams grow together. That means:
📌 Including AI performance in team retros
🧠 Giving your AI “training data” like you’d give a teammate onboarding materials
📥 Updating its knowledge and role as your business evolves
🧪 Experimenting with new use cases to expand impact

It’s a loop: better AI collaboration → happier agents → better customer experiences → stronger business results.

What’s Next: Scaling AI Across Channels

Now that your AI is an active, trusted teammate, it’s time to see where else it can shine.
In our next post, we’ll explore:
⚡ Orchestrating consistent customer experiences across touchpoints

✉️ Struggling to make your customer service emails hit the mark?

Discover why they’re falling short—and how AI can turn them into powerful customer moments.

👉 Read the full guide here

How is AI changing the way you handle customer service emails—and where do you see the biggest opportunity to improve?

Share your perspective below. 👇

One Engine to Route Them All:Unified Voice Arrives in Omni-Channel!

It’s official: Omni-Channel can now route voice calls end-to-end! 🎉

For the first time, Salesforce Omni-Channel is the single routing engine for all supported channels — including voice. That means all customer interactions — from phone calls, chats, emails, leads — are routed through one unified routing engine. Until now, voice routing lived in a separate engine — causing complexity, sync issues, and routing conflicts — especially when blending voice with channels like chat.

With Unified Voice Routing (GA for Amazon Connect), voice is now fully native to Omni-Channel — enabling seamless channel blending through a single routing engine. It also unlocks skills-based and direct-to-agent routing for voice, leveraging Omni-Channel’s CRM-powered, channel-agnostic design to deliver smarter and more consistent customer experiences.


Why This Matters: One Engine to Route It All

Here’s what Unified Voice Routing brings to the table:

Omni-Channel routes voice calls directly, delivering consistent routing across all channels
Simplified setup experience — no more juggling complex configurations across two platforms; all routing rules live in one place
Improved channel blending, especially between voice and chat, for smoother work distribution
Skills-based and direct-to-agent routing support now extended to voice calls
Elimination of race conditions and presence conflicts — one routing engine rules them all
Flexible push timeout configuration, removing the frustrating 20-second push time out for SCV Amazon Connect agents


What a Smarter Voice Routing Experience Looks Like

What makes Unified Voice Routing stand out is how naturally voice now fits into the Omni-Channel experience — using the same routing logic you rely on for other channels — including skills based routing!

Shareable Link: https://salesforce.vidyard.com/watch/bNZrwRjpDe6ABiTSa1jNdY

In this demo:

  • A customer calls about a billing issue
  • IVR inputs are captured and passed from Amazon Connect to Salesforce
  • Omni-Channel Flow determines how the work should be routed
  • The voice call is routed using skills-based logic and placed in the Supervisor skill backlog
  • An agent is matched and offered the call based on their skill proficiency
  • The experience mirrors routing across all other channels — cases, leads, messaging, and chat — and now, voice!

You’ll see a real-world scenario where a customer calls in with a technical support issue, and the system routes the call directly to the most skilled available agent — automatically, seamlessly, and in real time. Omni-Channel Routing is CRM-powered and channel-agnostic — routing decisions are based on rich Salesforce context and applied consistently across every channel. This is voice routing — the Salesforce Omni-Channel way.


Let’s Get Technical: How Unified Voice Routing Works

Here’s how it all comes together under the hood:

  • Amazon Connect handles the IVR and the physical phone call connection.
  • When a call arrives, Amazon notifies Salesforce, passing along the IVR inputs and other call attributes (e.g. number dialled menu selections, customer responses).
  • Salesforce Omni-Channel uses those inputs to make CRM-powered routing decisions using Unified Routing.
  • While Salesforce determines the best agent, Amazon holds the call in a temporary queue.
  • Omni-Channel selects the right agent — based on skills, queue logic, or direct-to-agent routing — and sends which agent is the best person for the call
  • Amazon then connects the caller to the selected agent.

The result: voice, chat, email, and other work items are now routed, prioritised, and distributed through a single intelligent engine.


Who Should Adopt Unified Voice Routing?

Unified Voice Routing is ideal for:

  • Existing Omni-Channel customers already using channels like messaging or email who want to bring voice into the same routing engines
  • Existing Amazon Connect SCV Customers prioritising seamless channel blending and aiming to eliminate routing conflicts and sync issues
  • Customers looking to scale Omni-Channel across sales and service teams, simplifying routing management across multiple channels. One of Omni-Channel value is routing over 25 objects — including leads and custom object — meaning that sales and service users can have consistent routing rules

⚠️ What’s Not Supported (Yet)

  • Queued Callbacks
  • Scheduled Callbacks / Scheduled Work
  • Telephony partners outside of Amazon Connect
    • We are currently working with several partners to enable them to also support Unified Routing. Check with your Bring Your Own Telephony partner whether they will support Unified Routing in the future. Or work with your Account Team to identify the right Bring Your Own Telephony partner for your use-case. For partners looking to implement Unified Routing, have a look at the Bring Your Own Telephony developer guide.


Try It Out and Help Shape What’s Next!

One engine. Every channel. Unified at last.

I hope this article has you as excited to try Unified Voice Routing as the Omni & Voice teams were to help bring it to life. We’d love for you to give it a try — and let us know how it’s working for you! Your feedback is key to shaping what we build next. Share your thoughts and enhancement ideas on the IdeasExchange, tag us on LinkedIn, or drop a comment below. We’re here to help you get the most out of this powerful new capability.

👉 Get started with our help docs
👉 Explore best practices for your routing strategy

Reporting on Service Cloud channels

Reporting on Salesforce Service Cloud can sometimes feel like navigating a labyrinth. While the platform offers immense flexibility, it often leaves users yearning for more guidance. This blog aims to demystify the process, providing you with the insights and tools needed to harness the full power of Salesforce Service Cloud reporting.

Simplifying the Complexity

Historically, we’ve made it challenging for our customers by offering a plethora of reporting options without clear direction, or even making them aware of the options out there. Many customers will start with a single channel and build reports on that single object with some success. However, what happens when you add more channels and want consistent reporting across them all? The flexibility is there in the application, but the guidance on how to do it has been lacking. This blog, and future ones coming, are intended to help bridge that gap, making it easier for you to create meaningful reports and understand the data at your fingertips.

Harnessing the Power of Omni-Channel

One of the most powerful features of Salesforce Service Cloud is Omni-Channel. This tool is not only a powerhouse for work classification and routing, but also allows you to report consistently across all channels using a unified object model.

There are 2 objects that are critical to this consistent reporting:
1. AgentWork Object: This object is your go-to for tracking all the work assigned to agents and their performance. By analyzing the AgentWork object, you can gain insights into how efficiently your agents are handling their tasks, and the volumes you are handling.

This is where you find key performance indicators like average handle time, wait time (speed to answer) and wrap up time (after conversation time). For a work focused view, remember to group by the WorkItemId to find all the work performed for a given case or conversation, or alternatively for a service rep focused view, group by the UserId to find all the important metrics for your team.

For those with more advanced routing configurations, this object joins to the AgentWorkSkill object, where you can find if additional skills were dropped or not, and the relevant performance per skill.

2. UserServicePresence Object: To monitor user presence and capacity throughout each day, the UserServicePresence object is invaluable. It helps you keep track of when agents were available, busy, or offline, providing a clear picture of your team’s capacity and workload over time.

This contains important information related to how busy your team was, and how they are spending their time while logged in. You’ll want to group by user, presence status and date, to identify how long they are in each status each day, as well as analyze their idle time and average capacity, to see where you are potentially over or under staffed.

Recent Reporting Enhancements

We’ve recently enhanced our reporting capabilities to make it even easier to join Omni-Channel data with channel-specific data in Custom Report Types. For example, you can now join the AgentWork object with Case, MessagingSession, and VoiceCall objects (amongst others). This capability allows for a more comprehensive view of your service operations, enabling you to make data-driven decisions with greater confidence, and create consistent reports across channels.

This allows more in-depth analysis per channel, for instance determining which Case Types have a higher average handle time than others, or which customers you are spending the most time supporting. You will need to create separate reports for each object you want to join, but you will then be able to put them all on the same dashboard with common filters, allowing you to identify trends around volume or performance.

Existing Reporting Gaps

While we’ve made some strides in improving our reporting capabilities, we acknowledge that there are still some gaps that you can’t report accurately on (or at all) without customization. Two of the most common gaps we hear about are related to abandoned and transferred work – stay tuned for future blogs in this series, where we’ll provide tips and tricks to help you navigate these gaps until we can address them natively in the product.

In the Summer ’25 release we are going to be adding some reports and dashboards that you can install from the Setup screens, with the intention of giving you some basic reporting right away, with the flexibility to customize and enhance to your hearts desire – we’d love you feedback on those once they are available.

Future Topics

This blog is largely an introduction and some high level guidance, with some extra posts planned in the coming weeks, including more in depth guides on building these reports, as well as work arounds to address the known gaps. I’ll also call attention to these two new help docs related to reporting on Messaging:

Future blog topics include:

  • Step by step instructions on how to report on the AgentWork object
    • Extra: How to report on Skills
  • Step by step instructions on how to report on the UserServicePresence object
    • Extra: Utilization & Concurrency
  • How to report on Transfer
  • How to report on Abandoned

Let me know if there is something else I’m missing that you’re wanting to learn more about – these aren’t in a particular order, so those that are most desired I can start with.

Omni-Channel Winter 25’ Highlights! 🚀


The wait is over – Winter 25’ is here! The Omni-Channel team have been working hard to deliver some incredible updates, all centered around enhancing the agent experience and boosting platform scalability. These features were developed by our engineering teams across Dublin, Paris, and the US who work hard to create awesome features that directly benefit thousands of customers like you. Without further ado, let’s dive into what’s new!

🌟 Support Customers on the Go with Omni-Channel for Mobile (Generally Available)

We are very excited to announce Omni-Channel for Mobile is now GA! This was a highly demanded ideas exchange with over 4,530 points and we are so excited for you to try it out in your orgs today. With Omni-Channel for Mobile, empower your mobile sales and service agents to be routed work via the Salesforce Mobile. Agents can set their status and handle work requests from all enhanced channels, excluding Voice. This is exciting as agents can now receive and respond to customer inquiries and messaging conversations whether they are at the desk or on the go – improving your agents experience. This is powerful as all conversations with customers, whether on desktop or mobile, remain in the Salesforce platform — boosting compliance across your organisation!

🌟 Status Based Capacity for Messaging (Generally Available)

Omni-Channel now supports Status Based Capacity for Messaging Session! Status Based Capacity for Messaging aligns to agents having more long running and asynchronous conversations with customers. The value of using Status Based Capacity for Messaging is that it simplifies routing of long running conversations as conversations always return to the session owner, improves visibility for agents with paused work and most excitingly, it allows messaging sessions to be compatible with standard apps and Omni for Mobile!

🌟 Pilot in Winter 25’: Unified Routing

With Unified Routing, Omni-Channel now routes voice calls completely end to end. Currently with Service Cloud Voice, there are two routing engines: Omni-Channel and the Voice engine. This leads to competing routing engines that does not allow for seamless blending of channels. For example, chat and voice today. With Unified Routing, Omni-Channel can route Voice calls natively to make, the Omni we all know and love, the single brain of every channel. Which also means that we unlock Skills Based Routing for Voice calls too! This is in pilot with amazon connect today so please reach out to your Account Executive today to see if you are eligible and sign up today.

🌟 Get Informed with Proactive Monitoring

Signature customers now receive alerts via email if Omni-Channel experiences service degradation. To inform you of longer than expected response times, Salesforce sends an alert if a work item isn’t routed punctually. Reach out to your Customer Success Manager to find out more.


Those our Winter 25 highlights for Omni-Channel! Check out our Release Notes and try out our capabilities today. I also want to take the opportunity to say a big thank you to our amazing engineering teams across Dublin, Paris, and the US for their relentless dedication, creativity, and passion. Their work powers everything we do, and we’re so excited to share these innovations with all of you.

What’s Next?

  • Make the Move to Our Enhanced Omni-Channel Platform: if you haven’t migrated to our enhanced platform yet, now’s the perfect time. Enhanced Omni Channel is built on hyperforce, designed for scalability and where all of our latest capabilities such as Omni-Channel for Mobile, Unified Routing etc are being built on!
  • Join the Conversation, Help Shape What’s Next! We’re proud of what we’ve built, but we’re always thinking ahead. What features do you want to see next? What’s working for you, and where can we improve? Check out the roadmap exchange today to provide your feedback today.
  • Check out our Omni-Channel Best Practices session at Dreamforce streaming on Salesforce+. We solved four common challenges / use cases to improve agent and supervisor productivity.

New Agent Experience with the Omni-Channel Sidebar!

Update 6/18: Known issues should be resolved – please try it out!

I’m so excited to bring this whole new agent experience to our customers in the Spring ’24 release with the new Omni-Channel sidebar! This has been several releases in the making, and will be a total game-changer in efficiency and usability for Omni-Channel users, and will entice even more of you to move to Enhanced Omni-Channel!

The Omni-Channel sidebar is the Omni-Channel agent experience that you know and love, but now it is much more accessible and readily available on the left hand side of the screen – expanding and collapsing as required. What’s more – this is also available in Salesforce Apps using the ‘Standard Navigation’ style, welcoming a whole new family of users to Omni-Channel. Hi there!

Why a new experience?

The goal of the Omni-Channel component is to be the place where users manage all of the work they need to complete. The original experience in the utility bar achieves this well for work items with a short life-cycle, particularly when using the tab-based capacity. However, where you have a large number of work items, especially if they are long running, it is difficult to manage all of your work out of the utility bar experience. With status-based capacity and the addition of ‘Paused’ work items in the Winter ’24 release, this has grown the number of items that could be in the Inbox view as well, so a new experience was required to make the most of these recent enhancements, and to support our future vision of the Agent Experience for work.

What’s included in the Sidebar experience?

This first version of the sidebar comes with the ability to expand and collapse the sidebar on the left hand size for all App types. While in collapsed mode, a notification of both new work, and updates to work (e.g. work resuming after being paused) will be shown, with the ability to accept or decline work from the collapsed state (as shown in the gif above).

When expanded, the Sidebar will operate exactly the same as when the component is rendered in the Utility bar – expect all the same Omni-Channel notifications, sounds, and abilities like accepting & declining work, and of course changing your Omni-Channel status – just with more screen real-estate.

That’s great! How do I turn it on?

Turning it on is simple. First you will have to have enabled Enhanced Omni-Channel – you can find more about that here. Once you have done that, go to App Manager and edit the App that you want to add the Sidebar to. From there, select ‘App’ options, and there you will see a new checkbox labelled “Use Omni-Channel sidebar”. Check that box, save, and the Sidebar will show up in your app! Easy! Note that once the Sidebar is enabled, the Utility bar component will be disabled – so you can remove it while you are here by going to ‘Utility Items’ and removing it.

Check out the video below to see the Sidebar in action and be walked through the steps described above to turn it on.

What’s next for the Sidebar?

This is just the beginning! We’re going to continue to enhance the agent experience and add more features to the Sidebar, further improving agent productivity. Some of the items coming in the short to medium term include:

  • Bulk actions that can be executed across 1-many work items in the Inbox
  • Messaging enhancements to see the most recent message and typing indicators
  • Search, Filter and Sort the Inbox
  • Add new Custom Tabs to the Inbox – custom pages in the Inbox similar to Supervisor Custom Tabs
  • More actions from the collapsed state like update status

Many of these may also be supported in the Utility bar experience, however the limited screen real estate may mean the experience is less than desirable – each new feature we’ll consider on a case by case basis on where it should and shouldn’t be supported.

Thanks for reading this blog! I’d love to hear what you think, are you excited about the new experience? What else should we be prioritizing?

Dreamforce 2023 Omni-Channel presentation

For those that were unable to make our presentation at Dreamforce, you can find the content here! The slide deck that we presented is below – for each of the 5 tips, there are posts on this website that dive into more details, however first, we announced that ‘Enhanced Omni-Channel‘ is now GA! Check out the link for more details.

Best practices for Status-Based Capacity with Omni-Channel

This post is to describe how and when to setup and configure Status-Based capacity in Salesforce, when using Omni-Channel routing, including some common pitfalls and how to avoid them.

One of the big issues we hear a lot is that admins will configure agents to have really high capacity numbers, so that they are always busy with cases that are in progress – maybe a capacity as high as 100 cases at once. This works OK initially, but then an agent goes on leave for a couple of weeks and when they come back online they get 100 brand new cases right away they need to action – PANIC!

I’ll talk about how to avoid this problem down below, but first – let’s start with the basics.

What is status-based capacity?

Within the Omni-Channel setup you have two options for capacity management – ‘Tab-based’ or ‘Status-based’. This gets set at the ‘Service Channel’ level, so for each object type that is routed in Omni-Channel, you can use a different model (e.g. VoiceCall versus MessagingSession).

This influences how and when work items are consuming an Omni-Channel users capacity, and therefore if and when they receive new work.

So what’s the difference? I’ll start with Tab-based, this is the default capacity model and the simplest. When an Omni-Channel user accepts a piece of work, that work is opened in a new console tab. That work will continue to consume capacity until the user closes that tab, or logs out of Omni-Channel.

Status-based works differently – capacity consumption is based on a the value of a picklist field on the record that is being routed. In the Channel Settings, the admin will map which picklist field to use on the object and then map each of that picklists’ values to an Omni-Channel status – either ‘In-Progress’, ‘Completed’ or (new in Winter ’24) ‘Paused’. When the appropriate field on the record is updated, the Omni-Channel status may change, and result in capacity being released. For example, in the configuration below, if the ‘Status’ field on this record was updated from ‘Working’ to ‘Waiting for Customer’, capacity will be released as the work will move to a ‘Paused’ state – similarly if it moves back to ‘Working’ it will start consuming capacity again.

When to use status-based capacity?

Status-based capacity is best suited to long running asynchronous work, where the work may pause and resume throughout it’s life cycle – perhaps you need to wait on the customer to get back to you or a back office team to respond with more information – these are perfect candidates for Status-based capacity. Most often, this is an object like the Case or Lead object.

Today, unfortunately it isn’t supported on the Chat, Voice or Messaging channels, but we’re working on fixing those last two, stay tuned!

How should I configure status-based capacity?

I’ve sold you on status-based capacity – great!! The basics you can find in our help docs, but in this post I want to go into more details of the ins and outs of this.

What we have often found, is that admins will only map the ‘Completed’ status to fields that map to the work being fully complete, rather than also when the agent is unable to do more work on it right now, e.g. Waiting on a customer. To work around this, they will set the agents’ capacity to a really high number – which works OK initially, until a new agent or an agent who was on holiday for a while comes back and they get assigned 50 work items at once! Oh no!!

To avoid this, admins should always ensure that the capacity matches what a user is actually capable of handling at any one moment, so more like 3 or 4 cases at once for instance. There are then 2 more steps: at once.

  1. Map or create any mid-states for the work, where work is not actively happening on the work right now, but will should resume later, to a ‘Paused’ or ‘Completed’ status, to ensure work in these states do not consume capacity
  2. Ensure that users are updating the records appropriately to release capacity, or ideally use automation to update the record as appropriate for the user.

When to use Paused or Completed? What’s the difference?

In Winter ’24 we enhanced Status-based capacity to add a new ‘Paused’ status. The purpose of this is to give users visibility into work that they currently own, and will need to resume at some point. The purpose of this is to give us

The difference between paused and completed is two-fold – the first part is the visibility mentioned above, and being able to see their paused work in the Agent Inbox. The second part is related to when the work resumes – paused work will always go back to the record owner, regardless of their current status or capacity, meaning they could be offline when that work resumes. Work that resumes from the ‘Completed’ state, can go through some extra logic to determine who the work should be assigned to – for instance it can check availability or capacity and return it to the original queue if the record owner isn’t available right now.

Which you want to use are up to you and your business case – is a quick response more important? Then use Completed. Is a consistent owner and the customer relationship more important ? Then use Paused. Both work great for different use cases.

Just now there is no easy way to initially ‘Paused’, and then change to the ‘Completed’ behavior (e.g. at the end of your shift or before going on leave) – but a way to ‘Leave’ the work, or relinquish ownership will be coming soon (goal for Spring ’24!) – stay tuned!

Are there any downsides? What’s the catch?

Once you have status-based capacity configured correctly, there are very few downsides, however there are one or two things to be aware of:

  1. You are now more dependent on agents to end their work and look after their workload a lot more, so they will need to stay on top of their work and backlog to update it as appropriate (or add automation to auto-close work as needed).
  2. The ‘Active Time’ field on the AgentWork record doesn’t get recorded – this is on our backlog to resolve, so keep a lookout each release.
  3. Messaging and Voice don’t support this capacity model today (yet!)

We will continue to invest in enhancing Status-based capacity, but don’t worry – Tab-based isn’t going anywhere!

I hope you found this post useful and please let me know in the comments if you have any questions!

What is Enhanced Omni-Channel?

Maybe you’ve heard about “Enhanced Omni-Channel” in our release announcements, or maybe saw a great new feature in a demo that you don’t have access to and want to learn more. You are in the right place! Let’s answer some common questions about Enhanced Omni-Channel, and get you excited to upgrade to a whole new world!

Why does Enhanced Omni-Channel even exist? What’s wrong with the previous platform?

First – the boring stuff! In technical terms, Enhanced Omni-Channel is running on a whole new backend infrastructure, that is built for increased horizontal scale on Hyperforce. The existing platform has served us well until now and will continue to be supported for the foreseeable future, but as we look to scale & streamline our applications, a new one was required.

What do I get with Enhanced Omni-Channel?

Enhanced Omni-Channel is available to all of our customers as part of the Winter ’24 release, and at launch includes:

More detail on these shortly, however the other important thing to note is that all future innovation on Omni-Channel will only be available to customers on Enhanced Omni-Channel – so if you want any routing, agent or supervisor experience improvements then you will want to upgrade as soon as you can!

What is the Enhanced Agent Experience?

I’m so glad you asked! In Winter ’24, we’re excited to bring a new Agent Inbox experience to our Omni-Channel users. This new experience is optimized for asynchronous and long running work, allowing agents to see all the work on their plate in a single Inbox view. This gives agents much more visibility into their backlog and is much easier to use – and what’s more, this is just the beginning of the enhancements to their experience!

Paused Work

Those with keen eyes may have noticed something a bit strange in the screen shot – what does that ‘Paused’ badge mean? As part of this upgrade, we have improved the Status Based Capacity setup, to add a ‘Paused’ status alongside the previous ‘In-Progress’ and ‘Completed’ statuses for work. This means customers can now define situations where the record owner retains ownership and visibility of work in their Inbox, but the work doesn’t consume their capacity.

Once there is work to be done, the user is notified via the blue dot shown above – this is just the first use case of this notification, and we’re confident that users are going to love it!

These are just the beginning of an improved agent experience – more big changes are coming soon, stay tuned!

What is the Enhanced Supervisor Experience?

We haven’t forgotten about our Supervisors! Omni-Supervisor is great, but it has lacked a high level summary view, where you can see the health of your operations in one place – that is until now! The first feature available for Enhanced Supervisors is a new Wallboard view allows you to quickly and visually get a quick pulse check of your team in real time, allowing easier and faster identification of any actions that may need to be taken.

Check wait times, queue or skill backlog sizes, handle times, agent status & agent capacity all at a glance, and filter to see your most important queues or skill combinations.

What’s the catch? Do I lose anything when I upgrade to Enhanced Omni-Channel?

Sounding too good to be true? For most Omni-Channel customers, you will lose absolutely nothing, and all features that are available today will continue to work on Enhanced Omni-Channel with no changes necessary after upgrading – agents just need to log out and back into Omni-Channel. There is 1 exception to this – the ‘Transfer Skills’ button that shows up on the Omni-Channel widget isn’t present on the Enhanced version – if you are using this button, we suggest creating a Flow on the relevant record that handles the transfers instead. You can find an example in this Quip document, including a link to install the Flow and post installation instructions.

For any customers using our Chat channel (formerly known as LiveAgent), or any ‘Standard’ Messaging channels (such as SMS or WhatsApp) will need to upgrade to their ‘Enhanced’ equivalents before upgrading to Enhanced Omni-Channel, as these channels will stop working after the upgrade.

Learn more about upgrading from Chat to the Messaging for In-App or Web product here.

Sounds great! How do I upgrade?

It couldn’t be simpler! Navigate to ‘Omni-Channel Settings’, and click the toggle on the right hand side. That will walk you through accepting the required terms and conditions, before enabling Enhanced Omni-Channel. After that, with a quick logout of Omni Channel and a screen refresh, the new Agent & Supervisor experiences will show up!

Here is a quick video that provides an overview of Enhanced Omni-Channel, and will show you the upgrade process

I hope this post answers the question of what is Enhanced Omni-Channel and motivates you to turn it on. We have an amazing roadmap of features that we will continue to deliver on the Enhanced Omni platform – stay tuned and keep logging your ideas on the Ideas Exchange!