Bot Framework API 400 Error When Migrating Zendesk Bot Rules

Anyone know why the Genesys Cloud Bot Framework API returns a 400 Bad Request when trying to replicate our Zendesk bot logic via the /v2/bots/{botId}/versions endpoint?

We are in the final stretch of our migration from Zendesk to Genesys Cloud. The goal is to map our existing Zendesk bot rules-specifically the intent matching and fallback behaviors-into Genesys Cloud Architect flows. I have spent the last three days trying to get the JSON payload correct for a basic test bot. The documentation suggests that we should be able to define intents and entities directly in the version object, but every attempt results in a validation error.

Here is the specific error response I am receiving:

{
"errors": [
{
"code": "BAD_REQUEST",
"message": "Invalid intent definition. Missing required field 'action'.",
"path": "/intents/0/action"
}
]
}

I am using the Genesys Cloud SDK for Python version 2.10.0. My payload includes the name, description, and language fields, which seem correct based on the Swagger spec. However, the action field is confusing because in Zendesk, we simply had a “resolve ticket” or “transfer to agent” outcome. In Genesys Cloud, I am trying to map this to a simple send_message action, but the API rejects it.

I have tried various structures for the action object:

  1. { "type": "send_message", "message": "Hello" }
  2. { "intent": "greeting", "action": "send_message" }

Neither works. The error persists. I suspect there is a specific schema requirement for the action field that is not clearly documented in the migration guide. Since I am new to Genesys Cloud, I might be missing a fundamental concept about how intents are linked to actions in the bot versioning process. Any insight into the correct JSON structure for the action field would be incredibly helpful. I want to ensure our bot migration is robust before we go live next week.