stuck on mapping the recording:created event payload to a servicenow incident via a data action. the flow triggers correctly in architect (v4.2), but the servicenow rest api call returns a 400 bad request with error code INVALID_FIELD_VALUE.
environment details:
genesys cloud eu-west (v2023.10)
servicenow madrid 13.1
data action using http post to /api/now/table/incident
the issue appears to be with the recording_url field in the payload. the docs state the webhook delivers a json object containing recording_id and download_url, but when i parse the body in the data action, the download_url seems to be expired or requires a specific auth header that the data action isn’t appending automatically.
i tried constructing a new url using the platform api /api/v2/recordings/{id}/download within the data action script, but that requires an oauth token which i don’t want to hardcode. is there a way to pass the session token from the original conversation context into the data action to fetch a valid long-lived link? or am i missing a configuration step in the recording settings to generate a public shareable link that doesn’t expire in 5 minutes?
also, the recording:created event seems to fire before the actual media file is fully processed and uploaded to s3, resulting in a 404 when servicenow tries to validate the attachment url. is there a delay mechanism i can add in architect, or should i be listening to a different event like recording:ready? couldn’t find that event in the event catalog.
any insights on handling media assets in data actions without running into token expiry issues would be appreciated. currently bypassing by just sending the recording id and having servicenow fetch it via a background script, but that adds latency to ticket creation.