Claude
Skills
Sign in
Back

monday

Included with Lifetime
$97 forever

Monday.com API for work management. Use when user mentions "Monday.com", "monday.com", shares a Monday link, "Monday board", or asks about Monday workspace.

Backend & APIs

What this skill does


## Troubleshooting

If requests fail, run `zero doctor check-connector --env-name MONDAY_TOKEN` or `zero doctor check-connector --url https://api.monday.com/v2 --method POST`

## How to Use

All examples below assume you have `MONDAY_TOKEN` set.

### 1. Get Current User

Query the authenticated user's info:

Write to `/tmp/monday_request.json`:

```json
{
  "query": "query { me { id name email } }"
}
```

Then run:

```bash
curl -s -X POST "https://api.monday.com/v2" --header "Authorization: $MONDAY_TOKEN" --header "API-Version: 2024-10" --header "Content-Type: application/json" -d @/tmp/monday_request.json
```

### 2. List All Boards

Get all boards in your account:

Write to `/tmp/monday_request.json`:

```json
{
  "query": "query { boards (limit: 10) { id name state items_count } }"
}
```

Then run:

```bash
curl -s -X POST "https://api.monday.com/v2" --header "Authorization: $MONDAY_TOKEN" --header "API-Version: 2024-10" --header "Content-Type: application/json" -d @/tmp/monday_request.json
```

### 3. Get Board Details

Get a specific board with its groups and columns:

Write to `/tmp/monday_request.json`:

```json
{
  "query": "query { boards (ids: <your-board-id>) { id name groups { id title } columns { id title type } } }"
}
```

Replace `<your-board-id>` with an actual board ID from the "List All Boards" response (example 2).

Then run:

```bash
curl -s -X POST "https://api.monday.com/v2" --header "Authorization: $MONDAY_TOKEN" --header "API-Version: 2024-10" --header "Content-Type: application/json" -d @/tmp/monday_request.json
```

### 4. Get Items from a Board

Get items (rows) from a specific board:

Write to `/tmp/monday_request.json`:

```json
{
  "query": "query { boards (ids: <your-board-id>) { items_page (limit: 10) { items { id name column_values { id text value } } } } }"
}
```

Replace `<your-board-id>` with an actual board ID from the "List All Boards" response (example 2).

Then run:

```bash
curl -s -X POST "https://api.monday.com/v2" --header "Authorization: $MONDAY_TOKEN" --header "API-Version: 2024-10" --header "Content-Type: application/json" -d @/tmp/monday_request.json
```

### 5. Create a New Item

Create a new item in a board:

Write to `/tmp/monday_request.json`:

```json
{
  "query": "mutation { create_item (board_id: <your-board-id>, group_id: \"<your-group-id>\", item_name: \"<your-item-name>\") { id name } }"
}
```

Replace the following values:
- `<your-board-id>`: An actual board ID from the "List All Boards" response (example 2)
- `<your-group-id>`: A group ID from the "Get Board Details" response (example 3, groups array)
- `<your-item-name>`: Your desired name for the new item

Then run:

```bash
curl -s -X POST "https://api.monday.com/v2" --header "Authorization: $MONDAY_TOKEN" --header "API-Version: 2024-10" --header "Content-Type: application/json" -d @/tmp/monday_request.json
```

### 6. Create Item with Column Values

Create an item with specific column values:

Write to `/tmp/monday_request.json`:

```json
{
  "query": "mutation ($boardId: ID!, $groupId: String!, $itemName: String!, $columnValues: JSON!) { create_item (board_id: $boardId, group_id: $groupId, item_name: $itemName, column_values: $columnValues) { id name } }",
  "variables": {
    "boardId": "<your-board-id>",
    "groupId": "<your-group-id>",
    "itemName": "<your-item-name>",
    "columnValues": "{\"status\": {\"label\": \"Working on it\"}, \"date\": {\"date\": \"2025-01-15\"}}"
  }
}
```

Replace the following values:
- `<your-board-id>`: An actual board ID from the "List All Boards" response (example 2)
- `<your-group-id>`: A group ID from the "Get Board Details" response (example 3, groups array)
- `<your-item-name>`: Your desired name for the new item

Then run:

```bash
curl -s -X POST "https://api.monday.com/v2" --header "Authorization: $MONDAY_TOKEN" --header "API-Version: 2024-10" --header "Content-Type: application/json" -d @/tmp/monday_request.json
```

### 7. Update an Item

Update an existing item's column values:

Write to `/tmp/monday_request.json`:

```json
{
  "query": "mutation ($boardId: ID!, $itemId: ID!, $columnValues: JSON!) { change_multiple_column_values (board_id: $boardId, item_id: $itemId, column_values: $columnValues) { id name } }",
  "variables": {
    "boardId": "<your-board-id>",
    "itemId": "<your-item-id>",
    "columnValues": "{\"status\": {\"label\": \"Done\"}}"
  }
}
```

Replace the following values:
- `<your-board-id>`: An actual board ID from the "List All Boards" response (example 2)
- `<your-item-id>`: An item ID from the "Get Items from a Board" response (example 4)

Then run:

```bash
curl -s -X POST "https://api.monday.com/v2" --header "Authorization: $MONDAY_TOKEN" --header "API-Version: 2024-10" --header "Content-Type: application/json" -d @/tmp/monday_request.json
```

### 8. Delete an Item

Delete an item from a board:

Write to `/tmp/monday_request.json`:

```json
{
  "query": "mutation { delete_item (item_id: <your-item-id>) { id } }"
}
```

Replace `<your-item-id>` with an actual item ID from the "Get Items from a Board" response (example 4).

Then run:

```bash
curl -s -X POST "https://api.monday.com/v2" --header "Authorization: $MONDAY_TOKEN" --header "API-Version: 2024-10" --header "Content-Type: application/json" -d @/tmp/monday_request.json
```

### 9. Create a New Board

Create a new board:

Write to `/tmp/monday_request.json`:

```json
{
  "query": "mutation { create_board (board_name: \"My New Board\", board_kind: public) { id name } }"
}
```

Then run:

```bash
curl -s -X POST "https://api.monday.com/v2" --header "Authorization: $MONDAY_TOKEN" --header "API-Version: 2024-10" --header "Content-Type: application/json" -d @/tmp/monday_request.json
```

### 10. Search Items

Search for items across boards:

Write to `/tmp/monday_request.json`:

```json
{
  "query": "query { items_page_by_column_values (limit: 10, board_id: <your-board-id>, columns: [{column_id: \"name\", column_values: [\"Task\"]}]) { items { id name } } }"
}
```

Replace `<your-board-id>` with an actual board ID from the "List All Boards" response (example 2).

Then run:

```bash
curl -s -X POST "https://api.monday.com/v2" --header "Authorization: $MONDAY_TOKEN" --header "API-Version: 2024-10" --header "Content-Type: application/json" -d @/tmp/monday_request.json
```

## Common Column Types

| Column Type | Value Format |
|-------------|--------------|
| Status | `{"label": "Done"}` |
| Date | `{"date": "2025-01-15"}` |
| Text | `"Your text here"` |
| Number | `"123"` |
| Person | `{"id": 12345678}` |
| Dropdown | `{"labels": ["Option1", "Option2"]}` |
| Checkbox | `{"checked": true}` |

## Guidelines

1. **Use variables for complex queries**: GraphQL variables make escaping easier
2. **Check column IDs**: Use the board query to get exact column IDs before updating
3. **API versioning**: Always include `API-Version` header for consistent behavior
4. **Rate limits**: API has rate limits; add delays for bulk operations
5. **Column values are JSON strings**: When using `column_values`, pass as escaped JSON string
Files: 1
Size: 7.1 KB
Complexity: 10/100
Category: Backend & APIs

Related in Backend & APIs