Monday.com Automation — Claude Code skill: boards and workflows
A skill that automates Monday.com from your agent: creates and updates items, configures boards, automation recipes and dashboards.
npx skills add claude-office-skills/skills --skill monday.com-automation -a claude-code
npx skills add claude-office-skills/skills --skill monday-automation -a claude-codeWhat Monday.com Automation does
The skill talks to Monday.com through the project-mcp MCP server and four tools: monday_create_item, monday_update_item, monday_query, monday_webhooks. With those the agent creates items, moves statuses, pulls board data and registers webhooks. It ships with ready automation recipes: notify subscribers when a status hits Done, flag overdue tasks, auto-assign an owner to new items, spin up a dependent task on another board.
There are board templates for a CRM and a project tracker, plus column type definitions (status, person, timeline, numbers, formula) and view setups: table, kanban, timeline, calendar, chart, workload. Dashboards are built from widgets — counters, a pie chart by status, sprint progress.
You need the project-mcp server wired to your Monday.com account. Without it the skill makes no calls at all, so check that first. Inputs are item details, board configurations, automation recipes and integration settings.
What it helps with
- create Monday.com board items from the agent
- move a task to a new status and notify subscribers
- build a dashboard with sprint progress
- auto-assign an owner to incoming items
- open a dependent task on another board on status change
Example prompts for the agent
- Create an item called Prepare the report on the Project Board with status Not Started and due date January 25
- List every item with status Stuck and assign an owner to each
- Set up an automation that notifies item subscribers when status changes to Done
How to install Monday.com Automation
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill monday.com-automation -a claude-codenpx skills add claude-office-skills/skills --skill monday-automation -a claude-code2Manually: put the files in place
~/.claude/skills/monday-automation/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/monday-automation/
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill monday-automation -a codex2Manually: put the files in place
.agents/skills/monday-automation/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill monday-automation -a cursor2Manually: put the files in place
.cursor/skills/monday-automation/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install claude-office-skills/skills monday-automation2Manually: put the files in place
.github/skills/monday-automation/SKILL.md1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill monday-automation -a gemini-cli2Platform CLI
gemini skills install https://github.com/claude-office-skills/skills --path monday-automationManually: put the files in place
.devin/skills/monday-automation/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill monday-automation -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about Monday.com Automation
How do I install Monday.com Automation in Claude?
Run npx skills add claude-office-skills/skills --skill monday.com-automation -a claude-code. The skill file lands at ~/.claude/skills/monday-automation/SKILL.md.
What does Monday.com Automation do?
It automates Monday.com work: creating and updating items, managing boards, setting up automation recipes and assembling dashboards.
What does the skill need to run?
The project-mcp MCP server with the monday_create_item, monday_update_item, monday_query and monday_webhooks tools. Without it no Monday.com call goes through.
Source text
SKILL.md · MIT
---
name: Monday.com Automation
description: Automate Monday.com workflows, board management, team collaboration, and cross-board integrations
version: 1.0.0
author: Claude Office Skills
category: project-management
tags:
- monday
- workflow
- project-management
- collaboration
- automation
department: operations
models:
- claude-3-opus
- claude-3-sonnet
- gpt-4
mcp:
server: project-mcp
tools:
- monday_create_item
- monday_update_item
- monday_query
- monday_webhooks
capabilities:
- Board and item management
- Workflow automation
- Dashboard creation
- Cross-board sync
input:
- Item details
- Board configurations
- Automation recipes
- Integration settings
output:
- Created/updated items
- Board views
- Dashboard reports
- Automation logs
languages:
- en
related_skills:
- asana-automation
- jira-automation
- notion-automation
---
# Monday.com Automation
Comprehensive skill for automating Monday.com work management and team workflows.
## Core Concepts
### Board Structure
```
BOARD ANATOMY:
┌─────────────────────────────────────────────────┐
│ 📋 Project Board │
├─────────────────────────────────────────────────┤
│ Group: Sprint 1 │
│ ┌─────────┬────────┬────────┬────────┬────────┐│
│ │ Item │ Status │ Person │ Date │ Budget ││
│ ├─────────┼────────┼────────┼────────┼────────┤│
│ │ Task 1 │ 🟢 Done│ Sarah │ Jan 15 │ $500 ││
│ │ Task 2 │ 🟡 WIP │ Mike │ Jan 20 │ $800 ││
│ │ Task 3 │ 🔴 Stuck│ Lisa │ Jan 18 │ $300 ││
│ └─────────┴────────┴────────┴────────┴────────┘│
│ │
│ Group: Sprint 2 │
│ ┌─────────┬────────┬────────┬────────┬────────┐│
│ │ Task 4 │ ⚪ New │ │ Jan 25 │ $600 ││
│ │ Task 5 │ ⚪ New │ │ Jan 28 │ $400 ││
│ └─────────┴────────┴────────┴────────┴────────┘│
└─────────────────────────────────────────────────┘
```
### Column Types
```yaml
column_types:
status:
labels:
- label: "Done"
color: green
- label: "Working on it"
color: yellow
- label: "Stuck"
color: red
- label: "Not Started"
color: grey
person:
allow_multiple: true
date:
include_time: false
timeline:
show_weeks: true
numbers:
unit: "$"
text:
multiline: false
dropdown:
options: ["Option A", "Option B", "Option C"]
formula:
expression: "{Numbers} * 1.1"
```
## Automation Recipes
### Built-in Automations
```yaml
automations:
- name: "Status Change Notification"
trigger:
type: status_change
column: "Status"
to: "Done"
action:
type: notify
target: item_subscribers
message: "✅ {{item.name}} has been completed!"
- name: "Due Date Assignment"
trigger:
type: date_arrived
column: "Due Date"
action:
type: change_status
column: "Status"
to: "Overdue"
- name: "Auto-Assign New Items"
trigger:
type: item_created
group: "Incoming"
action:
type: assign_person
column: "Owner"
value: "team_lead"
- name: "Move When Status Changes"
trigger:
type: status_change
column: "Status"
to: "Done"
action:
type: move_to_group
target: "Completed"
- name: "Create Dependent Task"
trigger:
type: status_change
column: "Status"
to: "Ready for Review"
action:
type: create_item
board: "Review Board"
values:
Name: "Review: {{item.name}}"
Link: "{{item.link}}"
```
### Custom Automations
```yaml
custom_recipes:
- name: "SLA Warning"
trigger:
type: every_time_period
interval: "1 hour"
condition:
- column: "Status"
not_equals: "Done"
- column: "Due Date"
within: "24 hours"
action:
- type: change_status
column: "Priority"
to: "Urgent"
- type: notify
channel: "#alerts"
message: "⚠️ SLA at risk: {{item.name}}"
- name: "Budget Rollup"
trigger:
type: column_change
column: "Budget"
action:
type: update_parent
column: "Total Budget"
formula: "SUM(subitems.Budget)"
```
## Board Templates
### CRM Board
```yaml
crm_board:
name: "Sales CRM"
groups:
- "New Leads"
- "Contacted"
- "Qualified"
- "Proposal"
- "Negotiation"
- "Won"
- "Lost"
columns:
- name: "Company"
type: text
- name: "Contact"
type: text
- name: "Email"
type: email
- name: "Phone"
type: phone
- name: "Deal Value"
type: numbers
unit: "$"
- name: "Stage"
type: status
- name: "Owner"
type: person
- name: "Next Action"
type: date
- name: "Lead Source"
type: dropdown
- name: "Notes"
type: long_text
```
### Project Tracker
```yaml
project_board:
name: "Project Tracker"
groups:
- "Backlog"
- "This Sprint"
- "In Progress"
- "In Review"
- "Done"
columns:
- name: "Task"
type: text
- name: "Status"
type: status
- name: "Assignee"
type: person
- name: "Priority"
type: status
labels: ["Critical", "High", "Medium", "Low"]
- name: "Timeline"
type: timeline
- name: "Estimated Hours"
type: numbers
- name: "Actual Hours"
type: numbers
- name: "Tags"
type: tags
- name: "Dependencies"
type: dependency
```
## Views & Dashboards
### View Types
```yaml
views:
main_table:
type: table
default: true
columns: all
kanban:
type: kanban
group_by: "Status"
card_fields:
- "Assignee"
- "Due Date"
- "Priority"
timeline:
type: timeline
date_column: "Timeline"
color_by: "Status"
calendar:
type: calendar
date_column: "Due Date"
color_by: "Priority"
chart:
type: chart
chart_type: bar
x_axis: "Status"
y_axis: count
workload:
type: workload
person_column: "Assignee"
effort_column: "Estimated Hours"
```
### Dashboard Widgets
```yaml
dashboard:
name: "Project Overview"
widgets:
- type: numbers
title: "Total Tasks"
board: "Project Board"
column: count
- type: chart
title: "Tasks by Status"
board: "Project Board"
chart_type: pie
group_by: "Status"
- type: battery
title: "Sprint Progress"
board: "Project Board"
group: "This Sprint"
- type: timeline
title: "Project Timeline"
boards: ["Project Board"]
- type: workload
title: "Team Workload"
board: "Project Board"
person_column: "Assignee"
```
## Integration Workflows
### Slack Integration
```yaml
slack_automations:
- trigger: status_change_to_done
action:
post_to_channel: "#wins"
message: "🎉 {{person}} completed {{item}}!"
- trigger: item_stuck
action:
post_to_channel: "#blockers"
message: "🚧 {{item}} is stuck. Owner: {{person}}"
- trigger: new_item_created
action:
post_to_channel: "#tasks"
message: "📋 New task: {{item}} ({{board}})"
```
### Email Integration
```yaml
email_automations:
- trigger: due_date_approaching
days_before: 3
action:
send_email:
to: "{{item.person.email}}"
subject: "Task Due Soon: {{item.name}}"
body: |
Hi {{item.person.name}},
Your task "{{item.name}}" is due on {{item.due_date}}.
Please update the status or reach out if you need help.
```
### API Workflows
```javascript
// Monday.com GraphQL API Examples
// Create Item
const createItem = `
mutation {
create_item (
board_id: 123456789,
group_id: "new_group",
item_name: "New Task",
column_values: "{\"status\":\"Working on it\",\"person\":\"12345\"}"
) {
id
}
}
`;
// Update Status
const updateStatus = `
mutation {
change_column_value (
board_id: 123456789,
item_id: 987654321,
column_id: "status",
value: "{\"label\":\"Done\"}"
) {
id
}
}
`;
// Query Items
const queryItems = `
query {
boards (ids: 123456789) {
items_page (limit: 50) {
items {
id
name
column_values {
id
value
}
}
}
}
}
`;
```
## Best Practices
1. **Group Organization**: Use groups for workflow stages
2. **Consistent Columns**: Standardize across boards
3. **Automation Rules**: Reduce manual updates
4. **Mirror Columns**: Connect related boards
5. **Dashboard Views**: Provide executive visibility
6. **Templates**: Reuse board structures
7. **Subitems**: Break down complex tasks
8. **Dependencies**: Show task relationships
© Claude Office Skills · MIT · claude-office-skills/skills