Project ManagementAdvanced
Monday.com Automation
Automate Monday.com workflows, board management, team collaboration, and cross-board integrations
#monday#workflow#project-management#collaboration#automation
CLAUDE.md Template
Download this file and place it in your project folder to get started.
# Monday.com Automation
Comprehensive workflow 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 relationshipsREADME.md
What This Does
Comprehensive workflow for automating Monday.com work management and team workflows.
Quick Start
Step 1: Create a Project Folder
mkdir -p ~/Documents/MondayAutomation
Step 2: Download the Template
Click Download above, then:
mv ~/Downloads/CLAUDE.md ~/Documents/MondayAutomation/
Step 3: Start Working
cd ~/Documents/MondayAutomation
claude
Best Practices
- Group Organization: Use groups for workflow stages
- Consistent Columns: Standardize across boards
- Automation Rules: Reduce manual updates
- Mirror Columns: Connect related boards
- Dashboard Views: Provide executive visibility
- Templates: Reuse board structures
- Subitems: Break down complex tasks
- Dependencies: Show task relationships