Transferring agentless SMS back to the queue/agent

Hello,

We have a use case where we have an API integration with a third party provider to be able to send agentless SMS and when the replies are sent the third party provider is responding as a bot and if they are unable to handle the interaction anymore they transfer it back to a queue that an agent is active on and when they are trying to do this we are seeing a the below,

We are using the replace participant API call,

"message":"You are not a connected participant on the call","code":"not.a.participant","status":400,"contextId":"c4d5666d-a2d5-4bfb-8159-62803267a0dd","details":[],"errors":[]}

Can we transfer this SMS back to the queue?

Thanks and regards,
Karthik Jagadeesh

HI @Karthik_Jagadeesh I want to make sure I fully understand your use case and process, so I can help answer your questions. There are several things in your post that are confusing me. I'll list them here

  1. You mention agentless sms. so you mean the following API, right? POST /api/v2/conversations/messages/agentless. You or your 3rd party is using this API to outbound an sms message from Genesys Cloud using an sms number you have setup in your org? This process involves sending an outbound sms notification then it will leave the Conversation on the Genesys Cloud side disconnected.
  2. You then say "and when the replies are sent the third party provider is responding as a bot and if they are unable to handle the interaction anymore they transfer it back to a queue". So how is this process setup today? Is it a bot you have configured in the Genesys messaging architect flow, or some other setup?
  3. You mention an API error of "You are not a connected participant on the call" Which typically means voice call, but we are talking about sms messaging here. So for starters it seems like you might be using the wrong API anyway there.

I think answering some of these questions will help, and also if you can provide more info on the exact APIs you are calling and your setup it will help me guide you further.

Hi Greg,

Answers below,

  1. You mention agentless sms. so you mean the following API, right? POST /api/v2/conversations/messages/agentless. You or your 3rd party is using this API to outbound an sms message from Genesys Cloud using an sms number you have setup in your org? This process involves sending an outbound sms notification then it will leave the Conversation on the Genesys Cloud side disconnected. >>>> Yes we are using this API to send SMS.

  2. You then say "and when the replies are sent the third party provider is responding as a bot and if they are unable to handle the interaction anymore they transfer it back to a queue". So how is this process setup today? Is it a bot you have configured in the Genesys messaging architect flow, or some other setup? >>> The bot is setup on the third party provider side and on Genesys end we just transfer the SMS to a queue and they keep checking the queue using the conversation ID to pick that up and respond based on responses sent to the conversation.

  3. You mention an API error of "You are not a connected participant on the call" Which typically means voice call, but we are talking about sms messaging here. So for starters it seems like you might be using the wrong API anyway there. >>>> We did try all kinds of replace and the exact call we used is
    /api/v2/conversations/{conversationId}/participants/{participantId}/replace and
    /api/v2/conversations/messages/{conversationId}/participants/{participantId}/replace. However both of them did not work.

Thanks and regards,
Karthik Jagadeesh

So this is a sticking point, as it doesn't make much sense right now. Unless i'm still a little confused.

  1. You outbounded an sms message from Genesys Cloud, that result was a disconnected Conversation (the agentless message was sent and the conversation was then disconnected).
  2. What do you do next, after #1? You say "on Genesys end we just transfer the SMS to a queue". I'm confused here, you can't transfer a disconnected Agentless Conversation. You are saying your end customer is responding to the agentless message, which routes the message into Genesys Cloud to your Flow, that then just transfers the message to a Queue?

Okay I think i actually talked myself into understanding now :grinning:. It seems you are trying to make various 3rd party API requests to Genesys, and you want to use client credential grant https://developer.genesys.cloud/authorization/platform-auth/use-client-credentials from your 3rd party application. Which Agentless API does support, by design. However various other conversation APIs (transfer, etc) in Genesys don't support this, due to needing a user context. Which is where you are having issues I believe. I don't think an easy solution is possible for this specific case.

One suggestion would be to change to use a bot configured in Genesys, in that way the Conversation stays within Genesys fully, and doesn't need a 3rd party to keep checking that queue with API calls and various other setups you've had to implement here to overcome obstacles.
Aside from doing that, message Queues do support In-queue flows now In-queue flows overview - Genesys Cloud Resource Center. Maybe you can come up with some interesting way to use logic in a flow, or time based logic, to route the message to a queue the agents are on, or some other mechanism.

This is exactly what we are trying to do.

We will try to figure out if we can use some in-queue flows for this requirement.

Thanks and regards,
Karthik Jagadeesh

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.