We’re experiencing a critical issue where webhook events from our Integration Hub aren’t triggering when our external inventory management system updates stock levels. The external system (third-party WMS) successfully sends HTTP POST requests, but AgilePoint workflows never initiate.
Our webhook endpoint is configured as:
https://api.company.com/agilepoint/webhook/inventory
Method: POST, Content-Type: application/json
The payload structure from WMS looks correct:
{"eventType":"stock.updated","sku":"INV-2301","quantity":450}
We’ve verified the external system logs show 200 OK responses, but AgilePoint process instances never start. This is causing stock discrepancies between systems and delaying order fulfillment. We need to verify webhook endpoint configuration, ensure payload validation is working, and check if network or firewall rules might be blocking the events from reaching the process engine.
I ran a packet trace and found the issue - your corporate firewall has a rule blocking POST requests to /agilepoint/* endpoints from external IPs that aren’t in the approved vendor list. The 200 OK is coming from the edge load balancer’s health check response, not from AgilePoint itself. The actual webhook POST is being dropped at the firewall level. You’ll need to submit a firewall change request to whitelist the WMS IP addresses (looks like 203.45.67.0/24 range based on the logs).
Start by checking the Integration Hub webhook configuration in the AgilePoint portal. Navigate to Integration Hub > Webhooks and verify the endpoint URL matches exactly what your WMS is calling. Also check if authentication is required - if your webhook expects a bearer token or API key but the WMS isn’t sending it, the request might be rejected before reaching the workflow engine.
Thanks for the pointer. I checked the webhook configuration and the URL matches perfectly. However, I noticed there’s an authentication setting that requires an API key in the header. The WMS documentation doesn’t mention sending any authentication headers. Could this be silently failing the requests even though we’re getting 200 responses?
Yes, payload validation is critical. AgilePoint webhooks are case-sensitive for JSON field names. Double-check your process model’s webhook start event configuration.
Let me provide a comprehensive solution addressing all three areas:
Webhook Endpoint Configuration:
In AgilePoint NX Portal, go to Integration Hub > Webhooks and verify:
Endpoint URL: https://api.company.com/agilepoint/webhook/inventory
Authentication: API Key (Header: X-API-Key)
Allowed Methods: POST
Content-Type: application/json
Ensure your WMS is configured to send the API key header. If you can’t modify the WMS, create a middleware endpoint that adds the header before forwarding to AgilePoint.
Payload Validation:
In your process model’s webhook start event, configure the expected schema:
{"eventType":"string","sku":"string","quantity":"number"}
Enable schema validation and set error handling to log validation failures to AgilePoint’s event log. Map these fields to process variables: eventType → pv_EventType, sku → pv_SKU, quantity → pv_Quantity. Case sensitivity matters - if your WMS sends EventType instead of eventType, the validation will fail silently.
Network and Firewall Rules:
Based on the packet trace findings, you need:
- Firewall rule allowing TCP 443 from WMS IP range (203.45.67.0/24) to AgilePoint server
- If using a reverse proxy, ensure it forwards the original client IP in X-Forwarded-For header
- Configure AgilePoint to trust the proxy and check X-Forwarded-For for IP whitelisting
- Add monitoring on the firewall to alert on dropped packets to webhook endpoints
Verification Steps:
After firewall changes are applied:
- Use Postman to test the webhook endpoint directly with a sample payload and the API key header
- Check AgilePoint’s Integration Hub logs (Admin > System Logs > Integration Hub) for incoming webhook requests
- Enable debug logging on the webhook start event to see payload parsing
- Set up a test process instance manually to verify the workflow logic works with the expected data
The combination of missing API key authentication, firewall blocking, and potential payload schema mismatches was preventing your webhooks from triggering. Once the firewall rule is active and the WMS includes the API key header, test with a manual stock update and monitor the AgilePoint event log for successful webhook receipt and process instantiation.
That’s interesting about the 200 responses. If authentication was failing, you’d typically see 401 or 403 errors. The 200 suggests the request is reaching something, but maybe not the AgilePoint webhook handler. Check your network infrastructure - is there a reverse proxy or API gateway in front of AgilePoint? Sometimes these can return 200 OK even if the backend request fails. Also verify firewall rules allow traffic from the WMS IP range to reach your AgilePoint server on the webhook port.
Excellent catch! I’ve submitted the firewall change request. While we wait for that, I’m also reviewing the payload structure. Our webhook expects specific field names - should I be concerned about case sensitivity or field mapping?