Outbound Campaign Webhook to ServiceNow Failing with 400

Stuck on mapping the campaign:call:completed webhook to a ServiceNow REST endpoint. The payload structure looks correct, but ServiceNow returns a 400 Bad Request. Below is the Data Action configuration:

webhook:
 endpoint: https://dev.snow.com/api/now/table/incident
 method: POST
 headers:
 Authorization: Basic ${env.SNOW_AUTH}
 Content-Type: application/json
 body:
 short_description: "Genesys Outbound: ${interaction.call.outbound_campaign.name}"
 state: 1

The error log in Genesys Cloud shows 400: Invalid JSON. Any ideas?