Home
cd ../playbooks
Project ManagementAdvanced

Monday.com Automation

Automate Monday.com workflows, board management, team collaboration, and cross-board integrations

10 minutes
By communitySource
#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 relationships
README.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

  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

$Related Playbooks