# Update Row — Smartsheet

> Update one or more rows in a sheet by row ID, addressing cells by column NAME rather than column ID. Returns the updated rows under result. Call Get Sheet to find row IDs and column names first. To add new rows instead of changing existing…

- Key: `smartsheet-update-row`
- Type: Action (Write)
- Version: 1.1.2
- App: Smartsheet (`smartsheet`) — https://pipedream.com/apps/smartsheet.md
- This page (HTML): https://pipedream.com/apps/smartsheet/actions/update-row
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/smartsheet/actions/update-row/update-row.mjs

## Description

Update one or more rows in a sheet by row ID, addressing cells by column NAME rather than column ID. Returns the updated rows under `result`. Call **Get Sheet** to find row IDs and column names first. To add new rows instead of changing existing ones, use **Add Row to Sheet**. [See the documentation](https://developers.smartsheet.com/api/smartsheet/openapi/rows/update-rows)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `sheetId` | `string` | Yes | The sheet to act on. Accepts a numeric sheet ID (e.g. 1234567890123456), or a Smartsheet sheet URL, which is resolved to the ID for you. Use List Sheets to enumerate sheets, or Search to find one by name. |
| `rows` | `string` | Yes | JSON array of row update objects. Each needs rowId plus column name/value pairs. Quote the row ID: [{"rowId": "1234567890123456", "Status": "Done"}]. Smartsheet row IDs are 16 digits and an unquoted one can exceed what JSON parsing represents exactly, which would silently address a different row. Call Get Sheet to find row IDs and column 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": "smartsheet",
      },
    },
  },
)

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: "smartsheet-update-row",
  arguments: {
    sheetId: "Sheet ID or URL",
    rows: "Rows",
  },
})
```

**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: "smartsheet-update-row",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    smartsheet: { authProvisionId: "apn_xxxxxxx" },
    sheetId: "Sheet ID or URL",
    rows: "Rows",
  },
})

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": "smartsheet-update-row",
    "configured_props": {
      "smartsheet": { "authProvisionId": "apn_xxxxxxx" },
      "sheetId": "Sheet ID or URL",
      "rows": "Rows"
    }
  }'
```

---

- App: https://pipedream.com/apps/smartsheet.md · All apps: https://pipedream.com/apps
