# Format Table Cell — Google Docs

> Set the background, borders, padding, or vertical alignment of table cells in a Google Doc. Identify the table with Find Table Text, Table Index, or leave both blank when the document has only one table. Styles every cell unless Row Index…

- Key: `google_docs-format-table-cell`
- Type: Action (Write)
- Version: 0.0.3
- App: Google Docs (`google_docs`) — https://pipedream.com/apps/google-docs.md
- This page (HTML): https://pipedream.com/apps/google-docs/actions/format-table-cell
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/google_docs/actions/format-table-cell/format-table-cell.mjs

## Description

Set the background, borders, padding, or vertical alignment of table cells in a Google Doc. Identify the table with **Find Table Text**, **Table Index**, or leave both blank when the document has only one table. Styles every cell unless **Row Index** and **Column Index** name a starting cell. [See the documentation](https://developers.google.com/workspace/docs/api/reference/rest/v1/documents/request#UpdateTableCellStyleRequest)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `documentId` | `string` | Yes | The ID of the Google Doc. This is the long string in the document's URL: https://docs.google.com/document/d/{DOCUMENT_ID}/edit. Use Find Document to resolve a document's name to its ID. |
| `find` | `string` | No | Text appearing in a cell of the table to style. The action locates the table containing the first match. Only top-level tables are searched. |
| `matchCase` | `boolean` | No | Case sensitive search (true) or not (false). Defaults to false |
| `tableIndex` | `integer` | No | 0-based position of the table in the document, in document order. An alternative to Find Table Text. |
| `tableStartIndex` | `integer` | No | Character index the table starts at. An escape hatch for callers that already know it; prefer Find Table Text or Table Index. |
| `tabId` | `string` | No | For a multi-tab document, restrict the operation to this tab (e.g. t.0). Get tab IDs from List Tabs. Omit to search every tab for Find Text; an explicit Start Index / End Index without a Tab ID applies to the first tab only. |
| `rowIndex` | `integer` | No | 0-based row of the first cell to style. Omit (with Column Index) to style every cell in the table. |
| `columnIndex` | `integer` | No | 0-based column of the first cell to style. Omit (with Row Index) to style every cell in the table. |
| `rowSpan` | `integer` | No | Number of rows to cover, starting at Row Index. Defaults to 1. |
| `columnSpan` | `integer` | No | Number of columns to cover, starting at Column Index. Defaults to 1. |
| `backgroundColor` | `string` | No | Cell background as a hex code, e.g. #EEEEEE. |
| `borderColor` | `string` | No | Border color as a hex code, applied to all four sides. Must be set together with Border Width, since the API replaces a cell border as a whole. Borders cannot be transparent; set Border Width to 0 to hide one. |
| `borderWidth` | `integer` | No | Border thickness in points, applied to all four sides (0-100). 0 hides the border. Must be set together with Border Color. |
| `borderDashStyle` | `string` | No | Dash pattern for the border, applied to all four sides. Defaults to SOLID when a border is set without one. |
| `paddingTop` | `integer` | No | Space between the cell's top edge and its content, in points (0-100). |
| `paddingBottom` | `integer` | No | Space between the cell's bottom edge and its content, in points (0-100). |
| `paddingLeft` | `integer` | No | Space between the cell's left edge and its content, in points (0-100). |
| `paddingRight` | `integer` | No | Space between the cell's right edge and its content, in points (0-100). |
| `contentAlignment` | `string` | No | Vertical alignment of the content within the cells. |

## 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": "google_docs",
      },
    },
  },
)

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: "google_docs-format-table-cell",
  arguments: {
    documentId: "Document ID",
    find: "Find Table Text",
  },
})
```

**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: "google_docs-format-table-cell",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    google_docs: { authProvisionId: "apn_xxxxxxx" },
    documentId: "Document ID",
    find: "Find Table Text",
  },
})

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": "google_docs-format-table-cell",
    "configured_props": {
      "google_docs": { "authProvisionId": "apn_xxxxxxx" },
      "documentId": "Document ID",
      "find": "Find Table Text"
    }
  }'
```

---

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