Genesys Cloud - Developer Community!

 View Only

Sign Up

  • 1.  Specify skills when transferring to the queue

    Posted 03-24-2025 02:53

    post /api/v2/conversations/calls/{conversationId}/participants/{participantId}/consult/

    We use this method to implement the transfer to the queue.

    According to the description in the API Explorer description, It seems that skills cannot be specified.
    We would like to have the skill proficiency evaluated in the destination queue.

    Has anyone implemented this feature?

    It seems that the Create Calls method(not the transfer method) can specify skills.
    /api/v2/conversations/calls

    Regards,


    #PlatformAPI

    ------------------------------
    Yusuke Higashino
    Engineer
    ------------------------------


  • 2.  RE: Specify skills when transferring to the queue

    Posted 7 days ago
    Edited by Nicolas Silva 7 days ago

    The observation is spot-on. The POST /api/v2/conversations/calls/{conversationId}/participants/{participantId}/consult endpoint is designed around the consult/transfer flow, and its request body is scoped to destination targeting (queue, user, address) - it does not expose a skillIds or languageId field the way the outbound call creation endpoint does.

    Here are a few approaches that have been used to work around this limitation:

    Option 1: Set Skills via Architect Flow Before Transfer

    Rather than specifying skills at the API transfer level, you can set the routing data on the conversation itself before the transfer occurs. The Architect flow at the destination queue will pick up the skillIds and languageId already attached to the conversation's routing data.

    You can update a participant's routing data using:

    PATCH /api/v2/conversations/calls/{conversationId}/participants/{participantId}

    With a body like:

    {
      "attributes": {},
      "wrapup": null,
      "alertingTimeoutMs": null,
      "routingData": {
        "skillIds": ["<skill-guid-1>", "<skill-guid-2>"],
        "languageId": "<language-guid>",
        "priority": 10
      }
    }

    This updates the conversation's routing context before you execute the blind or consult transfer, so the queue picks it up with the desired skill requirements.

    Option 2: Use POST /api/v2/conversations/calls as a Blind Transfer Alternative

    As you noticed, the Create Calls endpoint does support skillIds in the request body. If your use case allows for a blind transfer (no consult phase), one pattern is to originate a new call leg with skills specified and then disconnect the original. This is less clean architecturally, though, and has edge cases with call continuity.

    Option 3: Leverage a Genesys Cloud Architect Inbound Flow with Data Actions

    If the transfer goes through an Architect queue flow, you can use data actions inside the flow to dynamically modify routing requirements (skills, language, priority) based on conversation attributes set before the transfer. This keeps the routing logic inside the platform and avoids API workarounds.


    ------------------------------
    Nicolas Silva
    ------------------------------



  • 3.  RE: Specify skills when transferring to the queue

    Posted 6 days ago

    Hello, @Yusuke Higashino

    From what I understand, the consult transfer API does not let you specify ACD skills in the transfer request body. So if you transfer directly to a queue using that endpoint, I would not expect to be able to add required skills/proficiency as part of that same API call.

    The POST /api/v2/conversations/calls endpoint is a different scenario because it is creating a new call/conversation, so the available request body options are not necessarily the same as a consult transfer of an existing conversation.

    For a transferred interaction, the skill evaluation in the destination queue will only be meaningful if the interaction has the required skill criteria attached before ACD assignment. If the API transfer only sends the call to the queue without skills, then Genesys will route based on the queue/routing configuration without adding those extra skill requirements.

    A few possible approaches:

    • Transfer to an Architect flow first, and use Transfer to ACD with the required skills and priority.

    • Use an in-queue flow with Set Skills, if the interaction is already waiting in queue and the logic fits your use case.

    • Use a fake queue with a inqueue flow to Set Skills and then, transfer to another queue.
    • Use different destination queues when the skill requirement is fixed by escalation type.

    • Check whether the newer transfer APIs fit your use case, since the older /consult APIs are being deprecated, but I would still validate whether the new endpoint supports the skill data you need.

    So, I don't think this is something you can solve directly with the current consult transfer request body. I would handle the skill assignment through Architect routing logic or queue design before the interaction is assigned to an agent.



    ------------------------------
    Arthur Pereira Reinoldes
    ------------------------------