OverviewHistoryStatsSecurity
npx skills add ...
Documentation
SKILL.md
npx skills add claude-office-skills/skills --skill monday.com-automation
Automate Monday.com workflows, board management, team collaboration, and cross-board integrations
npx skills add claude-office-skills/skills --skill monday.com-automation
Comprehensive skill for automating Monday.com work management and team workflows.
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: 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"
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_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)"
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_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: 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: 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"
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_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.
// 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 } } } } } `;