We’ve configured webhooks in SAP CX to trigger external automation when campaign status changes (from draft to active, or when completed). The webhook endpoint is registered correctly in the system, but events are not firing consistently. Sometimes they work, sometimes they don’t.
Our webhook subscription looks like this:
POST /api/v1/webhooks
{
"eventType": "campaign.status.changed",
"targetUrl": "https://automation.example.com/campaign-trigger"
}
I’ve checked the delivery logs in SAP CX but they’re sparse - only showing successful deliveries from two weeks ago, nothing recent. The endpoint is definitely reachable (I can curl it manually and get 200 responses). What could be blocking webhook delivery? Are there specific event subscription settings or delivery log configurations I’m missing?
I’ve seen this exact issue before. The problem is usually related to event filtering in the webhook subscription configuration. SAP CX 2205 introduced granular event filters, and if your subscription doesn’t explicitly include all status transition types, some events won’t trigger. Check if you have filters set for specific status values like ‘ACTIVE’ or ‘COMPLETED’ - you might need to add ‘DRAFT_TO_ACTIVE’ and ‘ACTIVE_TO_COMPLETED’ as explicit transition events. The delivery logs only show attempts when events actually match your subscription criteria, which explains why you see old entries but nothing recent.
That’s really helpful context. I’ll check the event filter configuration. One more question - are there any known issues with webhook delivery when campaigns are part of a campaign hierarchy or linked to parent campaigns? Some of our campaigns are sub-campaigns under master programs.
Let me provide a comprehensive solution addressing all three critical areas:
Webhook Event Subscription Configuration:
The core issue is that SAP CX 2205’s webhook system requires explicit event type mapping for campaign status transitions. Your current subscription uses a generic event type that doesn’t capture all status change scenarios. Update your webhook subscription to include specific transition events:
The includeHierarchy flag ensures child campaign events are captured even in hierarchical structures.
Delivery Log Analysis:
Delivery logs in SAP CX only retain entries for 30 days by default and only log events that match subscription criteria. To improve visibility:
Navigate to Integration Hub → Configuration → Webhook Settings
Enable ‘Extended Delivery Logging’ which captures subscription evaluation results even for non-matching events
Set log retention to 90 days for better troubleshooting
Enable ‘Failed Delivery Alerts’ to get notifications when endpoints are unreachable
You can also query delivery logs programmatically via the Monitoring API to export historical data:
GET /api/v1/webhooks/deliveries?eventType=campaign.*&from=2025-03-01
Endpoint Reachability and Network Configuration:
Even though manual curl tests succeed, SAP CX webhook delivery happens from specific IP ranges that might be blocked by your firewall. Verify:
Your endpoint’s firewall allowlist includes SAP CX webhook delivery IP ranges (available in the Integration Hub documentation under ‘Network Requirements’)
SSL/TLS certificate validation - SAP CX requires valid certificates; self-signed certs cause silent failures
Response timeout configuration - ensure your endpoint responds within 5 seconds; longer responses trigger retry logic that can exhaust delivery attempts
Add a health check endpoint that SAP CX can ping periodically to verify reachability
Additional Troubleshooting Steps:
Check if your subscription has reached the delivery attempt limit (default is 3 retries). After exhaustion, the subscription auto-suspends
Review the ‘Event History’ tab in Campaign Management to verify status change events are actually being generated in the system
For campaign hierarchies, ensure parent campaigns have ‘Propagate Events to Webhooks’ enabled in Advanced Settings
Test with a simple webhook.site URL first to isolate whether the issue is subscription configuration vs. your endpoint
Implement these changes systematically, starting with the event type configuration, then enabling extended logging, and finally verifying network reachability. This should resolve your inconsistent webhook delivery issues.
Check your webhook subscription status first. In SAP CX 2205, webhook subscriptions can become inactive if the endpoint fails multiple times. Navigate to Integration Hub → Webhook Subscriptions and verify the status column shows ‘Active’. If it shows ‘Suspended’ or ‘Failed’, you’ll need to reactivate it manually. Also, check if your endpoint is returning the correct HTTP status codes - SAP CX expects 2xx responses within 5 seconds, otherwise it marks delivery as failed.
Yes, campaign hierarchies can affect webhook triggering. In hierarchical setups, status changes to child campaigns might not fire individual webhooks if the parent campaign’s settings override event propagation. You need to check the ‘Event Propagation’ setting in the parent campaign configuration.
One thing to verify - campaign status changes might not trigger if the change happens through bulk operations or API updates instead of UI actions. SAP CX webhook events are sometimes scoped to specific change contexts. Try changing a campaign status manually through the UI and monitor the delivery logs immediately. Also, enable verbose logging for the Integration Hub module in your tenant configuration to capture more diagnostic information about webhook processing.
Thanks! I checked and the subscription shows as ‘Active’. The endpoint returns 200 within 2 seconds when I test it manually. But I’m still not seeing events in the delivery logs for recent campaign status changes. Is there a way to force a test event to see if the webhook fires at all?