Enable Change Data Capture for the desired object(s) in Setup > Integrations > Change Data Capture, selecting standard or custom objects.
Authenticate and obtain an access token and instance URL; use the same credentials your subscriber process will use in production.
Connect a CometD client to {instance_url}/cometd/vXX.0/ and supply the Authorization: Bearer header during handshake.
Subscribe to the CDC channel: /data/AccountChangeEvent for standard objects, or /data/MyObject__ChangeEvent for custom objects.
Each received message contains a 'header' with replayId and changeType (CREATE, UPDATE, DELETE, UNDELETE) and 'payload' with changed field values only — null fields in payload mean no change, not nulled out.
Persist the replayId after each processed event so the subscriber can resume from exactly the last processed position after a restart.
Known gotchas
CDC events contain only changed fields in the payload, not the full record — you must fetch the full record via REST if your downstream process needs unchanged fields.
The 72-hour retention window is measured from event publication, not subscription start; if your subscriber is down for longer than 72 hours, you will have a gap and must reconcile via SOQL.
Enabling CDC for high-volume objects (Order, OpportunityLineItem) can generate event volumes that overwhelm a CometD subscriber; consider the Pub/Sub API gRPC interface for sustained high throughput.
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