AutomationFlowsAI & RAG › Incoming Audio Handler: Conditional Chatgpt Summarization of Transcriptions

Incoming Audio Handler: Conditional Chatgpt Summarization of Transcriptions

Incoming Audio Handler: Conditional ChatGPT Summarization of Transcriptions. Uses lmChatOpenAi, chainLlm, n8n-nodes-evolution-api. Webhook trigger; 21 nodes.

Webhook trigger★★★★☆ complexityAI-powered21 nodesOpenAI ChatChain LlmN8N Nodes Evolution Api
AI & RAG Trigger: Webhook Nodes: 21 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Chainllm → OpenAI Chat 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
{
  "name": "Incoming Audio Handler: Conditional ChatGPT Summarization of Transcriptions",
  "nodes": [
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "conditions": [
            {
              "id": "dc6fc1aa-79c6-4427-89f4-3b4b0b751ef1",
              "leftValue": "={{ $json.body.data.messageType }}",
              "rightValue": "audioMessage",
              "operator": {
                "type": "string",
                "operation": "equals",
                "name": "filter.operator.equals"
              }
            },
            {
              "id": "010e83f6-3056-42a7-b759-cd5f3d85b07d",
              "leftValue": "={{ $json.body.data.key.fromMe }}",
              "rightValue": "",
              "operator": {
                "type": "boolean",
                "operation": "false",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "0b03b52f-0037-4f1f-b7bb-5496b7c06ff6",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [
        560,
        520
      ],
      "notes": "Verifica se \u00e9 um \u00e1udio e n\u00e3o \u00e9 do seu n\u00famero."
    },
    {
      "parameters": {},
      "id": "17905a18-6421-4d77-94c9-b1ed43daf9b9",
      "name": "No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "typeVersion": 1,
      "position": [
        820,
        760
      ]
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "c1023bf0-1629-4e13-9da3-626c3eee8682",
        "options": {}
      },
      "id": "34dd6e81-f293-4f4c-8257-f47fa5418313",
      "name": "Webhook1",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        280,
        520
      ]
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1,
      "position": [
        2400,
        700
      ],
      "id": "8d1b4a9d-46db-4d45-a5d8-bc7854c800bc",
      "name": "OpenAI Chat Model",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Resuma o seguinte texto: \"{{ $item(\"0\").$node[\"If8\"].json[\"body\"][\"data\"][\"message\"][\"speechToText\"] }}\", sem perder o contexto e mantendo a hierarquia de informa\u00e7\u00f5es. No seu output deve ser apenas o resumo"
      },
      "id": "87776c34-ce0a-408e-ab5b-a297ba6717e7",
      "name": "Resumir com CHAT GPT",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "typeVersion": 1.4,
      "position": [
        2300,
        500
      ]
    },
    {
      "parameters": {
        "content": "```\n_____/\\\\\\\\\\\\\\\\\\\\\\\\_____/\\\\\\\\\\\\\\\\\\\\\\\\____________/\\\\\\\\\\_____/\\\\\\_______/\\\\\\\\\\_____________/\\\\\\\\\\\\\\\\\\_______/\\\\\\\\\\_______/\\\\\\\\\\\\\\\\\\\\\\\\_____/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_        \n ___/\\\\\\//////////____/\\\\\\//////////____________\\/\\\\\\\\\\\\___\\/\\\\\\_____/\\\\\\///\\\\\\________/\\\\\\////////______/\\\\\\///\\\\\\____\\/\\\\\\////////\\\\\\__\\/\\\\\\///////////__       \n  __/\\\\\\______________/\\\\\\_______________________\\/\\\\\\/\\\\\\__\\/\\\\\\___/\\\\\\/__\\///\\\\\\____/\\\\\\/_____________/\\\\\\/__\\///\\\\\\__\\/\\\\\\______\\//\\\\\\_\\/\\\\\\_____________      \n   _\\/\\\\\\____/\\\\\\\\\\\\\\_\\/\\\\\\____/\\\\\\\\\\\\\\___________\\/\\\\\\//\\\\\\_\\/\\\\\\__/\\\\\\______\\//\\\\\\__/\\\\\\______________/\\\\\\______\\//\\\\\\_\\/\\\\\\_______\\/\\\\\\_\\/\\\\\\\\\\\\\\\\\\\\\\_____     \n    _\\/\\\\\\___\\/////\\\\\\_\\/\\\\\\___\\/////\\\\\\___________\\/\\\\\\\\//\\\\\\\\/\\\\\\_\\/\\\\\\_______\\/\\\\\\_\\/\\\\\\_____________\\/\\\\\\_______\\/\\\\\\_\\/\\\\\\_______\\/\\\\\\_\\/\\\\\\///////______    \n     _\\/\\\\\\_______\\/\\\\\\_\\/\\\\\\_______\\/\\\\\\___________\\/\\\\\\_\\//\\\\\\/\\\\\\_\\//\\\\\\______/\\\\\\__\\//\\\\\\____________\\//\\\\\\______/\\\\\\__\\/\\\\\\_______\\/\\\\\\_\\/\\\\\\_____________   \n      _\\/\\\\\\_______\\/\\\\\\_\\/\\\\\\_______\\/\\\\\\___________\\/\\\\\\__\\//\\\\\\\\\\\\__\\///\\\\\\__/\\\\\\_____\\///\\\\\\___________\\///\\\\\\__/\\\\\\____\\/\\\\\\_______/\\\\\\__\\/\\\\\\_____________  \n       _\\//\\\\\\\\\\\\\\\\\\\\\\\\/__\\//\\\\\\\\\\\\\\\\\\\\\\\\/____________\\/\\\\\\___\\//\\\\\\\\\\____\\///\\\\\\\\\\/________\\////\\\\\\\\\\\\\\\\\\____\\///\\\\\\\\\\/_____\\/\\\\\\\\\\\\\\\\\\\\\\\\/___\\/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_ \n        __\\////////////_____\\////////////______________\\///_____\\/////_______\\/////_____________\\/////////_______\\/////_______\\////////////_____\\///////////////__\n```",
        "width": 1580,
        "color": 7
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        720,
        980
      ],
      "typeVersion": 1,
      "id": "9064bc91-aedf-47c4-ad86-67f5ddf6aef7",
      "name": "Sticky Note13"
    },
    {
      "parameters": {
        "content": "## PASSO 1 - RECEBER \u00c1UDIO\n\n*Voc\u00ea pode integrar este fluxo em qualquer automa\u00e7\u00e3o\n*A EVOLUTION API transcreve os \u00e1udios automaticamente, mas voce precisa configurar uma credencial da OPEN AI l\u00e1 dentro.",
        "height": 620,
        "width": 820,
        "color": 6
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        180,
        300
      ],
      "typeVersion": 1,
      "id": "2d1b3e2f-9b84-45d2-9189-957bfe030997",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "content": "## PASSO 2 - CONTAR CARACTERES \n\n*Voc\u00ea pode tirar essa op\u00e7\u00e3o e apenas transcrever todos os \u00e1udios.\n*Voc\u00ea tamb\u00e9m pode alterar a partir de quantos caracteres que quer que a IA resuma.",
        "height": 620,
        "width": 820,
        "color": 5
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1040,
        300
      ],
      "typeVersion": 1,
      "id": "a862ebaa-c18f-475f-b82f-97cb0b9adaad",
      "name": "Sticky Note1"
    },
    {
      "parameters": {
        "content": "## PASSO 3 - RESUME OU ENVIA DE ACORDO COM AS INSTRU\u00c7\u00d5ES\n\n",
        "height": 620,
        "width": 1060,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1900,
        300
      ],
      "typeVersion": 1,
      "id": "fce7cd28-8fc6-4a18-8cf6-f184dde44c7a",
      "name": "Sticky Note2"
    },
    {
      "parameters": {
        "resource": "messages-api",
        "instanceName": "eduarda-teste-1",
        "remoteJid": "={{ $item(\"0\").$node[\"Webhook1\"].json[\"body\"][\"data\"][\"key\"][\"remoteJid\"] }}",
        "messageText": "=*Transcri\u00e7\u00e3o:*  _\"{{ $item(\"0\").$node[\"If8\"].json[\"body\"][\"data\"][\"message\"][\"speechToText\"] }}\"_"
      },
      "type": "n8n-nodes-evolution-api.httpBin",
      "typeVersion": 1,
      "position": [
        2000,
        740
      ],
      "id": "f8b67906-8d3e-4c4f-bf01-867705fe4ac0",
      "name": "Evolution API",
      "credentials": {
        "httpbinApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 1
          },
          "conditions": [
            {
              "id": "faccbd3d-33a3-4503-9a48-b3d1cc5a174e",
              "leftValue": "={{ $json.characterCount }}",
              "rightValue": 200,
              "operator": {
                "type": "number",
                "operation": "gt"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "7850a86c-367a-4244-9776-fd751650a9ad",
      "name": "If8",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        1600,
        520
      ]
    },
    {
      "parameters": {
        "resource": "messages-api",
        "instanceName": "eduarda-teste-1",
        "remoteJid": "={{ $item(\"0\").$node[\"Webhook1\"].json[\"body\"][\"data\"][\"key\"][\"remoteJid\"] }}",
        "messageText": "=*Resumo com IA:* \n> _\"{{ $item(\"0\").$node[\"Resumir com CHAT GPT\"].json[\"text\"] }}\"_`"
      },
      "type": "n8n-nodes-evolution-api.httpBin",
      "typeVersion": 1,
      "position": [
        2740,
        500
      ],
      "id": "da9ba687-75da-4f5d-8f61-524f8608f6a7",
      "name": "Evolution API1",
      "credentials": {
        "httpbinApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "content": "```\n.########.########.....###....##....##..######...######..########..########.##.....##.########.########......#######..##.....##....########..########..######..##.....##.##.....##.####.########.\n....##....##.....##...##.##...###...##.##....##.##....##.##.....##.##.......##.....##.##.......##.....##....##.....##.##.....##....##.....##.##.......##....##.##.....##.###...###..##..##.....##\n....##....##.....##..##...##..####..##.##.......##.......##.....##.##.......##.....##.##.......##.....##....##.....##.##.....##....##.....##.##.......##.......##.....##.####.####..##..##.....##\n....##....########..##.....##.##.##.##..######..##.......########..######...##.....##.######...########.....##.....##.##.....##....########..######....######..##.....##.##.###.##..##..########.\n....##....##...##...#########.##..####.......##.##.......##...##...##........##...##..##.......##...##......##.....##.##.....##....##...##...##.............##.##.....##.##.....##..##..##...##..\n....##....##....##..##.....##.##...###.##....##.##....##.##....##..##.........##.##...##.......##....##.....##.....##.##.....##....##....##..##.......##....##.##.....##.##.....##..##..##....##.\n....##....##.....##.##.....##.##....##..######...######..##.....##.########....###....########.##.....##.....#######...#######.....##.....##.########..######...#######..##.....##.####.##.....##\n```",
        "height": 140,
        "width": 1880,
        "color": 3
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        -100
      ],
      "typeVersion": 1,
      "id": "df229d31-1be2-4ffe-ae15-ea3dffa353b2",
      "name": "Sticky Note3"
    },
    {
      "parameters": {
        "content": "```\n....###....##.....##.########..####..#######...######......######...#######..##.....##.....######..##.....##....###....########.....######...########..########\n...##.##...##.....##.##.....##..##..##.....##.##....##....##....##.##.....##.###...###....##....##.##.....##...##.##......##.......##....##..##.....##....##...\n..##...##..##.....##.##.....##..##..##.....##.##..........##.......##.....##.####.####....##.......##.....##..##...##.....##.......##........##.....##....##...\n.##.....##.##.....##.##.....##..##..##.....##..######.....##.......##.....##.##.###.##....##.......#########.##.....##....##.......##...####.########.....##...\n.#########.##.....##.##.....##..##..##.....##.......##....##.......##.....##.##.....##....##.......##.....##.#########....##.......##....##..##...........##...\n.##.....##.##.....##.##.....##..##..##.....##.##....##....##....##.##.....##.##.....##....##....##.##.....##.##.....##....##.......##....##..##...........##...\n.##.....##..#######..########..####..#######...######......######...#######..##.....##.....######..##.....##.##.....##....##........######...##...........##...\n```",
        "height": 140,
        "width": 1560,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        720,
        60
      ],
      "typeVersion": 1,
      "id": "508e0457-c7cc-44ca-96b6-b51419b0c914",
      "name": "Sticky Note4"
    },
    {
      "parameters": {
        "content": "Verifica se \u00e9 \u00e1udio",
        "height": 220,
        "width": 200
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        520,
        460
      ],
      "typeVersion": 1,
      "id": "c41677a8-2d7b-4ab5-8c80-b517849c6edf",
      "name": "Sticky Note5"
    },
    {
      "parameters": {
        "content": "Contagem de Caracteres",
        "height": 220,
        "width": 200
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1200,
        460
      ],
      "typeVersion": 1,
      "id": "9256be3d-40af-4ed2-bf6b-91edc27f46cd",
      "name": "Sticky Note6"
    },
    {
      "parameters": {
        "jsCode": "const items = $input.all();\n\nreturn items.map(item => {\n    const speechToText = item.json.body.data.message.speechToText;\n    const characterCount = speechToText.length;\n\n    return {\n        json: {\n            speechToText,\n            characterCount,\n        }\n    };\n});"
      },
      "id": "49f024bc-76d8-4030-9f70-9695154cb887",
      "name": "Code",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1240,
        520
      ]
    },
    {
      "parameters": {
        "content": "Passou na contagem?",
        "height": 220,
        "width": 200
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1560,
        460
      ],
      "typeVersion": 1,
      "id": "a7ebeac5-59df-440e-b270-a7cc7c733df3",
      "name": "Sticky Note7"
    },
    {
      "parameters": {
        "content": "Envia transcri\u00e7\u00e3o direta",
        "height": 220,
        "width": 200
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1960,
        680
      ],
      "typeVersion": 1,
      "id": "1f0e5e58-c5dc-446d-a0f9-aa9b4f12a07e",
      "name": "Sticky Note8"
    },
    {
      "parameters": {
        "content": "Envia Resumo",
        "height": 220,
        "width": 200
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2700,
        440
      ],
      "typeVersion": 1,
      "id": "7616199b-5285-430c-90e8-b9536376b2fe",
      "name": "Sticky Note9"
    },
    {
      "parameters": {
        "content": "CHAT GPT para fazer o resumo",
        "height": 400,
        "width": 340
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2260,
        440
      ],
      "typeVersion": 1,
      "id": "2160c53d-2b15-453d-9f5c-eacdc4b1e0bf",
      "name": "Sticky Note10"
    }
  ],
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook1": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Resumir com CHAT GPT",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Resumir com CHAT GPT": {
      "main": [
        [
          {
            "node": "Evolution API1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If8": {
      "main": [
        [
          {
            "node": "Resumir com CHAT GPT",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Evolution API",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code": {
      "main": [
        [
          {
            "node": "If8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "81075764-795f-4206-be80-996c14d4372f",
  "id": "lhP46yqP9bWEGWs5",
  "tags": [
    {
      "createdAt": "2025-01-01T16:06:21.433Z",
      "updatedAt": "2025-01-01T16:06:21.433Z",
      "id": "m3lF1kYH6ze518Sa",
      "name": "Aulas-GgNocode"
    },
    {
      "createdAt": "2025-01-01T16:06:49.095Z",
      "updatedAt": "2025-01-01T16:06:49.095Z",
      "id": "tmJszTmdICPm7hT6",
      "name": "Modelos Demo"
    },
    {
      "createdAt": "2025-01-01T16:07:03.578Z",
      "updatedAt": "2025-01-01T16:07:03.578Z",
      "id": "Wz7qndE9gBYMKEiG",
      "name": "share"
    }
  ]
}

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

Incoming Audio Handler: Conditional ChatGPT Summarization of Transcriptions. Uses lmChatOpenAi, chainLlm, n8n-nodes-evolution-api. Webhook trigger; 21 nodes.

Source: https://github.com/mesquitapetro-crypto/n8n-mcp-knowledge-base/blob/a6cc08e57184733dc87a55f53d291650cc52e9bc/workflows/incoming-audio-handler-conditional-chatgpt-summarization-of-transcriptions.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

Build an intelligent WhatsApp assistant that automatically responds to customer messages using AI. This template uses the Evolution API community node for WhatsApp integration and OpenAI for natural l

N8N Nodes Evolution Api, OpenAI, Redis +5
AI & RAG

LLMS_Query_Links_stabilisation. Uses mySql, lmChatOpenAi, executeCommand, chainLlm. Webhook trigger; 95 nodes.

MySQL, OpenAI Chat, Execute Command +6
AI & RAG

LLMS_Query_Links_stabilisation. Uses mySql, lmChatOpenAi, executeCommand, chainLlm. Webhook trigger; 95 nodes.

MySQL, OpenAI Chat, Execute Command +6
AI & RAG

CLINICAINTEGRAL_secretary. Uses postgres, mcpClientTool, googleDriveTool, toolWorkflow. Webhook trigger; 89 nodes.

Postgres, Mcp Client Tool, Google Drive Tool +14
AI & RAG

This n8n workflow orchestrates a powerful suite of AI Agents and automations to manage and optimize various aspects of an e-commerce operation, particularly for platforms like Shopify. It leverages La

Google Sheets, HTTP Request, Slack +10