Can anyone clarify why my AWS EventBridge rule is matching the Genesys Cloud userStatus event but the downstream webhook target returns a 4xx error?
We are using Terraform CX as Code to manage the Genesys Cloud side. The webhook endpoint is registered correctly via the genesyscloud_webhook resource.
- Defined EventBridge rule to match
detail-type= “User Status Changed” from sourcegenesys.cloud. - Target is an HTTP endpoint (internal proxy).
- Rule fires. EventBridge sends payload to proxy.
- Proxy logs show 400 Bad Request from Genesys Cloud.
The issue seems to be the payload structure. Genesys Cloud expects a specific JSON format for acknowledgment or data ingestion, but EventBridge wraps the event in its standard envelope.
Snippet of the EventBridge payload hitting the proxy:
{
"id": "a1b2c3d4-...",
"detail-type": "User Status Changed",
"source": "genesys.cloud",
"account": "123456789",
"time": "2023-10-27T14:00:00Z",
"region": "eu-west-1",
"resources": [],
"detail": {
"userId": "123",
"status": "Available"
}
}
The Genesys Cloud API documentation for webhooks is sparse regarding EventBridge integration specifics. Are we supposed to transform the detail object before sending it back, or is there a specific header missing? The Terraform config for the webhook is minimal:
resource "genesyscloud_webhook" "gc_to_aws" {
name = "GC to AWS EventBridge"
endpoint_url = "https://internal-proxy.example.com/gc-events"
# ... auth config
}
Any insights on the expected request body format for this specific integration?