Does anyone know why I am getting 409 Conflict on the PUT /api/v2/wfm/schedules endpoint? We are trying to migrate Zendesk availability schedules, but Genesys Cloud rejects the payload if the shift overlaps with existing constraints. In Zendesk, this was just a warning, so the strict validation is blocking our bulk import script.
resource "genesyscloud_wfm_schedule" "zendesk_migration" {
for_each = var.zendesk_schedules
name = each.value.name
# Critical: Explicitly handle conflicts to avoid 409
lifecycle {
ignore_changes = [
# Ignore transient constraint checks during initial bulk apply
schedule_settings
]
}
schedule_settings {
user_id = each.value.user_id
start_date = each.value.start_date
end_date = each.value.end_date
# Ensure timezone alignment to prevent overlap false-positives
timezone_id = "Australia/Sydney"
}
}
This is caused by Genesys Cloud enforcing hard constraints on WFM schedule overlaps, unlike Zendesk’s soft warnings. The 409 Conflict indicates a direct collision with an existing shift or holiday rule in the target org.
When migrating bulk data, manual validation fails. Use Terraform to pre-process the schedule list. Check for existing genesyscloud_wfm_schedule resources first. If a conflict exists, delete or merge the old entry before applying the new Zendesk-derived schedule.
Also, verify timezone IDs. A mismatch between Zendesk’s UTC offsets and Genesys’s IANA timezone IDs often creates phantom overlaps. Align the timezone_id in the HCL resource to match the org’s default. This resolves the 409 by ensuring the API sees compatible time boundaries.