I am trying to test the /api/v2/textbots/bots/execute API, and it requires 3 IDs:
botId
integrationId
botSessionId
Questions about each one:
botId - The only place I can find anything that resembles a bot ID is in the URL to edit the bot in Architect. Is this the ID? https:/apps.mypurecloud.com/architect/#/bot/flows/{botId-guid} Is this correct? If I'm wrong, where do I find the bot ID?
integrationId - I cannot find this anywhere. I have an inbound chat that sends to a bot flow. I'm testing using the developer tools. I'm also using the API explorer to send the execute request. What is the integrationId and where do I find it?
botSessionId - is this the same as the Session.ConversationId? If not, how do I retrieve this from the bot flow?
I'll caveat that these answers are based on what I've found in the docs and a little background knowledge; I haven't used this firsthand. If this doesn't get you what you're looking for, please post back and I can tag someone else in with more experience with text bots.
Thank you. Regarding the integrationId, does this mean I need to have a Genesys Bot Connector license? I thought that was used to integrate with third party bots, but I'm working on a Genesys-only scenario.
The API you're using is related to this feature: https://developer.genesys.cloud/commdigital/textbots/botconnector-customer-api-spec. Is that what you're trying to use? If not, can you link to a specific doc page you're looking at for the feature you want? There are quite a few different offerings/features with very similar names; identifying which kind of bot you're intending to work with will guide with API endpoints to use.
Okay. I was hoping to use this in another fashion but I guess it won't be possible. I was wanting to interject within a Genesys bot session that was initiated by a customer.
For example:
customer initiates chat session
based on input, it will go to another bot flow where a 3rd party will send turns and/or intents to direct the bot flow
There's a general implication with messaging and bots that there's a 1:1 relationship between the customer and what they're interacting with. That means if your app isn't the bot that the customer is in a conversation with, your app won't be able to send messages to the customer. I don't think there's any way to do this without your application being the bot provider itself, but I'll ask around and will post back if I get a different answer.
This is what the text bot APIs are for. In context of the flow diagram in the link above, your app is the Customer's svc, and may also be Customer's Bot depending on if the bot software itself is your own software or you're integrating with a 3rd party that Genesys Cloud doesn't support natively. To be a bot that the customer can chat with, you have to implement a service as described in that documentation to receive the webhook.
Once you've implemented this sort of bot, you'd use the API endpoints mentioned above for starting a session with your bot and sending intents to its webhook using the /execute endpoint. I don't think these endpoints are really meant to be used by customers except to test your bot; I believe these are just public-facing parts of the platform that are also used internally in Genesys Cloud when communicating with bots.
I got positive confirmation that there is no way to accomplish this currently. You can request new features and share your use case at https://genesyscloud.ideas.aha.io/.