We’re experiencing a critical issue with our incident-mgmt webhook integration in MC 2022.1. When incidents are created or updated, the outbound webhook payload is missing all custom fields we’ve configured. The webhook template configuration includes these fields, but they’re not appearing in the actual JSON sent to our external system.
Here’s what we’re seeing in the payload:
{"incidentId":"INC-2024-001","status":"open","createdDate":"2025-03-15"}
// Missing: customField1, customField2, severity, impactArea
We’ve verified the custom fields exist in the incident record and are visible in the UI. The webhook fires successfully but the field mapping seems broken. Has anyone encountered API visibility issues with custom fields or field mapping cache problems in webhook payloads?
I think we’re getting closer. I checked the template and we are using internal names. But how do I find the correct API names for custom fields? Is there a way to query this or do I need to check each field definition manually?
To add to the above - we had this exact problem. The issue was that our webhook template was referencing field internal names instead of API names. MC 2022.1 changed how custom field names are resolved in webhook payloads. Check your template JSON mapping and make sure you’re using the correct field identifiers. For custom fields, use the format ‘custom_fieldname’ not just ‘fieldname’. Also verify the field data types match what the webhook engine expects.
I’ve seen similar behavior before. Check your webhook template configuration - specifically look at the field visibility settings. In MC 2022.1, custom fields need explicit API visibility flags enabled in the field definitions themselves, not just in the webhook template. Navigate to Admin > Custom Fields > Incident Fields and verify each custom field has ‘API Accessible’ checked.
This sounds like the field mapping cache issue that was documented in release 2022.1.3. When you add new custom fields, the webhook engine doesn’t automatically refresh its field mappings. You need to manually clear the integration cache and restart the webhook service. Also check if your webhook template version is locked - sometimes templates get cached at the version level.
Thanks for the suggestion. I checked and all custom fields have ‘API Accessible’ enabled. Still not showing in webhook payload. Could this be a caching issue? I noticed the webhook was working fine until we added two new custom fields last week.
Here’s the complete solution that addresses all three issues you’re facing:
1. Webhook Template Configuration:
Edit your webhook template and update field mappings to use proper API names. For custom fields in incident-mgmt, the format is incident.custom_[fieldname]. Your template should look like:
{
"incidentId": "{{incident.id}}",
"status": "{{incident.status}}",
"customField1": "{{incident.custom_field1}}",
"customField2": "{{incident.custom_field2}}"
}
2. API Visibility for Custom Fields:
Verify each custom field has proper API configuration:
- Navigate to Admin > Custom Fields > Incident Management
- For each custom field, click Edit
- Ensure ‘API Accessible’ is checked
- Set ‘API Name’ explicitly (don’t rely on auto-generated names)
- Save and publish the field definition
3. Field Mapping Cache:
Clear the integration cache to force webhook engine to reload field mappings:
- Go to Admin > System > Cache Management
- Select ‘Integration Field Mappings’ cache
- Click ‘Clear Cache’
- Restart the webhook service: Admin > Services > Webhook Engine > Restart
After making these changes, test with a new incident creation. The webhook payload should now include all custom fields. If you’re still having issues, enable webhook debug logging (Admin > Logging > Integration > DEBUG level) to see exactly what field mappings are being resolved. This was a known issue in MC 2022.1 that was partially addressed in 2022.1.4 patch, so consider upgrading if you continue to have problems.
One additional tip: if you have many custom fields, create a webhook template test endpoint first and validate the payload structure before deploying to production integration.