Genesys Cloud - Main

 View Only

Sign Up

  • 1.  Genesys Cloud + Salesforce Voice - Routing an inbound call to the Salesforce Account Owner

    Posted 5 hours ago

    Hi everyone,

    As part of a Genesys Cloud integration with Salesforce Voice, I would like to route an inbound call directly to the Salesforce user who manages/owns the caller's Account.

    My current approach is:

    1. I created a Data Action that queries Salesforce using the caller's phone number.
    2. The Data Action identifies the caller's Salesforce Account.
    3. From this Account, I retrieve the Salesforce User who manages the Account (Account Owner).
    4. This Salesforce User is also a Genesys Cloud user/agent.

    My question is: what is the recommended way to route the call to this specific Genesys agent from Architect?

    More specifically:

    • What information/identifier should I retrieve from Salesforce to uniquely identify the corresponding Genesys Cloud user?
    • What DATA Should I retrieve  from Salesforce, or is there another recommended identifier/mapping?
    • What value should I pass from the Data Action into Genesys Cloud Architect ?
    • Which Architect action/block should I use to propose/transfer the call to this specific agent?

    I also have a fallback requirement:

    • If the Account Owner is not available, the call should immediately go to a fallback queue.
    • If the Account Owner is available but does not answer within 20 seconds, the call should then be transferred to the fallback queue.

    What would be the recommended Genesys Cloud architecture/configuration to implement this scenario?

    Thanks in advance for your help!


    #API/Integrations
    #Routing(ACD/IVR)
    #Other

    ------------------------------
    Ragheb
    Consultant IT
    ------------------------------


  • 2.  RE: Genesys Cloud + Salesforce Voice - Routing an inbound call to the Salesforce Account Owner

    Posted 3 hours ago

    Hi Ragheb,

    If the user/email matches in Salesforce and Genesys Cloud you could retrieve it through the data action, use the Architect Find User action to retrieve the Genesys user.

    Use that user record for preferred agent routing and configure a 20‑second fallback in the queue's configuration.

    Before transferring to ACD, check the agent's status through a data action: if the agent is IDLE, perform the ACD transfer using the Preferred Agent slot; if not, leave the slot empty.



    ------------------------------
    Jeroen van der Sandt
    ------------------------------



  • 3.  RE: Genesys Cloud + Salesforce Voice - Routing an inbound call to the Salesforce Account Owner

    Posted 2 hours ago

    Hi Ragheb,

    For this specific requirement, I would recommend using Genesys Cloud Direct Routing rather than Preferred Agent Routing.

    Your scenario is essentially a 1:1 customer-to-agent relationship: the Salesforce Account Owner should be the first and intended recipient, with a fallback queue when that agent cannot handle the interaction. Direct Routing is designed for this type of use case while keeping the call as an ACD interaction, so you retain queue behavior, reporting, wrap-up codes, and backup routing.

    The architecture I would use is:

    ANI
    Salesforce Data Action
    Find Account
    Retrieve Account Owner
    Resolve Account Owner to Genesys Cloud User
    Transfer to ACD
    Direct Agent = Account Owner
    Fallback Queue when required

    Identifying the Genesys Cloud user

    The most deterministic approach is to maintain the Genesys Cloud User ID (UUID) for the corresponding Salesforce User.

    For example, you could store it in a custom Salesforce User field:

    GenesysCloudUserId__c

    Your Data Action would then return that value to Architect.

    In Architect, use Find User by Id to convert the returned UUID into a Genesys User value.

    Conceptually:

    Salesforce Account.Owner
    Account.Owner.GenesysCloudUserId__c
    Data Action output
    Find User by Id
    Genesys User

    This avoids relying on attributes that may change over time.

    If maintaining the Genesys UUID in Salesforce is not possible, another supported option is to return the Account Owner's email address and use Architect's Find User action. That works if the Salesforce and Genesys users share the same unique email address.

    Routing the interaction

    Once Architect has resolved the Genesys user, use Transfer to ACD.

    Configure:

    Queue = dedicated Direct Routing queue

    and:

    Direct Agent = resolved Account Owner

    The Direct Agent is the specific Genesys user intended to receive the interaction and takes precedence over the normal queue routing method and Preferred Agents.

    For this use case, I would use a queue dedicated to Direct Routing, which is also the pattern Genesys recommends for direct-routing interactions.

    Handling the fallback requirements

    For your voice scenario, configure the Direct Routing queue with:

    Voice Alerting Timeout = 20 seconds

    and configure the required Backup Queue under the queue's Direct Routing settings.

    For the requirement to move directly to the fallback when the Account Owner cannot receive the call, enable the appropriate Assign to backup immediately behavior for the Direct Routing configuration.

    I would also configure the queue with the Direct Routing In-Queue Call Flow pattern documented by Genesys so the backup behavior is handled according to the Direct Routing configuration.

    The resulting behavior is:

    Account Owner unavailable
    Backup Queue

    or:

    Account Owner eligible
    Alert Account Owner for 20 seconds
    No answer
    Agent becomes Not Responding
    Backup Queue

    Once the interaction reaches the backup queue, normal ACD routing for that queue takes over.

    I would not check whether the agent is IDLE before transferring

    I would avoid adding a Data Action that checks the Account Owner's current presence/status before the Transfer to ACD.

    Genesys routing already evaluates whether the target user is eligible to receive the interaction.

    A separate presence lookup can also introduce a race condition:

    Check agent = available
    → another interaction reaches the agent
    → Architect performs the transfer
    → original availability result is already outdated

    Direct Routing should therefore remain responsible for determining whether the Account Owner can receive the call and for applying the configured backup behavior.

    Also note that Direct Routing can route to users who are On Queue, and it can also support eligible users who are Off Queue + Available when the appropriate Routing > Conversation > Accept Off-Queue permission is configured.

    So my recommended design would be:

    Inbound Call
    ANI
    Salesforce Data Action
    Account
    Account Owner
    Genesys User UUID
    Find User by Id
    Transfer to ACD
    Direct Routing Queue
    Direct Agent = Account Owner
    20-second Voice Alerting Timeout
    Direct Routing Backup Queue

    If the Salesforce lookup does not return an Account Owner, the Genesys user cannot be resolved, or the mapping is invalid, Architect should bypass Direct Routing and send the interaction directly to the fallback queue.

    For this requirement, I would choose Direct Routing over Preferred Agent Routing, because the business requirement is explicitly to target one specific Account Owner first and then use a separate backup queue when that owner cannot handle the interaction.



    ------------------------------
    Gabriel
    NA
    ------------------------------