# Create Case Comment — Salesforce

> 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…

- Key: `salesforce_rest_api-create-casecomment`
- Type: Action (Write)
- Version: 0.3.9
- App: Salesforce (`salesforce_rest_api`) — https://pipedream.com/apps/salesforce-rest-api.md
- This page (HTML): https://pipedream.com/apps/salesforce-rest-api/actions/create-casecomment
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/salesforce_rest_api/actions/create-casecomment/create-casecomment.mjs

## Description

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](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_casecomment.htm)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `CommentBody` | `string` | No | Text of the CaseComment. Max size is 4,000 bytes. |
| `ParentId` | `string` | Yes | ID of the parent Case (Salesforce's 15- or 18-character record ID, e.g. 500XX000001SvR2). Use SOQL Query to find the Case ID. |
| `IsPublished` | `boolean` | No | Indicates whether the CaseComment is visible to customers in the Self-Service portal. |
| `additionalFields` | `object` | No | 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. |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
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 accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_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",
  },
})
```

**TypeScript**

```ts
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**

```bash
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"
    }
  }'
```

---

- App: https://pipedream.com/apps/salesforce-rest-api.md · All apps: https://pipedream.com/apps
