Monday.com - GraphQL Query
↩ Part of the Monday.com integration.
Description
Section titled “Description”This module is the escape hatch of the Monday integration: you write the GraphQL query or mutation yourself and the node sends it to https://api.monday.com/v2 with the credential’s token and the API-Version: 2024-10 header.
Use it for everything the other five nodes do not wrap — listing boards, paginating items, creating subitems, moving an item between groups, reading users, working with workspaces, and so on. The full response object from Monday is passed on to the next node.
Configuration
Section titled “Configuration”| Field | Type | Required | Description |
|---|---|---|---|
credentials_id | credentials | Yes | Monday credential |
query | textarea | Yes | GraphQL query or mutation |
variables | json | No | Operation variables |
Credentials
Section titled “Credentials”This module requires a Monday credential.
| Field | Description |
|---|---|
token | Personal API token (Avatar → Developers → My access tokens) |
timeout | Optional. Request timeout in milliseconds (default 20000) |
Output
Section titled “Output”The node returns Monday’s whole response body, so your data lives under data, one level below the field name you asked for:
{ "nextModule": null, "data": { "data": { "boards": [ { "id": "1234567890", "name": "Sales pipeline", "items_page": { "cursor": null, "items": [ { "id": "987654321", "name": "Acme Ltd" } ] } } ] }, "account_id": 5566778 }, "_meta": { "moduleVersion": "1.0.0", "success": true, "totalMs": 402 }}In the next node you reach a value with a path such as {{data.data.boards.0.items_page.items.0.id}}.
Usage Example
Section titled “Usage Example”List the items of a board
Section titled “List the items of a board”{ "credentials_id": 8, "query": "query($board:ID!,$limit:Int!){ boards(ids:[$board]){ id name items_page(limit:$limit){ cursor items { id name } } } }", "variables": { "board": "1234567890", "limit": 50 }}Create a subitem
Section titled “Create a subitem”{ "credentials_id": 8, "query": "mutation($parent:ID!,$name:String!){ create_subitem(parent_item_id:$parent,item_name:$name){ id } }", "variables": { "parent": "{{data.id}}", "name": "Follow-up call" }}Move an item to another group
Section titled “Move an item to another group”{ "credentials_id": 8, "query": "mutation($item:ID!,$group:String!){ move_item_to_group(item_id:$item,group_id:$group){ id } }", "variables": { "item": "{{data.id}}", "group": "closed_won" }}- Both
queryandvariablesresolve dynamic variables such as{{data.id}}before being sent. For anything user-supplied, prefer passing it throughvariablesrather than concatenating it into the query text. - If
variablesis set but is not valid JSON, the node stops with avalidationerror and does not call Monday. - Monday answers HTTP 200 even on failure. The node reads the
errorsarray and raises the concatenated messages as a real error, so a broken query stops the branch. - Rate limiting on Monday is based on query complexity. Asking for fewer fields, or a smaller
limit, is usually what fixes a complexity error. - Ids are typed
ID!in the schema; passing them as strings, as in the examples above, is always safe.
Related Nodes
Section titled “Related Nodes”- Monday.com - Get Item — the ready-made version for a single item.
- Monday.com - Create Item and Update Item — no GraphQL needed for the common cases.
- HTTP node — a generic alternative if you would rather build the request by hand.