Hi everyone! I am currently helping a client migrate their digital support stack from Zendesk to Genesys Cloud. In Zendesk, we used to rely on simple keyword matching for our chat bots, which was straightforward, but now I am diving into the outbound capabilities in GC and I am absolutely thrilled about the potential! However, I have hit a bit of a wall with the Outbound Dialing API during our migration testing.
We are trying to map old Zendesk ticket IDs to new Genesys interactions for our outbound campaigns. In Zendesk, we just attached a custom field with the ticket number, but in GC, I am trying to use the Campaigns API to create a predictive campaign and include contact data via the contacts array. When I send a POST request to /api/v2/campaigns/predictive, I get a 400 Bad Request error with the message: Invalid contact data format. The 'external_id' field is required and must be unique.
I am using the Genesys Cloud Python SDK version 1.6.0. My environment is EU1. I have ensured that every contact object in my payload has a unique external_id corresponding to the Zendesk ticket ID, but it still fails. In Zendesk, duplicate ticket IDs were impossible by design, so I assumed uniqueness was guaranteed. Is there a specific format required for the external_id in the outbound context that differs from the Zendesk integration? I want to make sure I am not missing a configuration step in the Admin Console under Outbound settings. Any practical migration advice on how to structure this payload correctly would be amazing!