Posts

Custom Tabs for Omni Supervisor

New in Spring ’24 is the ability to customize the tabs that are shown on the Omni Supervisor screen. This comes in two different flavors:

  1. Add, remove and reorder the existing Tabs, and
  2. Create your own new Lightning Page and add it to the screen as a Tab

These two new capabilities bring a lot of power to enhance the usability and usefulness of the Omni Supervisor screen, allowing it to be a true ‘Home’ for more users. We’re excited to see what use cases our customers and partners come up with to make the most of these new powers, but here are some example use cases we’ve been asked for from customers:

  • Add historical reporting alongside the live data (e.g. Salesforce Dashboards, CRM Analytics or Tableau Dashboards, or even a 3rd party reporting tools visualizations),
  • Display live monitoring from another application such as a telephony provider or workforce management tool (bring your own supervisor),
  • Restrict the tabs available to give more users access to Omni Supervisor, without giving them access to see everything a supervisor does (i.e. a “read-only” view of Omni Supervisor).

I’m sure you are already brainstorming many more ways to bring extra information and efficiency to your Salesforce users! Read on for details on how to make the most of this new feature, or jump to the end to check out a video of it in action.

To access this great new feature, you will need to be on Enhanced Omni-Channelfind out more about that here.

How to configure the Tabs

The configuration of which tabs show up is done in the same place as all our other Supervisor enhancements – in the ‘Supervisor Configuration’ admin screen. At the bottom of this screen is a new section, titled ‘Define Visible Tabs‘ – this section allows you to set which tabs are shown to the Supervisors with this configuration and in what order

Define Visible Tabs administration

How do you add your own tabs to the list of Tabs available though? Let’s find out in the next section!

How to create a new Custom Tab

To create a new Tab, we need to create a new Lightning Page of type ‘Omni Supervisor Page‘. This can be done by going to ‘Lightning App Builder‘ in Setup, and clicking the ‘New‘ button. In the popup you will see the ‘Omni Supervisor Page‘ option – select that and complete the rest of the fields until you are taken to App Builder. Note that the name you give the page will show up in Omni Supervisor as the tab heading, so give it a sensible but succinct name (you can edit in App Builder later too).

Once created you will be taken to Lightning App Builder – this page will be familiar for all admins and allows you to drag and drop all the components you’d expect, such as Dashboards, List Views and Visualforce pages, as well as any custom components in your org that are configured to be available for this page type (more on this later). When you’re done adding components to the page, Save and Activate the page – it’ll then be available in the Supervisor Configuration admin screen we talked about above.

For now there is only 1 template available – ‘One Region’ – please let us know what other templates you’d love to see. You can use a Visualforce page to build more sophisticated layouts in the mean time.

Create Custom Components for Omni Supervisor Pages

Can’t find your custom component to add your new Omni Supervisor Page? Or only want your component to be available for these types of pages and no where else? You’re in the right place – for many Aura components, they will just show up, but for Lightning Web Components some updates will needs to be made.

Aura Components

For Aura components, there are two interfaces that you can implement which will make it available for these page types:

flexipage:availableForAllPageTypes (makes available for all page types)
omni:availableForOmniSupervisorPage (available for Omni Supervisor Page type only

There is no need to implement both, as ‘omni:availableForOmniSupervisorPage’ is implicit within ‘flexipage:availableForAllPageTypes’.

Lightning Web Components

For Lightning Web Components you will need to add a new target to the .js-meta.xml for your component for it to an option to be added to the page. Add this within your <targets> tag:

<target>lightning__OmniSupervisorPage</target>

Once updated, it should become available in App Builder*

*May not be initially available in pre-release orgs or sandboxes when upgraded to Spring ‘24 (bug fix coming). Wrap in an Aura component for now.

See it in action

See how to configure Custom Tabs for Omni Supervisor in this video!

Please share this page and let us know how you’ll make the most of this new feature!

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!

How to Optimize Omni Supervisor with Supervisor Configurations

In recent releases there have been some big changes to Omni Supervisor setup to make life easier and more efficient for Supervisors. In the Winter ’23 release it has been taken a step further, by adding the ability to create your own Custom Actions using Salesforce Flow – this puts the power in your Salesforce Administrators hands to add the most impactful actions for your supervisors to each Omni Supervisor screen.

This configuration is all setup through ‘Supervisor Configurations’ – some of the key benefits of using these are:

  • Only see the agents that are most relevant to each Supervisor
  • Only see the work that is relevant to each Supervisor (through Queues or Skills)
  • Have custom actions that are most relevant to each Supervisor

The goal of this post is to walk you through setting up Omni Supervisor in the most optimal way in Salesforce.

Setup guide

First, I want to cover the basics – getting and setting access to Omni Supervisor and some of the Omni Supervisor settings available, before we move onto optimizing the Supervisor experience.

Access to Omni Supervisor

Included with Service Cloud (or any other way you have gained access to Omni-Channel) is the ability to monitor agents and work in real-time with the Omni Supervisor tool. Once Omni-Channel is enabled, it will become available – however we recommend that you limit who has access to it. You can do this by:

  • Editing all of your profiles to set ‘Omni Supervisor’ to ‘Tab Hidden’ under Tab Settings (or Object Settings) for your profiles
  • Create a Permission Set that grants access to this tab – similar to the screenshot below. You can then assign this permission set to your managers, supervisors and team leaders. Ideally you may want to include this option with other Supervisor settings, or create a Permission Set Group which includes this access.
Use a Permission Set to control the visibility of the Omni Supervisor Tab

Now that you have configured who can see it – you can add ‘Omni Supervisor’ to your Service Console by following the instructions in our help docs.

Supervisor Settings

On the ‘Supervisor Settings’ admin screen, there are various options you can enable – we recommend you enable all of them (learn more about each setting here), unless your country has particular restrictions on these items (the sneak-peek options need to be disabled in some countries due to privacy concerns).

Optimizing Omni Supervisor

Now that you have Omni Supervisor showing up for your Supervisors, let’s improve their experience. All of the configuration for optimizing Omni Supervisor can be done on one screen, the ‘Supervisor Configurations’ admin screen. We recommend that you create a Supervisor Configuration for each team or department in your organization – this will allow your supervisors to just see the agents and work that is relevant to them, removing any extra noise from other teams or departments.

Configure which Users Supervisors can see

Select the Public Groups you want your supervisor to see in Omni Supervisor

The first part of Supervisor Configuration is restricting which agents the Supervisor with this configuration will be able to see in Omni Supervisor – this is done through Public Groups. There are many other benefits to assigning your agents to Public Groups on top of using them with Supervisor Configurations – you can even nest Public Groups, so this is a great practice even without using them here.

As we suggest a Supervisor for each team and department, we also suggest you have a Public Group setup for each of your teams or departments. Once created, it is as simple as assigning the public group(s) to a Supervisor Configuration, this will mean that Supervisors assigned this configuration will only see agents within the assigned public group(s), reducing the noise in Omni Supervisor.

Configure which Work Supervisors can see

The next step is to filter the amount of work that the Supervisor sees in the Queue Backlog, Assigned Work and Skills backlog Tabs. For queue based work, this is as easy as assigning the appropriate queue(s) to the Supervisor Configuration – this will once again reduce the noise, and ensure the assigned Supervisor(s) only see the queues and work most relevant to them.

Select the Queues you want your supervisor to see in Omni Supervisor

If you are using Skills based routing, it is a little more complex as you have the option to either display work with ANY of the skills you add to the configuration, or only display work that includes at least ALL of the assigned skills. The ‘ALL’ setting can be particularly helpful if you split your work by particular departments and/or countries or languages, and assign skills to work in this way. For instance, if you could add ‘French’ & ‘Tech Support’ to this list, and all work assigned at least the ‘French’ and ‘Tech Support’ skills would show up, but not any with only ‘France’ & ‘Finance Support’ skills assigned.

Select the Skills you want your supervisor to see in Omni Supervisor

Configure which Actions Supervisors can take

This part is so exciting we have created out own blog about it! Check it out here.

However at a minimum, we recommend that you add the standard buttons to the screens – these are ‘Change Queues’ & ‘Change Skills’ (if you are using Skills based routing) on the ‘All Agents’ tab, and add the ‘Assign Agents’ button to the ‘Queues Backlog’ tab.

Assign Supervisor Configuration

Now you have created a configuration for each team and department, you can assign them to the appropriate supervisors and/or team leaders, and watch their productivity soar!

Assign your new configuration to the appropriate users

Add super powers to supervisors with new Configurable Flow Actions

In the Winter ’23 release, an exciting new feature was shipped allowing admins to put more power in the hands of Supervisors to run their teams’ with a new configurable action framework from Omni Supervisor.

You can leverage the power of live data on Omni Supervisor, across all of the tabs (lists of Agents, Queues, Skills, work items in a given Queue, etc.) to execute contextual Screen Flow actions.

Make changes to agents configurations, Re-route work from a Queue, Order a Pizza for your team! The possibilities are endless – I’ve created a few examples that you can try out to get you started, you can find the details, including the installation link in this post.

New Omni Supervisor Actions can be found in the top right of each screen

To get the most our of this great new feature, you will want to find out what are some of the common actions Supervisors need to take on users or work items which require many clicks or manual steps today – these going to be perfect candidates to create new custom actions for, which can speed up their day tremendously (making you a hero). There may also be common actions IT or admins need to make, that could be delegated down to Supervisors, which are also great candidates (e.g. reset a users password).

To make use of these actions, you will need to assign Supervisors a ‘Supervisor Configuration’ – more details on those here.

Creating Custom Actions

A Custom Action is just a Screen Flow – however, the powerful part of these custom actions is the context you can pass to them – that is the list of records users select before invoking the action. That list of records gets converted to a list of IDs and put into an input variable for the flow, called ‘ids’, which the Flow can then take action on.

Each page passes in different types of data to the Flow – you can find more information in our help docs about each, but they fall into 1 of these 3 options:

  • User(s)
  • Queue(s)
  • Work Record IDs (i.e. the ID of the work item being routed – so a Case or Voice Call for instance)

Once you have your use case, creating the custom action is pretty straight forward and is outlined in our help docs, but here are the quick steps:

  1. Create a new Flow of type ‘Screen Flow’
  2. Create an input variable called ‘ids’ that is a Text Collection variable and is ‘Available for Input’
  3. Now perform the action(s) on the records that are passed in as appropriate, looping where required
  4. Save & Activate, giving it a sensible label as this is what will show up to your Supervisors as the button label

How easy is that??!! However, I want to help you out even more by diving into a few extra hints and tips when creating these:

  • Use a Toast to display success or failure instead of an extra screen to reduce clicks for the supervisor. You can find a package with this component on this site, here: https://unofficialsf.com/show-toast-flow-action/
  • Use the ‘Collection Filter’ element to quickly create a list of record IDs of all the same type (e.g. Cases), by checking the IDs in the list all start with the same 3 character prefix. You can then iterate each list independently with the Loop element
  • You can use the Flow feature of running Flows in System Context to delegate down extra powers to the Supervisors, so that the actions they run can manipulate admin data (such as Presence Configurations or Routing Configurations), or even objects/fields that they otherwise wouldn’t have access to – within the guardrails of the Flow that restricts what they can and can’t do to those objects.
  • You can add Emoticons 👍🙏❗️ to the Label of the Flow, which will then show up on the Supervisor screen to stand out more
  • The order you assign these is important – the first 4 will be shown on the page, while you can have up to 6 more in the dropdown (for a total of 10).
  • To test your actions, create a test Screen Flow that calls your new Flows as sub-flows, passing in the list of appropriate IDs to each.

Now you can go ahead and assign this action to your Supervisor Configurations, and see your Supervisors productivity skyrocket!

I’m excited to see how our customers will make use of this exciting new feature! Don’t forget, to get you started I have created some examples of some common Flows you may want to use, and even packaged them up – details can be found in this page.

Example Custom Flow Actions for Omni Supervisor

In the Winter ’23 release, an exciting new feature was shipped allowing admins to put more power in the hands of Supervisors to run their teams’ with a new configurable action framework from Omni Supervisor. I’ve gone into some details on creating your own actions in this post, but this page is here to describe a package of custom actions that I’ve created that you can install and use make use of as you see fit.

You can install these Supervisor Flow Actions as a standalone package from this link (unmanaged) – Now updated for Spring ’23 to include Skills and bulk reassignment!

  • Ensure that Omni Channel is enabled before installing

Once installed – check for each flow below as to whether you need to make updates, before adding it to a Supervisor Configuration (as detailed in the help docs) – all Flows that reassign work will need updating.

Flow list:


Password Reset

Description:
This flow is designed to be used on the ‘Agent Summary’ tab of Omni Supervisor, and expects a list of User record Ids to be passed in (to the input variable ‘ids’ – this is done by default from Omni Supervisor). This will show the above screen – where you can choose to send a notification to the affected Users – choosing to send the notification will result in the users getting a Salesforce notification (bell icon), informing them that their password has been reset. They will also get the standard password reset email (whether you select the checkbox or not).

Note – this Flow is set to ‘Run as System’ as it is calling Apex, and the ‘system.resetPassword()’ function.

Required Updates

  • Add this action to the appropriate ‘Supervisor Configurations’ (or create one) that you want this to appear for.
  • Ensure you have a ‘Custom Notification’ in the Setup screens which is active, and applies for both Desktop and Mobile (for the checkbox to send a notification to work)
  • Ensure the user has access to the ‘ResetUserPassword’ Apex Class (via Permission set or Profile)

Optional Updates
None


Update Capacity

Description:
This flow is designed to be used on the ‘Agent Summary’ tab of Omni-Supervisor, and expects a list of User record Ids to be passed in (to the input variable ‘ids’ – this is done by default from Omni-Supervisor). This will show the above screen – where you can enter the new capacity to use for the selected user(s). Note that in doing this, it may create a new ‘Presence Configuration’ in the back end – this is why this Flow needs to be ‘Run as System’, as a standard user won’t have permission to create or edit those admin records.

If a Presence Configuration with the entered Capacity doesn’t exist, then the Flow will clone the ‘default_presence_configuration’ (created when you turn on Omni-Channel) to create a new one, using the capacity entered – therefore you may end up with a lot of different Presence Configurations when using this Flow. Therefore, please update the default presence configuration to have the values you expect/want for each of these new Presence Configurations.

Choosing to send the notification will result in the users getting a Salesforce notification (bell icon), informing them that their capacity has been updated, and they need to log out and back in to Omni-Channel.

Required Updates

  • Add this action to the appropriate ‘Supervisor Configurations’ (or create one) that you want this to appear for
  • Ensure you have a ‘Custom Notification’ in the Setup screens which is active, and applies for both Desktop and Mobile (for the checkbox to send a notification to work)
  • Update the ‘default_presence_configuration’ to have any settings you want replicated across new Presence Configurations

Optional Updates

  • You can change this to create a Presence Configuration per agent – this creates a lot of overhead, but means that their capacity change can take effect right away (i.e. without logging in & out of Omni). The risk with this is updating the capacity of an existing Presence Configuration, will result in all assigned users having the new capacity, which may not be what you expect or want.

Send Notification

Description:
This flow is designed to be used on the ‘Agent Summary’ tab of Omni-Supervisor, and expects a list of User record Ids to be passed in (to the input variable ‘ids’ – this is done by default from Omni-Supervisor). This will show the above screen – where you can enter the subject and body of the notification you want to send the selected User(s).

Sending the notification will result in the users getting a Salesforce notification (bell icon), with the entered values. Clicking on this notification will take them to their ‘Home’ screen

Required Updates

  • Add this action to the appropriate ‘Supervisor Configurations’ (or create one) that you want this to appear for.
  • Ensure you have a ‘Custom Notification’ in the Setup screens which is active, and applies for both Desktop and Mobile (for the checkbox to send a notification to work)

Optional Updates

  • You can copy/clone this Flow to send a message in your appropriate messaging platform (e.g. Slack, Teams or SMS) or to send an Email, using the various Flow actions available (either OOB, or via install).
  • You can update the navigation from the ‘Send Navigation’ action to go to a different location as appropriate for you (but a navigation target of some sort must be defined).

Reassign All

Description:
This flow is designed to be used on the ‘Queues Backlog’ tab of Omni-Supervisor, and expects a list of Queue (Group) record Ids to be passed in (to the input variable ‘ids’ – this is done by default from Omni-Supervisor). This will show the above screen – where you can select the appropriate Queue or User you want to assign all of the work in the selected Queue(s) to. Today, this only supports Queues, Skills and Agents.

Required Updates

  • Each of the Route Work actions need to be updated for your Org – select the appropriate channel and routing configuration (where appropriate) to a valid value.
  • For any other types of work you have in your org, you will need to add another ‘Collection Filter’ element to filter for that work, and loop through it.

Optional Updates
None


Reassign

Description:
This flow is designed to be used on any of the tabs in Omni-Supervisor that lists work – such as the Skills Backlog, or any of the sub-tabs of each page. The Flow expects a list of record Ids to be passed in (to the input variable ‘ids’ – this is done by default from Omni-Supervisor) – these could be of many different types. This will show the above screen – where you can select the appropriate Queue, Skills or User you want to assign all of the selected work items to.

Warnings

  • Reassigning work that is currently assigned directly to an agent to a Queue will fail – workaround is to assign to a skill first, before assigning to the queue (can be added to the Flow)
  • Using this action on the ‘Assigned Work’ page may have unexpected consequences – as that work is currently with an agent, and will be re-routed while they are still working on it, potentially leading to multiple people working on the same work item.

Required Updates

  • Each of the Route Work actions need to be updated for your Org – select the appropriate channel and routing configuration (where appropriate) to a valid value.
  • For any other types of work you have in your org, you will need to add another ‘Collection Filter’ element to filter for that work, and loop through it.

Optional Updates


Assign to Me

Description:
This flow is designed to be used on any of the tabs in Omni-Supervisor that lists work – such as the Skills Backlog, or any of the sub-tabs of each page. The Flow expects a list of record Ids to be passed in (to the input variable ‘ids’ – this is done by default from Omni-Supervisor) – these could be of many different types. This will show the above screen – where you can select the appropriate Queue or User you want to assign all of the selected work items to. Today, this only supports Queues and Agents, due to limitations with the setup of dynamically adding skills in Flow – it is on the near term roadmap to resolve this short-coming.

This is the same as the Reassign Flow above, but a faster way to assign to yourself if you want to quickly grab a work item out of the backlog.

Warning – using this action on the ‘Assigned Work’ page may have unexpected consequences – as that work is currently with an agent, and will be re-routed while they are still working on it, potentially leading to multiple people working on the same work item.

Required Updates

  • Each of the Route Work actions need to be updated for your Org – select the appropriate routing configuration to a valid value.
  • For any other types of work you have in your org, you will need to add another ‘Collection Filter’ element to filter for that work, and loop through it.

Optional Updates
None