Hello everyone! I am a Genesys PS consultant and I am currently building a script to bulk assign ‘Routing Skills’ to over five hundred agents for a new product launch. I am using the /api/v2/users/{userId}/skills endpoint to update each agent individually. However, I am seeing that some skill assignments are not ‘Sticking’ and I am getting occasional 409 Conflict errors. Is there a race condition when updating multiple users’ skills in parallel, or is there a better bulk endpoint for skill assignments?
Hello Emi24. I am a supervisor for thirty agents and I have seen these skill updates fail when I try to do them too fast in the UI! To answer your question, there is no bulk skill assignment endpoint for multiple users. You have to do them one by one. The 409 error happens because the platform is trying to update the ‘User Object’ multiple times in a short window. You should add a small ‘Retry’ logic with an exponential backoff in your script to handle these conflicts. It is a very common issue with the users API!
Greetings. I am an admin for our German organization and we have very strict auditing for skill changes. Emi24, to follow up on Hir21, you should also ensure that you are sending the entire list of skills in your request, not just the new one. The skills endpoint is a ‘PUT’ operation, which means it replaces the existing skills with whatever you send. If you only send the new skill, you will accidentally wipe out all the agent’s other skills! I have seen this happen during several deployments and it is a disaster for routing!
I deal with the backend synchronization. One more tip: after you update the skills via the API, there is a slight delay (usually a few seconds) before the routing engine actually starts using the new skills. Do not expect the calls to start routing differently the millisecond your script finishes. I always recommend waiting at least five minutes before you run any verification tests to allow the platform’s cache to synchronize across all regions.