Skip to main content

#Omni Channel14 discussing

Omni-channel user experiencing issues where when a new case is created, it doesn't appear in a new tab for them. They have to change their status to offline and back to email & phone and when that doesn't work, he needs to reload the entire page for it to start working again. Also once it starts feeding them over again it sends an old case that he had already closed back to him first, once he closes that back out again he starts getting new emails. Has anyone ever experienced this before and identified a root cause to resolve?   

1 answer
  1. Yesterday, 4:09 PM

    Hi, 

     

    Let me break down both symptoms you're describing.  

     

    Symptom 1 — New cases not appearing without toggling status or refreshing

      

     

    This usually points to one of these: 

    • Stale AgentWork / PSR state. When a case is routed via Omni-Channel, a PendingServiceRouting (PSR) object is created as a transient routing record. It gets deleted once an agent accepts the work. If a previous session ended uncleanly (browser tab closed, session timeout, etc.), the PSR can get into a stuck state where the routing engine thinks the agent is still being offered work — so new items queue up but don't surface. Toggling offline/online forces the engine to re-evaluate.
    • Capacity not being released properly. Check that the agent's capacity settings in the Presence Configuration align with the routing configuration's capacity thresholds — specifically, the "Units of Capacity for In-Progress Work Items" in the routing config should be less than or equal to the agent's presence capacity. If a previously closed case didn't release its capacity unit (e.g. because the case was closed externally rather than via the agent widget), the agent appears full to the router even though they feel available.
    • Page refresh logging them out. If an agent refreshes the Omni-Channel widget page while they're online or busy, they're logged out and must log back in to continue working. Accidental refreshes mid-session cause exactly this symptom.

     

    Symptom 2 — Old closed case re-routed first when they come back online

     

     

    When an agent goes offline and back online, the system re-evaluates all work items in the queue, and agents who had previously been considered for a declined item are included again. If that old case was closed by the agent

    outside

    of Omni-Channel (e.g. editing the Case record directly rather than using the widget's close/wrap-up action), the AgentWork record associated with it may not have been properly marked complete — so Omni-Channel still sees it as active work and re-surfaces it. 

     

    Steps to investigate:

     

     

    1. Check AgentWork records via SOQL: SELECT Id, Status, WorkItemId FROM AgentWork WHERE UserId = '[agent user ID]' ORDER BY CreatedDate DESC — look for records in Opened or Assigned status tied to cases the agent considers closed.
    2. Check Presence Configuration — confirm the agent's capacity is high enough and that "Automatically decline requests" or push timeout isn't silently routing items away.
    3. Check the Service Channel config — specifically the "Check agent capacity on reopened work items" and "Check agent capacity on reassigned work items" settings, as these can directly impact routing behaviour in the scenario you're describing.
    4. Omni Supervisor — use the Queues Backlog and Agent Work tabs to see in real time what the router thinks the agent's state is. This is your best diagnostic tool.

     

    The offline/online toggle works as a workaround because it forces a full presence session reset, but the fix should be upstream — either in capacity config or ensuring cases are closed through the proper Omni-Channel flow so AgentWork records are correctly finalised.

0/9000

Hi all and all the best to wherever you are,  

 

i run out of ideas regarding passing hidden pre chat values from embeeded service deployment (enhanced chat) to a messaging session record. I setup everything in messaging settings, the custom parameter, mapped it in parameter mappings, i use the exact same flow variable, which is of same data type and available for input. In the flow i have an update element which should write the pre chat value to the messaging session before routing the session to the bot in the Inbound Flow. 

 

In embeeded service deployments pre chat is active and the hidden field is selected. I added according to documentation the method.  

 

"window.addEventListener("onEmbeddedMessagingReady", () => { 

    embeddedservice_bootstrap.prechatAPI.setHiddenPrechatFields({ 

        "preChatWebsite": "Austria" 

    });"  

But the value is not passed. However the flow itself fires. So i can write hardcode "test" into the field on messaging session object via flow everytime i start a conversation. It as well does not get overwritten from another flow. I test this in dev console with a VF page.  

 

Is there something i am missing? Do i have to create a case first maybe? 

 

Would be happy for help here. Thanks a lot in advance.  

Best 

3 answers
  1. Jun 5, 11:38 AM

    Hi @Sven Riemer

    I am also at same situation and I tried reverting Embedded Service Deployment to v1 but still no luck. Did you manage to get this working with v1, if so was there any additional change needed? 

     

    Thank you.. 

    Manoj

0/9000

We're utilizing the Google API to search for an address and populate five read-only fields in Omni script if the address is found. If not, we're providing users with the option to manually enter the address via an LWC pop-up screen. After they've entered the address, we return to the Omni script. Although the fields are updating in JSON, the old values persist on the screen. How can we refresh the screen to display the new address data?

#Omni Channel
1 answer
  1. Jun 1, 3:22 PM

    Hi, 

     

    omniUpdateDataJson() updates the DataJSON but doesn't trigger UI re-render on OmniScript elements — their local state stays stale. 

     

    Fix: Use omniApplyCallResp(payload) instead — it updates the JSON and forces UI refresh.

    const addr = {

    AddressLine1: '123 Main St',

    City: 'Noida',

    PostalCode: '201301'

    };

    this.omniApplyCallResp(addr);

    Requirements:

    • LWC must extend OmniscriptBaseMixin
    • Payload keys must exactly match OmniScript element names (case-sensitive)
    • For nested step data, use { StepName: { FieldName: value } }

    If still not refreshing, chain both:

    this.omniUpdateDataJson(addr);

    this.omniApplyCallResp(addr);

0/9000

Need suggestion or workaround. 

We have implemented a skill based omni channel routing, it is working fine routing correctly to available agent with specific skills. 

Issue observed is when an agent with skill is available, case owner is updated to the agent's name and if unaccepted the work after push timeout the case remains under agent ownership only. Ideally it should be reverted back to unassigned queue. 

 

Process is when a case owner manually assigns a case to a queue, automation fires and routes the case through omni. If reverting owner to unassign queue again, so as designed again the case will be routed with new PSR. 

 

I find this article - 

https://help.salesforce.com/s/articleView?id=000383911&type=1

  

But this article says,   

If an Omni-Channel user is available but does not manually accept

a Case request, the Case Owner will be set to the Omni-Channel User and then change back to the Queue in the Case History.

 

Any suggestion/guidance, would be much appreciated. 

Thanks 

 

@* Service Cloud * 

2 answers
0/9000
1 answer
  1. May 15, 5:06 PM

    @Duru Zerdali screenshot shows you are already in the right place:

    App Manager -> Ursa Major Solar Service Console -> Utility Items -> Add Utility Item

    If Omni-Channel is not appearing in that list, it usually means Omni-Channel has not been enabled yet in the org.

    Go to: Setup -> Omni-Channel Settings -> Enable Omni-Channel -> Save

    Then refresh the App Manager page and come back to: Ursa Major Solar Service Console -> Utility Items -> Add Utility Item

    Now search for Omni-Channel again and add it.

    Salesforce’s help confirms that Omni-Channel must be enabled first: 

    https://help.salesforce.com/s/articleView?id=service.omnichannel_enable.htm&type=5

    Trailhead’s step then asks you to add Omni-Channel from the app’s Utility Items section: 

    https://trailhead.salesforce.com/content/learn/projects/set-up-the-service-console/set-up-web-chats-for-your-console

    Also make sure you are editing the Ursa Major Solar Service Console Lightning app, not a standard app. Your screenshot shows the correct app, so the missing piece is most likely the Omni-Channel enablement step.

0/9000

Previously I can be able to login amazon connect SAML instance with salesforce user.  

 

But now Unable to login SAML instance of amazon connect with Salesforce user. Setup>Partner Telephony Contact Centre> Open YOUR Contact center > Click 'Telephony Provider Settings'. when clicked the below page appear.

 

Unable to Login Amazon connect SAML Instance with IDP salesforce user and Inbound Call not receiving in omni channel.

 

 

In the SCCAC contact center connected with above SAML connect instance, active status achieved in omni channel when I login with amazon IAM user(not salesforce contact center user) in SAML connect instance in same window of browser, otherwise showing Log into Omni-Channel failed.

 

When the status is active 

  • The Incoming Voice call is not receiving in the omni channel where the same configuration worked before.
  • But the outbound calls are made with the omni channel and working fine.

image.png

 

 

What is the possible fixes for the above problem.

1 answer
  1. May 8, 12:22 PM

    @Naveen Kumar S these are two issues. The Insufficient Privileges page on Telephony Provider Settings

    usually points to access/configuration, not an Amazon Connect outage. Make sure the Salesforce user has the correct Service Cloud Voice / Partner Telephony permission sets and is added as a user on the Contact Center. Also check the Amazon Connect side. Salesforce permission sets do not automatically give the user Amazon Connect admin/security profile access. 

    Found a similar thread:

    https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000K0pExSAJ

     

     

    For the SAML login issue, I would also check whether the contact center SSO connected app access changed, whether the SAML certificate expired/changed, and whether the Salesforce user still maps correctly to the Amazon Connect user. Salesforce docs say Salesforce users with the Service Cloud Voice permission set should be automatically logged into the associated Amazon Connect instance when SSO is configured correctly. 

    https://help.salesforce.com/s/articleView?id=service.voice_amazon_config_sso.htm&type=5

    For the inbound call issue, since outbound works, the softphone/browser side is probably okay. I would check the inbound path: Amazon Connect phone number, contact flow, queue, routing profile, agent availability, Omni presence, capacity, and whether the VoiceCall record is created in Salesforce. If VoiceCall records are created but not routed, focus on Omni/routing config. If no VoiceCall is created, focus on Amazon Connect/contact flow/Salesforce integration.

    Also confirm you are not mixing Amazon external routing and Salesforce Omni-Channel Unified Routing in the same contact center. Salesforce docs say to use only one routing system per contact center.

0/9000

Due to the complexity of our skills, we have resorted to using an Omni-Channel Flow to determine the skill requirements necessary to route work. However, the 'Add Skill Requirements' are not storing any values as they are "added" using the advanced section in the component. I think I've followed as much online direction, but I'm dead in the water. 

Omni-Channel Flow - Add Skill Requirements widget not storing skill values in record collection variable

 

@* Service Cloud *

 

 

#Omni-Channel

3 answers
0/9000

We recently enabled Skills Based Routing with Status Based Capacity, but it was discovered that sometimes our Omni-Channel agents need to re-assign the case to people that are NOT in the Omni-Channel Routing system. Here's what happens: 

 

  1. Omni routes new case
  2. Omni agent accepts case
  3. Omni agent changes owner on case
  4. History shows the owner change but immediately routes it back to the user (or another user with the same skill who is online).

The way we handle the routing is via flows and when this occurs, these flows are not being triggered so I'm guessing it has something to do with the Status on the case and the fact that it is status based routing?  

 

Has anyone experienced this and figured out a way to work around this without creating other status that are outside of the omni-routing?

 

 

 

#Omni Channel

8 answers
  1. May 4, 5:48 PM

    @Heather Hanson

    :  Thank you so much for coming back and posting your solution. 

     

    While I don't think this helps me right now, I will make note of it for the future.  

     

    A lot of our issues have to do with the order in which things happen (i.e. the Case is created before the eMail Message record) and cross-reference issues.  I did find in my org, an ancient Workflow Rule that was reassigning cases.  Deactivating that made a big difference for us.

0/9000

Hi, We’re using Salesforce Messaging with MIAW SDK, and chat sessions are routed using Omni-Channel External Routing. An external chatbot

 handles the conversation first, and may escalate to an agent later. 

 

Question

 Is it possible for agents or supervisors to 

view the live conversation (MessagingSession) while it’s still handled by the external chatbot — before it’s routed to an agent?

So far, I know:

  • Transcripts are saved and viewable after the session ends.
  • Messages are sent using the Messaging REST API, so they are stored in Salesforce.
  • But I haven’t found a way to show the live conversation in real-time to agents or supervisors.

Has anyone done this before or found a good approach?

Thanks! 

 

I my use case I need to use external Chatbot service from SF Messaging feature, So has anyone implement this before, The 

External Routing is the proper way to do this? Or there're any approaches that fit my use case instead of External Routing?  

 

My Integration flow may looks like this? Integration between Salesforce Messaging and external Chatbot service

 

 

 

#Omni Channel

2 answers
0/9000

Hi , 

 

we are using Amazon connect partner telephony integrated with salesforce omnichannel,  

We can't join the participants .Try refreshing your browser or ask your salesforce admin for help.

 

some of my agents are facing this error while transferring calls ,inbound calls :  

image.png

 

 

How to resolve that ?Any suggestions would be helpful .Thanks in Advance . 

 

3 answers
  1. Apr 8, 8:56 PM

    @Priyanka Boddeda Have you managed to resolve this issue? I'm fairly new to Amazon Connect, and our agents are experiencing the same error. However, I haven't been able to replicate it, as it seems to be working fine for me.

0/9000