Enhanced Status Syncing with Salesforce Service Cloud Voice

SUMMARY
Customer is using Genesys Cloud with Salesforce Service Cloud Voice integration. We have multiple secondary statuses defined in Genesys Cloud. When a user selects a secondary Genesys Cloud status in Salesforce an error message is logged in the console log:

[status-manager] Enhanced status syncing failed… falling back to simple status mapping. {“error”: {“name”:”NO_STATUS_FOUND”}}

As a workaround, in Salesforce, we have mapped all Genesys Cloud secondary statuses to a primary Genesys Cloud status.

STEPS TAKEN

  • Followed steps per these two articles:

NEXT STEPS
Confirm secondary statuses are supported with this integration, and if so, determine why they are not working correctly.

Secondary statuses are supported when using Enhanced Status Sync.

Things to check:

  • The user must be in the division that is configured on the secondary status.
  • The OAuth client must have access to the configured division on the secondary status.

-- Kristen

Hello Kristen,

Thank you for confirming secondary statuses are supported when using Enhanced Status Sync.

I confirmed that users are assigned to the same Division as the secondary statuses.

How do I confirm the OAuth client has access to the configured Division on the secondary status?

Thank you,
Scott

Hello Scott,

I misspoke about the OAuth client needing access to the divisions. That is not necessary for enhanced status sync.

The error you posted could be caused because the Genesys Cloud presence or the Salesforce presence wasn't found in the lists that the user has access to. The error should contain more information on which presence was not found.

For the Genesys Cloud presence, the integration makes an API call to /api/v2/presencedefinitions to get the presences that the user is allowed to access. You can view these in the browser log when you view debug logs. The log will be prefixed with [presence-service] getAllPresenceDefinitions. When enhanced status sync returns a presence the integration checks to see if it is in the list that the API call returned. If it is not you will receive an error.

The integration also checks the Salesforce presence against a list that the user has access to. You can view this list in the browser log when you view debug logs. The log will be prefixed with [companion-service] setCompanionSettings. The list used in that log is presenceStatuses. When enhanced status sync returns a presence the integration checks to see if it is in the list. If it is not you will receive an error.

-- Kristen

Hello Kristen,

Thank you for the additional information.

In the API Explorer I added my Elkay Genesys Cloud account for org zedev and executed a /api/v2/presence/definitions GET. The API correctly returned all of our custom secondary statuses. I then logged into Salesforce and changed my status to ‘Busy - Video Call’ and my Genesys Cloud status remained ‘Available’. I reviewed the browser console log, but I did not see any of the traces you mentioned. I confirmed the console log is logging all levels. Is there a way I can send you the API output and console log for you to review?

Thank you,
Scott

Hello Scott,

The best way to get that information to me or another developer is to open a ticket with Genesys Cloud Customer Care.

-- Kristen

Hi Kristen,

I re-opened Genesys case #0003591510 and uploaded the API output and console log to the 11-15 folder.

Thank you,
Scott

Kristen,

Were you able to review the API output and console I uploaded to the case?

Thank you,
Scott