Check your provider version because the skills block was deprecated in favor of the separate genesyscloud_routing_queue_skill resource. The documentation states: “Queue skills are managed independently to allow for better lifecycle control and avoid circular dependencies.”
How I usually solve this is by enforcing the separate resource pattern to prevent state locking issues during bulk imports. The standalone genesyscloud_routing_queue_skill resource is the correct approach for current provider versions.
When syncing queue configurations from external systems like Microsoft Teams bots, managing skills independently avoids the circular dependency errors common with nested blocks. Ensure your provider version is updated, as older versions might still accept the deprecated syntax but fail on drift detection. Here is the standard implementation I use in my pipelines:
This separation aligns with the Genesys Cloud API structure where skills are linked entities rather than intrinsic properties of the queue definition itself.