Genesys Cloud - Developer Community!

 View Only

Sign Up

  • 1.  Update conversation skills

    Posted 11-14-2025 11:31
    Edited by Mihai Vasiloiu 11-14-2025 15:10

    Hello,

     In the in-queue flow there is an action called "Set Skills". Is there any way to replicate the behavior of this action with an API?

     I would like to trigger an API that would change the activeSkillIds for a specific conversation

    Regards,

    Mihai


    #PlatformAPI

    ------------------------------
    Mihai Vasiloiu
    Tech Lead Customer Interactions
    ------------------------------



  • 2.  RE: Update conversation skills

    Posted 11-18-2025 06:26

    Hello,

    You can update priority and skills, of a conversation, while it is in queue using: PATCH /api/v2/routing/conversations/{conversationId}

    If you use an empty body (i.e. {}), it will return the current values for priority, skills (skillIds), ...

    And you can update priority and/or skills using this same endpoint. You don't need to resend all values in your update request.

    I mean that if you only specify a skillId array in your request body, it will only update the skills (it will replace existing ones, if some are already set, with the ones you provide in your PATCH request).

    i.e.

    {
      "skillIds": [
        "ID_OF_SKILL_1",
        "ID_OF_SKILL_2"
      ]
    }

    Regards,



    ------------------------------
    Jerome Saint-Marc
    Senior Development Support Engineer
    ------------------------------



  • 3.  RE: Update conversation skills

    Posted 6 days ago
    Edited by Yusuke Higashino 6 days ago
    Hello,
    Since the `POST /api/v2/conversations/calls/{conversationId}/participants/{participantId}/consult/queue` API does not allow us to specify a skill when transferring a call to a queue, we are considering an approach where we assign a skill using `PATCH /api/v2/routing/conversations/{conversationId}`.
     
    However, if multiple agents are available, the call is routed to an agent before the skill is assigned, causing it to leave the queue and return a 404 response.
    (As a result, the skill is not evaluated.)
     
    To work around this, would we need to implement a solution that temporarily reassigns the call to a different queue?
     
    Has anyone else implemented a similar feature?
    Regards,



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



  • 4.  RE: Update conversation skills

    Posted 6 days ago

    Hi Yusuke,

    Not sure if this approach would work for you, but can't you just run those 2 APIs in the reverse order?

    I mean, first you PATCH the skills, and then you POST the transfer to the new queue. Would that be feasible in your scenario?

    Also, I believe there is an organization setting that strips skills from the call after a transfer, so if that is enabled in your scenario then it wouldn't work.

    Aside from that, like you said, a secondary queue could work.. You transfer there, update the skills, and then transfer again to the final queue.

    But if the first method is something that you can do, it's probably better as to not involve the secondary queue.



    ------------------------------
    Marcello Jabur
    ------------------------------



  • 5.  RE: Update conversation skills

    Posted 5 days ago
    Thank you all for your comments.
     
    We have the following requirements for our implementation:
    ・The source queue and the destination queue must be different queues.
    ・There are multiple destination queues, and new ones may be added during operation. We want to minimize maintenance when adding new destination queues.
     
    For these reasons, I believe a mechanism that is entirely handled via API is preferable to implementing this within a call flow.
    (Although we might be able to reduce the complexity somewhat by using data tables or similar methods when configuring it in a call flow...)
     
    Unfortunately, "Strip Skills on Blind Transfer" is currently enabled in our organization settings, but based on Marcello Jabur's idea, I'm considering disabling this and adopting an approach where we set the skill first and then switch it.
     
    However, ideally,
    I think it would be better to have a feature that allows specifying skills via
    POST /api/v2/conversations/calls/{conversationId}/participants/{participantId}/consult/queue
     
    I've posted this issue on Ideas.
    https://genesyscloud.ideas.aha.io/ideas/OPAPISDK-I-280
     
    If you agree, I'd appreciate your vote.
    Regards


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



  • 6.  RE: Update conversation skills

    Posted 6 days ago

    Hi Yusuke,

    If you transfer to a second queue to update skills, you'll need to make sure no one is part of that Queue so it doesn't get answered before the skill is updated. Another issue you'll face with this is the skill being transferred over if you are using a Blind transfer and have the "Strip Skills on Blind Transfer" setting set to ON.

    I have performed something similar to this. I  didn't use an API and Data Actions to do this. I used the Set Skills block in the In Queue Flow to set the skill that I wanted. Once this was done, I used a Get Participant Data to capture that. This was done at the top of the In Queue Flow so it was one of the first things that was captured to minimize the chances of it not being set by being answered first. Once this is done, if the call is transferred to another Queue, then the first thing in that In Queue Flow is a Set Participant Data, which pulls the skill over from the Get Participant Data. A caveat to this though is that the Skill itself won't update in the In Queue Flow until it has gotten to the bottom of the Flow, and routed back up to the top to the Start block. This is where the Skills are updated. So you could use this as a method of overflowing for example.



    ------------------------------
    Martin Boyle
    x
    ------------------------------



  • 7.  RE: Update conversation skills

    Posted 5 days ago

    Hello, hope you are doing well.

    I see two simpler alternatives for your scenario that would not require using any Data Action.

    The first option is to use a simple decision inside the flow. In this case, if the interaction is routed to a specific queue, you can assign a different skill accordingly. One important point is that this action should ideally be performed outside the queue or call flow itself. My recommendation is to apply it in the inbound call flow or inbound message flow before the transfer to the queue.

    Another option is, if the interaction already comes with a predefined skill, to handle this directly in the queue routing configuration using Bullseye Routing. With Bullseye Routing, you can configure up to six routing levels and choose to remove or assign new skills at each routing stage, either based on transfer levels or queue waiting time.

    I recommend reviewing the Bullseye Routing documentation and its available possibilities.

    In any case, my final recommendation would be to make this decision in the flow before transferring the interaction to the queue.

    I hope this helps.



    ------------------------------
    Augusto Aranha
    Gerente de Desenvolvimento de Sistemas e Planejamento
    ------------------------------



  • 8.  RE: Update conversation skills

    Posted 5 days ago

    Obrigado!!



    ------------------------------
    Augusto Aranha
    Gerente de Desenvolvimento de Sistemas e Planejamento
    ------------------------------