Register a subscription on the public.concur.travel.itinerary topic via the Concur Event Subscription Service v4; specify your HTTPS callback endpoint and the event types you need
Handle inbound webhook payloads: each event contains the itinerary unique identifier and an event type such as created, updated, cancelled, or anonymized
Use the itinerary ID from the event payload to call the Itinerary v4 GET endpoint and retrieve full trip details including segments, dates, and traveler information
Map the itinerary status codes: 0 for Confirmed, 1 for Ticketed by agent, and 2 for Cancelled; drive downstream logic from these values rather than free-text fields
Handle the anonymized event type for GDPR right-to-be-forgotten compliance by purging or masking PII in your own data store
Implement idempotent event processing using the event ID; the platform may deliver duplicate events during retries
Known gotchas
Itinerary events carry only the ID, not the full payload; a second authenticated GET call is always required to obtain segment details, adding latency and an extra failure point
The anonymized event is legally significant; failing to act on it within your retention policy may create GDPR compliance gaps in systems that store Concur-sourced traveler data
Webhook delivery is not guaranteed in strict order; process events using event timestamps and re-fetch current state from the GET endpoint rather than applying deltas sequentially
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp