monday.com-automation

monday.com-automation — an installable skill for AI agents, published by claude-office-skills/skills.

INSTALLATION
npx skills add https://github.com/claude-office-skills/skills --skill monday.com-automation
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

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

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

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

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

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

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

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

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

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

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

// 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

  • 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
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card