Subscribe to Salesforce Change Data Capture events for a standard object (Account) using the Pub/Sub API gRPC interface and process the Avro-encoded change payloads
Enable Change Data Capture for the Account object in Salesforce Setup under Change Data Capture
Authenticate to the Pub/Sub API using a JWT or OAuth access token, then establish a gRPC channel to the Pub/Sub API endpoint (api.pubsub.salesforce.com:7443)
Call the Subscribe RPC with the topic '/data/AccountChangeEvent' and an initial replay preset of EARLIEST or LATEST, providing the schema ID from a prior FetchSchema call
Receive FetchResponse messages containing Avro-encoded ChangeEventHeader plus changed field values; decode each payload using the Avro schema obtained from GetSchema
Parse the ChangeEventHeader to extract 'changeType' (CREATE/UPDATE/DELETE/UNDELETE), 'changedFields' bitmap, and 'recordIds' to determine which records and fields changed
Known gotchas
Change Data Capture only includes fields that actually changed in an UPDATE event — fields not listed in 'changedFields' have their value omitted from the payload, not set to null
The Pub/Sub API uses Avro binary encoding; the schema ID embedded in the payload header must be used to fetch the schema via GetSchema before decoding — caching schemas locally avoids redundant round-trips
Replay IDs are per-topic and must be persisted by the subscriber; if the subscriber restarts without a stored replay ID it must choose between replaying from earliest (potentially reprocessing old events) or latest (potentially missing events)
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