Salesforce ACTION
Create Case Comment
Add a comment to an existing Salesforce case. Use List Cases to find the case ID, and List Case Comments to read the existing thread first. Comments are visible in the case feed - List Case Feed Items shows them as
CaseCommentPost entries. See the documentation- Action
- Writes data
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Salesforce account once, then configure and run Create Case Comment from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "salesforce_rest_api-create-casecomment",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
salesforce_rest_api: { authProvisionId: "apn_xxxxxxx" },
CommentBody: "Body",
ParentId: "Parent Case ID",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "salesforce_rest_api-create-casecomment",
"configured_props": {
"salesforce_rest_api": { "authProvisionId": "apn_xxxxxxx" },
"CommentBody": "Body",
"ParentId": "Parent Case ID"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "salesforce_rest_api",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "salesforce_rest_api-create-casecomment",
arguments: {
CommentBody: "Body",
ParentId: "Parent Case ID",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
CommentBody Body | string | Text of the CaseComment. Max size is 4,000 bytes. Optional |
ParentId Parent Case ID | string | ID of the parent Case (Salesforce's 15- or 18-character record ID, e.g. 500XX000001SvR2). Use SOQL Query to find the Case ID. Required |
IsPublished Is Published | boolean | Indicates whether the CaseComment is visible to customers in the Self-Service portal. Optional |
additionalFields Additional Fields | object | Other fields to set for this record as name -> value pairs. Values are parsed as JSON where applicable. Example: {"Industry": "Technology", "AnnualRevenue": 1000000}. Use Describe Object to discover valid field names. Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- salesforce_rest_api-create-casecomment
- Version
- 0.3.9
- App
- Salesforce
- Authentication
- OAuth
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗