FlowKit

Connecting Monday.com to n8n: automate boards, items and columns (complete guide)

Published 1 August 2026 · 8 min read

Monday.com gives a team a well-structured view of its work, but as long as item creation, status changes and reporting stay manual, the tool consumes time instead of freeing it: every incoming request has to be retyped into the right board, every column updated by hand, every reporting spreadsheet rebuilt at the end of the week. Connecting Monday.com to n8n flips that logic: items create themselves from your forms or emails, a language model fills in status and priority columns, and the data flows into Google Sheets without copy-paste. This guide covers authentication, the GraphQL quirk of the Monday API, the node's actual operations, the missing native trigger (and how to work around it), then two complete workflows.

More is at stake than convenience. A study by Gloria Mark, Daniela Gudith and Ulrich Klocke, The Cost of Interrupted Work: More Speed and Stress, published at ACM's CHI conference in 2008, showed that interrupted workers compensate by working faster — at the price of significantly higher stress, frustration and effort. Manually maintaining a project management tool is exactly that kind of recurring interruption: stopping to retype a request, switching to Monday to flip a status, reopening a spreadsheet for reporting. Every task n8n takes over is one less interruption in the team's day.

When to automate Monday.com with n8n

Three families of use cases come up most often:

  • Creating items from external sources: a web form, an incoming email, a Slack message or a ticket from another tool becomes an item in the right board and group, with columns already filled in.
  • AI enrichment and routing: a language model reads the content of a request, infers a priority, a category or an owner, then writes those values into Monday's typed columns via Change Column Value.
  • Reporting and synchronization: regularly extracting items to Google Sheets, a data warehouse or a CRM, to combine project progress with other data without manual exports.

If your team runs on Trello, ClickUp or Jira instead, the same recipe applies with a few node differences: see our guides to connecting Trello to n8n, connecting ClickUp to n8n and automating Jira with n8n.

Authentication: API token v2 or OAuth2

n8n supports two methods for the Monday.com credential:

  1. API token (the simplest): in Monday.com, click your profile picture in the top-right corner, then Developers. The Developer Center opens; under My Access Tokens, click Show and copy your personal token. In n8n, create a Monday.com API credential and paste the value into the Token V2 field. Every operation then runs with your account's permissions.
  2. OAuth2: useful when the workflow must act on behalf of several distinct users rather than a single technical account. Setup goes through creating an app in Monday's Developer Center.

For an internal team workflow, the API token is enough; save OAuth2 for multi-account integrations. Either way, keep the value only in n8n credentials, never hard-coded in a node.

Monday.com's quirk: a GraphQL API

Unlike Trello or ClickUp, which expose REST APIs, Monday.com is built entirely on GraphQL: a single endpoint (https://api.monday.com/v2) that receives queries and mutations. Good news: the n8n Monday.com node hides that layer for everyday operations — you pick a resource and an operation from menus, like with any other node.

GraphQL resurfaces in one specific place: column values. In Monday, every column is typed (status, date, person, text, numbers…) and each type expects its own JSON format. When you use Change Multiple Column Values, you provide a JSON object whose keys are column IDs (visible in the URL or via the Get All Columns operation) and whose values follow the type's format:

{
  "status": { "label": "Working on it" },
  "date4": { "date": "2026-08-01" },
  "person": { "personsAndTeams": [{ "id": 12345678, "kind": "person" }] },
  "text_notes": "Request received via the website form"
}

A status column expects {"label": "..."} (the exact label text), a date column expects {"date": "YYYY-MM-DD"}, a text column a plain string. This is the number one beginner mistake: a value format that does not match the column type fails silently or returns a cryptic GraphQL error. Make a habit of fetching the column list first (Board Column → Get All) to check the real IDs and types.

The Monday hierarchy: Workspace → Board → Group → Item

Before configuring the node, know the objects you will manipulate:

  • Workspace: the workspace grouping the boards of a team or domain.
  • Board: the board itself, the equivalent of a project or pipeline.
  • Group: a horizontal section of the board (for instance "This month", "Backlog"), often used as a time bucket or a stage.
  • Item: the unit of work, a row with its typed columns (status, date, person…).
  • Subitem: a sub-row attached to an item — not covered by the n8n node; you need HTTP Request with GraphQL to manipulate them.

One thing to watch: in Monday, an item's status is a column among others, not a position on the board like a Trello list. Moving an item to another group (Move Item to Group) and changing its status (Change Column Value) are therefore two different operations — do not mix them up.

The Monday.com node's operations

The node covers four resources:

  • Board: Archive, Create, Get, Get All — creating and reading boards, mostly useful for provisioning project boards from a process template.
  • Board Column: Create, Get All — list a board's columns (essential for getting the exact IDs before writing column values) or create new ones.
  • Board Group: Create, Delete, Get All — manage the board's sections.
  • Board Item: Add Update (post an activity note on an item), Change Column Value, Change Multiple Column Values, Create (inside a given group), Delete, Get, Get All, Get By Column Value (find items whose column matches a given value — very handy for deduplicating before creation), Move Item to Group.

For anything missing (subitems, advanced updates, cross-board queries), the HTTP Request node with the same credential lets you send a GraphQL query straight to the Monday API.

No native trigger: Monday webhook or polling

This is the big difference from Trello and ClickUp: there is no "Monday Trigger" node in n8n. Two strategies make up for it.

Option 1: a Monday webhook pointing to an n8n Webhook node

Monday.com can send outgoing webhooks: on a board, add the Webhooks integration and pick the event (item created, column changed, status changed…) with the production URL of an n8n Webhook node as the destination. Our complete guide to the Webhook node covers the n8n side.

One detail to know: at registration time, Monday sends a verification request containing a challenge field and expects your endpoint to echo that token back in the JSON response body. Configure the Webhook node to respond via a Respond to Webhook node, add an IF that tests for {{ $json.body.challenge }}, and return {"challenge": "..."} with the received value whenever the field is present. Once that handshake succeeds, events arrive in near real time.

Option 2: polling with a Schedule Trigger

If you cannot modify the board (limited permissions, a client's board), a Schedule Trigger runs the workflow at a regular interval, followed by Board Item → Get All, then a filter on creation or update date to process only what is new. Our guide to the Schedule Trigger, cron and timezones covers fine-tuning the intervals. Polling is simpler to set up but adds latency and burns API calls even when nothing changed.

Example 1: items created from a form and enriched by AI

A typical pipeline for a team receiving heterogeneous requests:

  1. An n8n Webhook (or a Form Trigger) receives the form submission or the email converted to JSON.
  2. An AI Agent node or a plain LLM node (see our AI Agent node guide) reads the request and produces structured output: category, priority, one-line summary.
  3. Monday.com → Board Item → Create creates the item in the board's "Incoming" group, using the summary as the item name.
  4. Monday.com → Board Item → Change Multiple Column Values writes the priority into the status column and the computed due date, using the column values JSON shown above — with the model's output injected through expressions like {{ $json.priority }}.
  5. Optional: Add Update logs the model's reasoning directly on the item, so a human can review the classification without guessing.

Before step 3, a Get By Column Value on a "reference" column prevents creating the same item twice when the source sends duplicates.

Example 2: syncing Monday.com to Google Sheets

For weekly reporting without manual exports:

  1. A Schedule Trigger runs every Monday morning.
  2. Monday.com → Board Item → Get All fetches the items from the production board.
  3. A Code or Set node flattens the column_values (returned as a list per item) into simple columns: status, owner, due date.
  4. A Google Sheets node updates a reporting sheet — in "append or update" mode with a key column to avoid duplicates, as detailed in our Google Sheets and n8n guide.

The same skeleton feeds a Notion dashboard just as well — see our Notion connection guide — or a SQL database.

Limits and best practices

  • API complexity budget: Monday does not count requests one by one; it assigns a complexity cost to each GraphQL query, with a per-minute budget. A Get All on a very large board is expensive — paginate and request only the columns you need.
  • Column IDs: they are specific to each board (status, status_1, date4…). A workflow copied from one board to another breaks if the IDs differ — fetch them via Board Column → Get All instead of guessing.
  • Webhooks and restarts: the webhook created on the Monday side points to a fixed n8n URL; if you change domain or instance, you have to recreate it manually in Monday.
  • Subitems: plan for an HTTP Request node with GraphQL from the start if your process depends on them — the native node does not cover them.

For workflow foundations ready to adapt to your board, also browse our ready-to-use n8n workflows.

Key takeaways

The API token v2 takes two clicks to generate in Monday's Developer Center and covers most team workflows. The n8n Monday.com node hides the API's GraphQL for everyday operations on boards, groups and items, but column values are written as typed JSON — the first technical point to master, column IDs included. The missing native trigger is cleanly worked around with a Monday webhook pointing to an n8n Webhook node (remembering the challenge response), or with Schedule Trigger polling when permissions are lacking. With these building blocks, AI-enriched item creation and Google Sheets synchronization already cover most of a team's needs.

FAQ

Frequently asked questions

Does the n8n Monday.com node have a native trigger?

No. Unlike Trello or ClickUp, there is no "Monday Trigger" node in n8n. Two alternatives work well: create a webhook directly in Monday.com (the Webhooks integration on a board) pointing to an n8n Webhook node, or poll the API on a schedule with a Schedule Trigger followed by the Get All Items operation.

Do I need to know GraphQL to use Monday.com with n8n?

Not for everyday operations: the Monday.com node wraps the GraphQL queries behind regular fields (board, group, item name). GraphQL resurfaces in two places: the JSON format of column_values when writing typed columns, and the HTTP Request node whenever you need an operation the node does not cover, such as subitems.

How do I update several columns of a Monday item at once?

With the Change Multiple Column Values operation of the Board Item resource. It expects a JSON object whose keys are column IDs and whose values follow each column type's own format: {"label": "..."} for a status column, {"date": "YYYY-MM-DD"} for a date column, a plain string for a text column.

How do I handle Monday.com subitems from n8n?

The Monday.com node has no dedicated subitem operation. Use the HTTP Request node with the same credential and send a create_subitem GraphQL mutation (or an items query to read them) to https://api.monday.com/v2. This is the main case where you write GraphQL by hand.

Bundle FlowKit Complet

€269