Ir al contenido

Monday.com - Query GraphQL

↩ Parte de la integración Monday.com.

Este módulo es la salida de emergencia de la integración con Monday: vos escribís la query o la mutation GraphQL y el nodo la envía a https://api.monday.com/v2 con el token de la credencial y la cabecera API-Version: 2024-10.

Usalo para todo lo que los otros cinco nodos no envuelven: listar tableros, paginar ítems, crear subítems, mover un ítem de grupo, leer usuarios, trabajar con espacios de trabajo. La respuesta completa de Monday pasa al nodo siguiente.

CampoTipoObligatorioDescripción
credentials_idcredentialsSíCredencial de Monday
querytextareaSíQuery o mutation GraphQL
variablesjsonNoVariables de la operación

Este módulo requiere una credencial de tipo Monday.

CampoDescripción
tokenToken personal de la API (Avatar → Developers → My access tokens)
timeoutOpcional. Tiempo máximo de la petición en milisegundos (por defecto 20000)

El nodo devuelve el cuerpo completo de la respuesta de Monday, así que tus datos quedan bajo data, un nivel por debajo del nombre del campo que pediste:

{
"nextModule": null,
"data": {
"data": {
"boards": [
{
"id": "1234567890",
"name": "Embudo de ventas",
"items_page": {
"cursor": null,
"items": [
{ "id": "987654321", "name": "Acme S.A." }
]
}
}
]
},
"account_id": 5566778
},
"_meta": {
"moduleVersion": "1.0.0",
"success": true,
"totalMs": 402
}
}

En el nodo siguiente llegás a un valor con una ruta como {{data.data.boards.0.items_page.items.0.id}}.

{
"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
}
}
{
"credentials_id": 8,
"query": "mutation($parent:ID!,$name:String!){ create_subitem(parent_item_id:$parent,item_name:$name){ id } }",
"variables": {
"parent": "{{data.id}}",
"name": "Llamada de seguimiento"
}
}
{
"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": "cerrado_ganado"
}
}
  • Tanto query como variables resuelven variables dinámicas como {{data.id}} antes del envío. Para cualquier dato que venga de un usuario, es preferible pasarlo por variables en lugar de concatenarlo dentro del texto de la consulta.
  • Si variables viene cargado pero no es un JSON válido, el nodo se detiene con un error de tipo validation y no llama a Monday.
  • Monday devuelve HTTP 200 incluso cuando falla. El nodo lee el array errors y lanza los mensajes concatenados como un error real, así que una consulta rota corta la rama.
  • El límite de peticiones de Monday se basa en la complejidad de la consulta. Pedir menos campos, o bajar el limit, suele ser lo que resuelve un error de complejidad.
  • Los ids están tipados como ID! en el esquema; pasarlos como cadenas, tal como en los ejemplos de arriba, siempre es seguro.