monday ACTION
Create Column
Add a column to an existing board. Use when a board is missing a field you need before setting values with Create Item or Update Column Values. Set
Board ID, Title and Column Type (e.g. status, text, date, numbers). Custom Labels (Defaults) is accepted only when Column Type is status or dropdown and is rejected for any other type. Example: Title Priority, Column Type status, Custom Labels { "1": "High", "2": "Low" }. Returns the new column's ID as a string (e.g. status_1). Call List Columns afterwards to confirm the ID and the labels it accepts. See the documentation- Action
- Writes data
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's monday account once, then configure and run Create Column 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: "monday-create-column",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
monday: { authProvisionId: "apn_xxxxxxx" },
boardId: "Board ID",
title: "Title",
},
})
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": "monday-create-column",
"configured_props": {
"monday": { "authProvisionId": "apn_xxxxxxx" },
"boardId": "Board ID",
"title": "Title"
}
}'// 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": "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-create-column",
arguments: {
boardId: "Board ID",
title: "Title",
},
})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 |
|---|---|---|
boardId Board ID | string | The board to act on, as a board ID (e.g. 2419687965). Use List Board ID Options to look up a board ID by name. Required Dynamic |
title Title | string | The title of the new column Required |
columnType Column Type | string | The type of the new column Required |
description Description | string | The description of the new column Optional |
defaults Custom Labels (Defaults) | string | The new column's custom labels (defaults). Only valid when Column Type is status or dropdown — setting it for any other column type fails. Should be a JSON object in the format { "1": "Technology", "2": "Marketing" } where each key is the label ID and each value is the label text. See the documentation for more information 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
- monday-create-column
- Version
- 0.1.8
- App
- monday
- Authentication
- API key
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗