I’m trying to automate our QA testing pipeline for a new Lex V2 bot integration.
Currently, our QA team has to manually dial a phone number and speak into the phone to test the intent recognition. I want to build an automated test suite that programmatically interacts with the bot via the Genesys Cloud API. I want to pass a text string (e.g., ‘I want to check my balance’) into the active bot session and receive the bot’s JSON response back to verify the correct intent was triggered.
Is there an API endpoint in Genesys Cloud that allows me to simulate a conversational turn with a Voice Bot without actually bridging a SIP media stream?
As a director overseeing these operations, I can tell you that this is a major gap in the testing framework.
Genesys Cloud does not have a public ‘Bot Simulation API’ that lets you inject text directly into an Architect flow that is expecting voice. Architect Voice flows are tightly bound to the media server and the RTP stream. If the flow is expecting speech, you have to provide audio. You cannot simply POST a text string to an active Voice IVR session.
If you absolutely must automate this without SIP, you have to bypass Genesys completely for the QA phase.
Since the bot is hosted in AWS Lex V2, your DevOps script should just use the AWS SDK (Boto3 in Python) to call the RecognizeText API directly against the Lex bot alias. You can run all your automated intent testing there. Genesys Cloud is just the conduit for the audio; the actual ‘brain’ is in AWS. Test the brain directly!
If you are trying to test the routing logic (what Genesys does after the bot returns the intent), 's approach won’t work.
For end-to-end routing tests, we use a service like Cyara or Hammer. They actually place real SIP calls and inject pre-recorded .wav files into the audio stream to simulate the user speaking, and then they listen to the prompts to verify the routing. It’s the only way to test the entire stack (Genesys + Lex) automatically.