AutomationFlowsSlack & Telegram › [stg] Match Diário

[stg] Match Diário

[STG] Match Diário. Uses slack, httpRequest, postgres, zendesk. Scheduled trigger; 24 nodes.

Cron / scheduled trigger★★★★☆ complexity24 nodesSlackHTTP RequestPostgresZendeskGoogle Calendar
Slack & Telegram Trigger: Cron / scheduled Nodes: 24 Complexity: ★★★★☆ Added:

This workflow follows the Google Calendar → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "active": false,
  "activeVersion": null,
  "activeVersionId": null,
  "connections": {
    "Ordena do mais antigo para o mais recente em cada ano1": {
      "main": [
        [
          {
            "node": "Une os dados com a autentica\u00e7\u00e3o2",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Envia erro por Slack2": {
      "main": [
        [
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Une os dados com a autentica\u00e7\u00e3o2": {
      "main": [
        [
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items1": {
      "main": [
        [
          {
            "node": "No Operation, do nothing1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger1": {
      "main": [
        [
          {
            "node": "Pausas Match Di\u00e1rio",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Chama o endpoint /find-volunteer1": {
      "main": [
        [
          {
            "node": "Une os dados do support_request e da volunt\u00e1ria1",
            "type": "main",
            "index": 1
          }
        ],
        [
          {
            "node": "Envia erro por Slack2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Busca support_requests que est\u00e3o na fila1": {
      "main": [
        [
          {
            "node": "Ordena do mais antigo para o mais recente em cada ano1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Faz autentica\u00e7\u00e3o na lambda-pedido-acolhimento1": {
      "main": [
        [
          {
            "node": "Une os dados com a autentica\u00e7\u00e3o2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Faz autentica\u00e7\u00e3o na lambda-confirmacao-disponibilidade1": {
      "main": [
        [
          {
            "node": "Une os dados com a autentica\u00e7\u00e3o3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Une os dados com a autentica\u00e7\u00e3o3": {
      "main": [
        [
          {
            "node": "Chama o endpoint /create-confirmation1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Chama o endpoint /create-confirmation1": {
      "main": [
        [
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Envia erro por Slack3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Une os dados do support_request e da volunt\u00e1ria1": {
      "main": [
        [
          {
            "node": "Prepara os dados1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepara os dados1": {
      "main": [
        [
          {
            "node": "Encontrou volunt\u00e1ria?1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Envia erro por Slack3": {
      "main": [
        [
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Encontrou volunt\u00e1ria?1": {
      "main": [
        [
          {
            "node": "Une os dados com a autentica\u00e7\u00e3o3",
            "type": "main",
            "index": 1
          }
        ],
        [
          {
            "node": "Busca zendesk_ticket_id1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Busca zendesk_ticket_id1": {
      "main": [
        [
          {
            "node": "Adiciona coment\u00e1rio interno no ticket1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Adiciona coment\u00e1rio interno no ticket1": {
      "main": [
        [
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait1": {
      "main": [
        [
          {
            "node": "Chama o endpoint /find-volunteer1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Une os dados do support_request e da volunt\u00e1ria1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Faz autentica\u00e7\u00e3o na lambda-confirmacao-disponibilidade1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pausas Match Di\u00e1rio": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send a message1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "createdAt": "2026-05-11T14:00:33.716Z",
  "description": null,
  "id": "ed6a37stm5XDiofE",
  "isArchived": false,
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "[STG] Match Di\u00e1rio",
  "nodes": [
    {
      "parameters": {
        "sortFieldsUi": {
          "sortField": [
            {
              "fieldName": "ano",
              "order": "descending"
            },
            {
              "fieldName": "created_at"
            }
          ]
        },
        "options": {}
      },
      "id": "4c213bd2-9bdf-4cc3-9ea8-598d99989ce9",
      "name": "Ordena do mais antigo para o mais recente em cada ano1",
      "type": "n8n-nodes-base.sort",
      "typeVersion": 1,
      "position": [
        432,
        80
      ]
    },
    {
      "parameters": {
        "authentication": "oAuth2",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "value": "C06H7GA52A1",
          "mode": "list",
          "cachedResultName": "monitoramento-erros"
        },
        "text": "=ERROR: N\u00e3o foi poss\u00edvel encontrar uma volunt\u00e1ria para esse `support_request` '{{ $json.support_request_id  }}', por conta desse erro: {{ $json.error.message }} \n\n- Workflow: {{ $workflow.name }} ID: {{ $workflow.id }}",
        "otherOptions": {}
      },
      "id": "e71c5d17-a6ff-4f7e-8f01-1dd81921bf5d",
      "name": "Envia erro por Slack2",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.1,
      "position": [
        1984,
        336
      ],
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "mode": "combine",
        "combinationMode": "multiplex",
        "options": {}
      },
      "id": "183d0aa7-fb9b-4dbf-b04c-e95bc9399d28",
      "name": "Une os dados com a autentica\u00e7\u00e3o2",
      "type": "n8n-nodes-base.merge",
      "typeVersion": 2.1,
      "position": [
        864,
        48
      ]
    },
    {
      "parameters": {
        "options": {}
      },
      "id": "fcd81862-dd11-433e-806f-810d32d2c3da",
      "name": "Loop Over Items1",
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 3,
      "position": [
        1232,
        48
      ]
    },
    {
      "parameters": {},
      "id": "5b32c61d-fb16-49a2-9994-abff8d35c868",
      "name": "No Operation, do nothing1",
      "type": "n8n-nodes-base.noOp",
      "typeVersion": 1,
      "position": [
        1488,
        -224
      ]
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 13 * * 1-5"
            }
          ]
        }
      },
      "id": "a53ec20f-6ae6-4ed7-9b6d-a745ab49a9cb",
      "name": "Schedule Trigger1",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        -688,
        48
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "={{ $vars.PROD_MATCH_LAMBDA_URL }}/find-volunteer",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={ \n  \"supportRequestId\": {{ $json.support_request_id }}\n}",
        "options": {
          "batching": {
            "batch": {
              "batchSize": 1
            }
          }
        }
      },
      "id": "8475916b-9081-4b7e-abcc-2b02dd729061",
      "name": "Chama o endpoint /find-volunteer1",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1680,
        208
      ],
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "operation": "executeQuery",
        "query": "SELECT \n  support_request_id,\n  created_at,\n  DATE_PART('year', created_at) AS ano\nFROM match.support_requests\nWHERE status = 'waiting_for_match'",
        "options": {}
      },
      "id": "69423db7-45fe-49b0-920c-932e58f17568",
      "name": "Busca support_requests que est\u00e3o na fila1",
      "type": "n8n-nodes-base.postgres",
      "typeVersion": 2.4,
      "position": [
        192,
        80
      ],
      "credentials": {
        "postgres": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "url": "={{ $vars.PROD_MATCH_LAMBDA_URL }}/sign",
        "options": {}
      },
      "id": "fd1468de-eaf1-431c-97a3-afa8800ab428",
      "name": "Faz autentica\u00e7\u00e3o na lambda-pedido-acolhimento1",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        448,
        -128
      ]
    },
    {
      "parameters": {
        "url": "={{ $vars.PROD_CONFIRMACAO_LAMBDA_URL }}/sign",
        "options": {}
      },
      "id": "6ca2f49a-4c73-42e7-b2a4-22a245c1749a",
      "name": "Faz autentica\u00e7\u00e3o na lambda-confirmacao-disponibilidade1",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        2000,
        -144
      ]
    },
    {
      "parameters": {
        "mode": "combine",
        "combinationMode": "multiplex",
        "options": {}
      },
      "id": "551c6a81-1595-4f63-8b95-685267113c2d",
      "name": "Une os dados com a autentica\u00e7\u00e3o3",
      "type": "n8n-nodes-base.merge",
      "typeVersion": 2.1,
      "position": [
        2960,
        48
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "={{ $vars.PROD_CONFIRMACAO_LAMBDA_URL }}/create-confirmation",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={ \n  \"supportRequestId\": {{ $json.support_request_id }},\n \"volunteerId\": {{ $json.volunteer_id }},\n \"matchType\": \"daily\",\n \"matchStage\": \"{{ $json.match_stage }}\"\n}",
        "options": {
          "batching": {
            "batch": {
              "batchSize": 1
            }
          }
        }
      },
      "id": "0a92d499-d0f7-45ec-9af8-1d56847ef91a",
      "name": "Chama o endpoint /create-confirmation1",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        3472,
        480
      ],
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "mode": "combine",
        "combinationMode": "multiplex",
        "options": {}
      },
      "id": "84025629-b865-436a-a74e-6ede100c2ab5",
      "name": "Une os dados do support_request e da volunt\u00e1ria1",
      "type": "n8n-nodes-base.merge",
      "typeVersion": 2.1,
      "position": [
        2288,
        96
      ]
    },
    {
      "parameters": {
        "jsCode": "// Loop over input items and add a new field called 'myNewField' to the JSON of each one\nconst output = []\nfor (const item of $input.all()) {\n  const supportRequestId = item.json.support_request_id;\n  const data = JSON.parse(item.json.data);\n  let volunteerId;\n  let matchStage\n  if (data.message != \"No volunteers available\") {\n    volunteerId = data.message.volunteer.volunteer_id;\n    matchStage = data.message.matchStage;\n  }\n  \n\n  output.push({\n    support_request_id: supportRequestId,\n    volunteer_id: volunteerId,\n    match_stage: matchStage\n  })\n}\n\nreturn output;"
      },
      "id": "3f07d9ad-4e7b-4043-9a8e-97d3777c6587",
      "name": "Prepara os dados1",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        2464,
        96
      ]
    },
    {
      "parameters": {
        "authentication": "oAuth2",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "value": "C06H7GA52A1",
          "mode": "list",
          "cachedResultName": "monitoramento-erros"
        },
        "text": "=ERROR: N\u00e3o foi poss\u00edvel criar uma confirma\u00e7\u00e3o de match para esse `support_request` '{{ $json.support_request_id  }}', por conta desse erro: {{ $json.error.message }} \n\n- Workflow: {{ $workflow.name }} ID: {{ $workflow.id }}",
        "otherOptions": {}
      },
      "id": "1539ccfd-6a10-4a16-91a8-a9ab9906402c",
      "name": "Envia erro por Slack3",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.1,
      "position": [
        3680,
        560
      ],
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "loose",
            "version": 1
          },
          "conditions": [
            {
              "id": "899bf339-c26f-4d4f-af3a-67560a71496e",
              "leftValue": "={{ $json.volunteer_id }}",
              "rightValue": "",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {
          "looseTypeValidation": true
        }
      },
      "id": "49d13551-88a0-46f8-846b-08709d0e8b00",
      "name": "Encontrou volunt\u00e1ria?1",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        2672,
        96
      ]
    },
    {
      "parameters": {
        "operation": "executeQuery",
        "query": "SELECT\n  zendesk_ticket_id\nFROM match.support_requests\nWHERE support_request_id = {{ $json.support_request_id }}",
        "options": {}
      },
      "id": "fd476260-2300-4f97-8a3c-33952fc2387a",
      "name": "Busca zendesk_ticket_id1",
      "type": "n8n-nodes-base.postgres",
      "typeVersion": 2.5,
      "position": [
        2864,
        288
      ],
      "credentials": {
        "postgres": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "update",
        "id": "={{ $json.zendesk_ticket_id }}",
        "updateFields": {
          "internalNote": "<strong>Match Di\u00e1rio:</strong> </br></br>N\u00e3o encontramos uma volunt\u00e1ria dispon\u00edvel. O pedido de acolhimento permanece na fila."
        }
      },
      "id": "5a017763-6dfa-4594-8796-bda3a75757ad",
      "name": "Adiciona coment\u00e1rio interno no ticket1",
      "type": "n8n-nodes-base.zendesk",
      "typeVersion": 1,
      "position": [
        3104,
        400
      ],
      "credentials": {
        "zendeskApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "amount": 0.5
      },
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        1440,
        64
      ],
      "id": "5ff721fb-7d83-4c18-9fd8-5699debcbb4e",
      "name": "Wait1"
    },
    {
      "parameters": {
        "content": "## Fluxo Teste\n",
        "height": 80
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -128,
        -272
      ],
      "id": "f4a383ec-4188-4247-b596-0a73b77fce3b",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "operation": "getAll",
        "calendar": {
          "__rl": true,
          "value": "c_6fd9f21b9c46fa9371a7daea0e981ae4fab88b4c193274b848e79d7e46365b94@group.calendar.google.com",
          "mode": "list",
          "cachedResultName": "Match Di\u00e1rio - Feriados e Pausas"
        },
        "returnAll": true,
        "timeMin": "={{ $now.startOf('day').toISO() }}",
        "timeMax": "={{ $now.endOf('day').toISO() }}",
        "options": {}
      },
      "type": "n8n-nodes-base.googleCalendar",
      "typeVersion": 1.3,
      "position": [
        -464,
        48
      ],
      "id": "86bafe0a-43a9-4962-bdaf-e9449e82961a",
      "name": "Pausas Match Di\u00e1rio",
      "alwaysOutputData": true,
      "credentials": {
        "googleCalendarOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 3
          },
          "conditions": [
            {
              "id": "5abe4ad4-bcc3-4405-a81a-54a9821a0a80",
              "leftValue": "={{ $json.summary }}",
              "rightValue": "=^(IMERS\u00c3O|FERIADO|Imers\u00e3o|Feriado)",
              "operator": {
                "type": "string",
                "operation": "regex"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.3,
      "position": [
        -240,
        48
      ],
      "id": "bfca77cb-6734-4701-9c49-57a2ba484fbd",
      "name": "If"
    },
    {
      "parameters": {
        "authentication": "oAuth2",
        "select": "user",
        "user": {
          "__rl": true,
          "value": "@Jana\u00edna",
          "mode": "username"
        },
        "text": "=Identifiquei o evento: \"{{ $json.summary }}\". O fluxo de automa\u00e7\u00e3o n\u00e3o ser\u00e1 executado hoje.",
        "otherOptions": {}
      },
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.4,
      "position": [
        0,
        -48
      ],
      "id": "45f78b66-abf8-4ba6-b113-a21debd2828a",
      "name": "Send a message",
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "authentication": "oAuth2",
        "select": "user",
        "user": {
          "__rl": true,
          "value": "@Jana\u00edna",
          "mode": "username"
        },
        "text": "=N\u00e3o foram encontrados eventos de bloqueio no calend\u00e1rio. O fluxo rodaria normalmente agora.",
        "otherOptions": {}
      },
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.4,
      "position": [
        0,
        160
      ],
      "id": "0a2f490e-36e8-4687-b501-3421d05d93de",
      "name": "Send a message1",
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "settings": {
    "executionOrder": "v1"
  },
  "shared": [
    {
      "updatedAt": "2026-05-11T14:00:33.719Z",
      "createdAt": "2026-05-11T14:00:33.719Z",
      "role": "workflow:owner",
      "workflowId": "ed6a37stm5XDiofE",
      "projectId": "rfgBK87HsySgxYKT",
      "project": {
        "updatedAt": "2024-11-15T08:07:36.637Z",
        "createdAt": "2024-11-15T08:07:36.637Z",
        "id": "rfgBK87HsySgxYKT",
        "name": "Desenvolvimento Mapa <dev@mapa.org.br>",
        "type": "personal",
        "icon": null,
        "description": null,
        "projectRelations": [
          {
            "updatedAt": "2024-11-15T08:07:36.637Z",
            "createdAt": "2024-11-15T08:07:36.637Z",
            "userId": "6e437c36-d4e0-42f4-bbc3-d9b5ac96e474",
            "projectId": "rfgBK87HsySgxYKT",
            "user": {
              "updatedAt": "2026-05-24T23:13:30.000Z",
              "createdAt": "2024-01-09T22:21:28.810Z",
              "id": "6e437c36-d4e0-42f4-bbc3-d9b5ac96e474",
              "email": "dev@mapa.org.br",
              "firstName": "Desenvolvimento",
              "lastName": "Mapa",
              "personalizationAnswers": null,
              "settings": {
                "userActivated": true,
                "firstSuccessfulWorkflowId": "sMoToF9HauyKvsFJ",
                "isOnboarded": true,
                "userActivatedAt": 1731658062996,
                "npsSurvey": {
                  "responded": true,
                  "lastShownAt": 1766005013760
                },
                "easyAIWorkflowOnboarded": true
              },
              "disabled": false,
              "mfaEnabled": false,
              "lastActiveAt": "2026-05-24",
              "isPending": false
            }
          }
        ]
      }
    }
  ],
  "staticData": null,
  "tags": [],
  "triggerCount": 0,
  "updatedAt": "2026-05-11T16:55:01.102Z",
  "versionCounter": 4,
  "versionId": "ab464664-d4e3-4333-acb2-65c67c930546"
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

[STG] Match Diário. Uses slack, httpRequest, postgres, zendesk. Scheduled trigger; 24 nodes.

Source: https://github.com/mapadoacolhimento/n8n-workflows/blob/28039bf3faf1c42a9bcdc93c69dc48040f04617d/[STG]_Match_Diario — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Slack & Telegram

[STG] Match Diário. Uses slack, httpRequest, postgres, zendesk. Scheduled trigger; 24 nodes.

Slack, HTTP Request, Postgres +2
Slack & Telegram

This template helps you create an interactive InfraNodus knowledge graph for your ZenDesk tickets using any search criteria (e.g. after a certain date, specific status, sender, keyword) that will auto

Zendesk, HTTP Request, Telegram +4
Slack & Telegram

How it works This AI Customer Success Risk Prediction workflow revolutionizes customer retention by predicting churn risk 30-90 days before it happens. Here's the high-level flow: Daily Data Collectio

HTTP Request, Zendesk, Stripe +4
Slack & Telegram

This workflow automates the prioritization and escalation of customer support tickets. It acts as an intelligent triage system that identifies high-value customers and potential churn risks in HubSpot

HTTP Request, HubSpot, Jira +1
Slack & Telegram

Analyze_Crowdstrike_Detections__search_for_IOCs_in_VirusTotal__create_a_ticket_in_Jira_and_post_a_message_in_Slack. Uses scheduleTrigger, itemLists, httpRequest, splitInBatches. Scheduled trigger; 18

Item Lists, HTTP Request, Jira +1