WebRTC Softphone Config Drift After Terraform Apply with GC CLI

Environment details:

  • Terraform: 1.7.4
  • Provider: terraform-provider-genesyscloud 1.22.0
  • GC CLI: 2.5.1
  • Region: US East (Ohio)
  • Timezone: Australia/Sydney (AEST)

Running automated deployment pipeline via GitHub Actions. The genesyscloud_webrtc resource applies successfully. No errors in Terraform state. However, post-deployment validation shows configuration drift. The softphone does not appear in the Genesys Cloud Admin console for the targeted user group.

Checking the API directly:
GET /api/v2/webRTC
Returns 404 Not Found for the specific webrtcId generated by Terraform.

Using GC CLI to inspect:
gc webrtc list
Returns empty list. No softphone configurations present.

Checking Terraform state:
terraform state show genesyscloud_webrtc.my_softphone
Shows resource exists with id: 12345-abcde. Status is created.

Suspect issue: Race condition between Terraform provider create call and GC backend propagation. Or, the provider is creating a draft that is not being published. The CLI seems to only show published configs.

Terraform config snippet:

resource "genesyscloud_webrtc" "my_softphone" {
 name = "Prod-WebRTC-Softphone"
 description = "Automated WebRTC config for Sydney team"
 enabled = true
 
 user_group_ids = [
 genesyscloud_user_group.devops_group.id
 ]

 settings {
 audio_enabled = true
 video_enabled = false
 }
}

Manual verification in GC Admin UI under Settings > Communication > WebRTC shows no matching resource. Refreshing the page does not help. Waiting 5 minutes and checking again via CLI still returns empty.

Is this a known limitation with the provider version 1.22.0? Or is there a specific CLI command to force publish the config after Terraform creates it? Need to understand if the resource is created in a pending state that requires manual approval or API call to activate.

What is the correct way to ensure WebRTC softphone configurations created by Terraform are immediately visible and active in the Genesys Cloud environment without manual intervention?

Have you tried checking the genesyscloud_webrtc resource block for any implicit defaults that might be overriding your explicit settings? In our recent Zendesk-to-GC migration, we encountered similar drift where the UI appeared empty because the enabled flag wasn’t explicitly set to true in the Terraform state, even though the API call succeeded. Unlike Zendesk’s straightforward widget toggles, Genesys Cloud requires precise boolean alignment.

Ensure your configuration explicitly includes:

resource "genesyscloud_webrtc" "main" {
 enabled = true
 auto_answer = false
 # ... other settings
}

Also, verify that the genesyscloud_webrtc resource isn’t being managed by another pipeline or manual admin changes post-apply. The GC CLI might show a successful apply, but if the underlying flow or user permissions haven’t synced, the UI won’t reflect the change. Try forcing a refresh with terraform refresh before re-applying to see if the state file captures the actual drift. This usually highlights if a background process is resetting the values.