# List Boards — monday

> List boards with their full details — columns, groups, owners, subscribers, tags and workspace. Use when you need board metadata; use List Board ID Options when you only need an ID and a name, which returns a far smaller response. Narrow…

- Key: `monday-list-boards`
- Type: Action (Read-only)
- Version: 0.0.4
- App: monday (`monday`) — https://pipedream.com/apps/monday.md
- This page (HTML): https://pipedream.com/apps/monday/actions/list-boards
- Hints: read-only · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/monday/actions/list-boards/list-boards.mjs

## Description

List boards with their full details — columns, groups, owners, subscribers, tags and workspace. Use when you need board metadata; use **List Board ID Options** when you only need an ID and a name, which returns a far smaller response. Narrow the results with `Board IDs`, `Workspace IDs`, `Board Kind` and `State`. Example: Limit `25`, Page `1`, State `active`. Returns an array of board objects. If exactly `Limit` boards come back there are probably more — call again with `Page` incremented by 1. [See the documentation](https://developer.monday.com/api-reference/reference/boards)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `boardIds` | `string[]` | No | Return only these boards, as an array of board IDs. Use List Board ID Options to find valid IDs. Omit to return all boards. Options are loaded from the connected account. |
| `workspaceIds` | `integer[]` | No | Restrict the results to boards in these workspaces, as an array of workspace IDs. Use List Workspace IDs Options to look up workspace IDs by name. Omit to include every workspace. Options are loaded from the connected account. |
| `boardKind` | `string` | No | Filter the results to boards of a specific kind (public / private / share) |
| `state` | `string` | No | Filter the results to boards in a specific state (active / archived / deleted / all). Defaults to all. |
| `orderBy` | `string` | No | The field to sort results by (created_at / used_at). Defaults to created_at. |
| `limit` | `integer` | No | The maximum number of boards to return per page. Defaults to 25. If exactly this many boards are returned there are probably more, so call again with Page incremented by 1. |
| `page` | `integer` | No | The page number to return, starting at 1. Increment this to walk through boards when a call returns a full page of Limit results. |

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

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: "monday-list-boards",
  arguments: {
    boardIds: ["Board IDs"],
    workspaceIds: [10],
  },
})
```

**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: "monday-list-boards",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    monday: { authProvisionId: "apn_xxxxxxx" },
    boardIds: ["Board IDs"],
    workspaceIds: [10],
  },
})

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": "monday-list-boards",
    "configured_props": {
      "monday": { "authProvisionId": "apn_xxxxxxx" },
      "boardIds": ["Board IDs"],
      "workspaceIds": [10]
    }
  }'
```

---

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