Authenticate with a standard Salesforce OAuth access token; the Connect API uses the same auth as other REST APIs
GET the feed for a specific record by calling the /chatter/feeds/record/{recordId}/feed-elements endpoint, handling pagination with the nextPageUrl in the response
Upload an image as a Content Version or use the binary upload endpoint to obtain a file reference before posting
POST a new feed element to /chatter/feed-elements with a feedElementType of FeedItem, a subjectId pointing to the record, and a body containing MessageBody with segments including text, mentions (@user), and the file reference
Include a capabilities object in the POST body to attach files by referencing the uploaded Content Version ID
Verify the feed post appears on the record's Chatter feed by performing a follow-up GET request or checking the Salesforce UI
Known gotchas
The Connect REST API has its own versioning path (/services/data/vXX.0/chatter/) and its own set of response shapes that differ from the sObject REST API; treat it as a separate API surface
Mentioning a user or group in a feed post requires including a MentionSegment in the MessageSegments array with the user's or group's ID; plain @username text in a TextSegment does not create a notification
Feed element POST payloads must be sent as multipart/form-data if file content is included inline; for file references by ID, the payload can be application/json
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