Configure a webhook endpoint in Ramp Settings > Developer and register it for the transaction and expense event types you want to receive
Validate inbound webhook payloads by verifying the HMAC signature provided in the request header against your webhook secret to confirm authenticity before processing
Parse the event type field to distinguish between new transaction creation, transaction status changes, and expense coding updates; route each event type to the appropriate handler
For new travel transactions, extract merchant name, amount, currency, and MCC from the payload and create a draft expense entry in your expense platform or ERP pre-coded with default travel GL accounts
For expense coding update events, sync the updated GL code, cost center, and memo back to your accounting system to keep records aligned with the cardholder's latest input in Ramp
Implement idempotent event handling using the event ID to safely retry failed processing without creating duplicate records
Known gotchas
Ramp may deliver the same event more than once during retry cycles; without idempotency checks keyed on event ID, downstream systems receive duplicate expense entries or double-posted journal lines
Webhook delivery is not guaranteed to be in chronological order; a coding update event may arrive before the originating transaction creation event — handle out-of-order delivery by queuing events and resolving dependencies
The webhook secret must be stored securely and rotated if compromised; Ramp does not provide a grace period for signature validation failures — any payload with an invalid signature should be rejected immediately
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