AutomationFlowsWeb Scraping › Response Handler V2

Response Handler V2

Response_Handler_v2. Uses httpRequest, n8n-nodes-evolution-api, redis. Webhook trigger; 26 nodes.

Webhook trigger★★★★☆ complexity26 nodesHTTP RequestN8N Nodes Evolution ApiRedis
Web Scraping Trigger: Webhook Nodes: 26 Complexity: ★★★★☆ Added:

This workflow follows the HTTP Request → Redis 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": "Response_Handler_v2",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "Reserva-de-turno",
        "options": {}
      },
      "name": "Trigger WhatsApp",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        -1360,
        928
      ],
      "id": "3046f6c8-83b4-4f3c-afc6-7838930cefc5"
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "leftValue": "={{ $('Trigger WhatsApp').item.json.body.data.messageType }}",
                    "rightValue": "=audioMessage",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "id": "28197557-bc03-4fb9-87fd-46f60a08f0fa"
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "image message"
            }
          ]
        },
        "options": {
          "fallbackOutput": "extra",
          "renameFallbackOutput": "text message"
        }
      },
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.2,
      "position": [
        -688,
        928
      ],
      "id": "4890b6e1-0c80-47c8-955a-964568102711",
      "name": "Switch",
      "executeOnce": true
    },
    {
      "parameters": {},
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        -464,
        560
      ],
      "id": "d2993601-8a93-451a-8447-12f9769b9cd4",
      "name": "Wait"
    },
    {
      "parameters": {
        "keepOnlySet": true,
        "values": {
          "string": [
            {
              "name": "URL API",
              "value": "http://192.168.2.33:30110"
            },
            {
              "name": "APIKEY",
              "value": "A2B6C305543B-4897-98AB-70DCC840BB7E"
            },
            {
              "name": "Nombre de instancia",
              "value": "={{ $('Trigger WhatsApp').item.json.body.instance }}"
            },
            {
              "name": "Representante",
              "value": "595981145720@s.whatsapp.net"
            },
            {
              "name": "CallerID",
              "value": "={{ $('Trigger WhatsApp').item.json.body.data.key.remoteJid }}"
            }
          ]
        },
        "options": {}
      },
      "id": "d3721b05-1ce6-4169-a851-7b04b2ad2560",
      "name": "Variables EvolutionAPI",
      "type": "n8n-nodes-base.set",
      "typeVersion": 2,
      "position": [
        -1136,
        928
      ],
      "executeOnce": true
    },
    {
      "parameters": {
        "method": "POST",
        "url": "={{ $('Variables EvolutionAPI').item.json['URL API'] }}/chat/getBase64FromMediaMessage/{{ $('Variables EvolutionAPI').item.json['Nombre de instancia'] }}",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "apikey",
              "value": "={{ $('Variables EvolutionAPI').item.json.APIKEY }}"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n    \"message\": {\n        \"key\": {\n            \"id\": \"{{ $('Trigger WhatsApp').item.json.body.data.key.id }}\"\n        }\n    },\n    \"convertToMp4\": false\n}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        -240,
        560
      ],
      "id": "56a03584-f953-4db5-a81d-a4e1bb112ffb",
      "name": "HTTP Request"
    },
    {
      "parameters": {
        "operation": "toBinary",
        "sourceProperty": "base64",
        "options": {
          "mimeType": "={{ $json.mimetype }}"
        }
      },
      "type": "n8n-nodes-base.convertToFile",
      "typeVersion": 1.1,
      "position": [
        -16,
        560
      ],
      "id": "d2a9edd9-4267-444c-a56d-d072b327e72c",
      "name": "Convert to File"
    },
    {
      "parameters": {
        "content": "**Trigger y Clasificaci\u00f3n Inicial**:\n\n   - Recibe mensajes de WhatsApp y separa las partes (remitente, ID, timestamp, texto)\n   - Diferencia entre im\u00e1genes y texto mediante un switch\n\n",
        "width": 380,
        "color": 3
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -832,
        304
      ],
      "id": "0c330b09-cc42-4f0a-9491-0568edc98dd6",
      "name": "Sticky Note1"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "http://192.168.2.30:30111/transcribe/",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "accept",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "contentType": "multipart-form-data",
        "bodyParameters": {
          "parameters": [
            {
              "parameterType": "formBinaryData",
              "name": "file",
              "inputDataFieldName": "data"
            }
          ]
        },
        "options": {}
      },
      "id": "516f0798-c08b-479b-97d3-26e447f0f9d2",
      "name": "AgilSTT",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        208,
        560
      ],
      "typeVersion": 4.2,
      "retryOnFail": true
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 3
          },
          "conditions": [
            {
              "id": "6e40f817-747b-4bb5-9762-0af1d198b2ef",
              "leftValue": "={{ $('Trigger WhatsApp').item.json.body.data.key.fromMe }}",
              "rightValue": false,
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.3,
      "position": [
        -912,
        928
      ],
      "id": "65ec541d-419f-4e7d-9a1b-e85f0f4bfe7e",
      "name": "FromMe"
    },
    {
      "parameters": {
        "amount": 1
      },
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        -464,
        1120
      ],
      "id": "b20da365-2882-488f-b08c-82e29ef2d584",
      "name": "Wait1"
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "CfaIQ42iZbUR2cMj",
          "mode": "list",
          "cachedResultUrl": "/workflow/CfaIQ42iZbUR2cMj",
          "cachedResultName": "Agendamiento"
        },
        "workflowInputs": {
          "mappingMode": "defineBelow",
          "value": {
            "CallerID": "={{ $('Variables EvolutionAPI').item.json.CallerID }}",
            "message": "={{ $('Trigger WhatsApp').item.json.body.data.message.conversation }}",
            "Instance": "={{ $('Variables EvolutionAPI').item.json['Nombre de instancia'] }}",
            "empresa_id": "={{ $json.empresa_id }}",
            "backend_url": "={{ $json.backend_url }}"
          },
          "matchingColumns": [
            "CallerID",
            "",
            "body_data_message_conversation_firstItem",
            "CallerID_firstItem",
            "_firstItem",
            "body_data_message_conversation_toUpperCase",
            "CallerID_replaceAll"
          ],
          "schema": [
            {
              "id": "CallerID",
              "displayName": "CallerID",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            },
            {
              "id": "message",
              "displayName": "message",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            },
            {
              "id": "Instance",
              "displayName": "Instance",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            },
            {
              "id": "empresa_id",
              "displayName": "empresa_id",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            },
            {
              "id": "backend_url",
              "displayName": "backend_url",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": true
        },
        "options": {}
      },
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.2,
      "position": [
        1328,
        1136
      ],
      "name": "Call Agendamiento",
      "id": "33f47a9e-ffa4-4a5e-a20b-b911bcd51727"
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "leftValue": "={{ $json.menu }}",
                    "rightValue": "",
                    "operator": {
                      "type": "string",
                      "operation": "empty",
                      "singleValue": true
                    },
                    "id": "942b8301-0aee-4f43-ba13-491739503846"
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Menu-Inicio"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "id": "c0687953-eca0-4701-ac3b-ae1543dd3991",
                    "leftValue": "={{ $json.menu }}",
                    "rightValue": "User-Selection",
                    "operator": {
                      "type": "string",
                      "operation": "equals",
                      "name": "filter.operator.equals"
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "User-Selection"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "id": "20aab8cc-0f42-48b6-93b6-a3468172a65c",
                    "leftValue": "={{ $json.menu }}",
                    "rightValue": "Agendar",
                    "operator": {
                      "type": "string",
                      "operation": "equals",
                      "name": "filter.operator.equals"
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Reserva"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "id": "b897da69-0933-4c6d-b225-b0d0421abbf3",
                    "leftValue": "={{ $json.menu }}",
                    "rightValue": "Cancelar",
                    "operator": {
                      "type": "string",
                      "operation": "equals",
                      "name": "filter.operator.equals"
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Cancelar"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "id": "7c24ddb2-dd2b-4065-8e9f-9acbd896e006",
                    "leftValue": "={{ $json.menu }}",
                    "rightValue": "Reagendar",
                    "operator": {
                      "type": "string",
                      "operation": "equals",
                      "name": "filter.operator.equals"
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Reagendar"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.4,
      "position": [
        -16,
        1088
      ],
      "id": "3ed4b671-51b9-4235-803c-48277c69a1e3",
      "name": "Switch1"
    },
    {
      "parameters": {
        "resource": "messages-api",
        "instanceName": "={{ $('Variables EvolutionAPI').item.json['Nombre de instancia'] }}",
        "remoteJid": "={{ $('Variables EvolutionAPI').item.json.CallerID }}",
        "messageText": "=\ud83d\udc4b \u00a1Bienvenido!\n\nPor favor, eleg\u00ed una opci\u00f3n respondiendo con el n\u00famero correspondiente:\n\n1\ufe0f\u20e3 Reservar una cita  \n2\ufe0f\u20e3 Cancelar una cita  \n3\ufe0f\u20e3 Reagendar una cita  \n4\ufe0f\u20e3 Hablar con un representante",
        "options_message": {}
      },
      "type": "n8n-nodes-evolution-api.evolutionApi",
      "typeVersion": 1,
      "position": [
        208,
        752
      ],
      "id": "f7066a8f-f4b7-48aa-ba6e-7557d6ab6eb3",
      "name": "Enviar texto",
      "credentials": {
        "evolutionApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "set",
        "key": "={{ $('Variables EvolutionAPI').item.json.CallerID }}-menu",
        "value": "User-Selection"
      },
      "type": "n8n-nodes-base.redis",
      "typeVersion": 1,
      "position": [
        432,
        752
      ],
      "id": "16698f1d-d0d3-4bc1-94c8-05e2bf47d948",
      "name": "Set-User-Selection",
      "credentials": {
        "redis": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "get",
        "propertyName": "menu",
        "key": "={{ $json.CallerID }}-menu",
        "options": {}
      },
      "type": "n8n-nodes-base.redis",
      "typeVersion": 1,
      "position": [
        -240,
        1120
      ],
      "id": "af5578fc-ec3d-4879-9eb9-b4151dc12e00",
      "name": "get_Menu-State",
      "credentials": {
        "redis": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 3
          },
          "conditions": [
            {
              "id": "b0741b50-0058-4f46-a37a-85ced2e28f15",
              "leftValue": "={{ $('Trigger WhatsApp').item.json.body.data.message.conversation.isNumeric() }}",
              "rightValue": "",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.3,
      "position": [
        208,
        1056
      ],
      "id": "b8682b6a-f52f-4fd2-95a6-6501b36cc420",
      "name": "If"
    },
    {
      "parameters": {
        "resource": "messages-api",
        "instanceName": "={{ $('FromMe').item.json['Nombre de instancia'] }}",
        "remoteJid": "={{ $('FromMe').item.json.CallerID }}",
        "messageText": "=\u274c Opci\u00f3n inv\u00e1lida.\n\nPor favor, respond\u00e9 \u00fanicamente con un n\u00famero del men\u00fa para continuar.",
        "options_message": {}
      },
      "type": "n8n-nodes-evolution-api.evolutionApi",
      "typeVersion": 1,
      "position": [
        432,
        1136
      ],
      "id": "2eccbeac-3d66-400e-b220-a795874eafe6",
      "name": "Opcion_Invalida",
      "credentials": {
        "evolutionApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 3
          },
          "conditions": [
            {
              "id": "4b362150-9cb0-4c41-823e-d0bcf857c0e1",
              "leftValue": "={{ $('Trigger WhatsApp').item.json.body.data.message.conversation.toNumber() }}",
              "rightValue": 1,
              "operator": {
                "type": "number",
                "operation": "gte"
              }
            },
            {
              "id": "2e97d58c-3299-41f9-ae48-3de07b99b718",
              "leftValue": "={{ $('Trigger WhatsApp').item.json.body.data.message.conversation.toNumber() }}",
              "rightValue": 4,
              "operator": {
                "type": "number",
                "operation": "lte"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.3,
      "position": [
        432,
        944
      ],
      "id": "5ac08b24-53cb-4090-9eb9-946a950fb591",
      "name": "If1"
    },
    {
      "parameters": {
        "resource": "messages-api",
        "instanceName": "={{ $('Variables EvolutionAPI').item.json['Nombre de instancia'] }}",
        "remoteJid": "={{ $('Variables EvolutionAPI').item.json.CallerID }}",
        "messageText": "=\u274c Opci\u00f3n no v\u00e1lida.\n\nEl n\u00famero ingresado no corresponde a ninguna opci\u00f3n del men\u00fa.\nPor favor, eleg\u00ed un n\u00famero v\u00e1lido para continuar.",
        "options_message": {}
      },
      "type": "n8n-nodes-evolution-api.evolutionApi",
      "typeVersion": 1,
      "position": [
        656,
        1040
      ],
      "id": "e08c0239-d2cd-4d4f-b424-2248ba9d4bab",
      "name": "Fuera_del_rango",
      "credentials": {
        "evolutionApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const opcion = parseInt($('Trigger WhatsApp').first().json.body.data.message.conversation, 10);\n\nlet resultado;\n\nswitch (opcion) {\n  case 1:\n    resultado = \"Agendar\";\n    break;\n  case 2:\n    resultado = \"Cancelar\";\n    break;\n  case 3:\n    resultado = \"Reagendar\";\n    break;\n  case 4:\n    resultado = \"Representante\";\n    break;\n  default:\n    resultado = null;\n}\n\nreturn [{\n  json: {\n    opcion_elegida: resultado\n  }\n}];\n"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        656,
        848
      ],
      "id": "693fa56f-488d-4bca-b197-30b54ddeba2e",
      "name": "Code in JavaScript"
    },
    {
      "parameters": {
        "operation": "set",
        "key": "={{ $('Variables EvolutionAPI').item.json.CallerID }}-menu",
        "value": "={{ $json.opcion_elegida }}"
      },
      "type": "n8n-nodes-base.redis",
      "typeVersion": 1,
      "position": [
        880,
        848
      ],
      "id": "df263030-bbec-4bf1-9a8a-0ba030f66da3",
      "name": "Set_Menu-State",
      "credentials": {
        "redis": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "leftValue": "={{ $json.opcion_elegida }}",
                    "rightValue": "Agendar",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "id": "c3bfd14c-fb64-4edc-9e0f-4063bb31e257"
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Reserva"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "id": "b44c43c5-914a-4485-a2a7-f5af5b157d0a",
                    "leftValue": "={{ $json.opcion_elegida }}",
                    "rightValue": "Cancelar",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Cancelacion"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "id": "54ae5bb1-3496-46fb-8add-9bef8fd728cc",
                    "leftValue": "={{ $json.opcion_elegida }}",
                    "rightValue": "Reagendar",
                    "operator": {
                      "type": "string",
                      "operation": "equals",
                      "name": "filter.operator.equals"
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Reagendar"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.4,
      "position": [
        1104,
        832
      ],
      "id": "40b10a7a-c462-472e-b638-11b4a42a84fa",
      "name": "Switch2"
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "d2t3ngA1zVLviUwsX4UrY",
          "mode": "list",
          "cachedResultUrl": "/workflow/d2t3ngA1zVLviUwsX4UrY",
          "cachedResultName": "Cancelacion"
        },
        "workflowInputs": {
          "mappingMode": "defineBelow",
          "value": {
            "Instance": "={{ $('Variables EvolutionAPI').item.json['Nombre de instancia'] }}",
            "CallerID": "={{ $('Variables EvolutionAPI').item.json.CallerID }}",
            "Message": "={{ $('Trigger WhatsApp').item.json.body.data.message.conversation }}",
            "empresa_id": "={{ $json.empresa_id }}",
            "backend_url": "={{ $json.backend_url }}"
          },
          "matchingColumns": [],
          "schema": [
            {
              "id": "CallerID",
              "displayName": "CallerID",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            },
            {
              "id": "Message",
              "displayName": "Message",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            },
            {
              "id": "Instance",
              "displayName": "Instance",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            },
            {
              "id": "empresa_id",
              "displayName": "empresa_id",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            },
            {
              "id": "backend_url",
              "displayName": "backend_url",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": true
        },
        "options": {
          "waitForSubWorkflow": true
        }
      },
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.3,
      "position": [
        1328,
        1344
      ],
      "id": "ba874699-b10f-4408-9bc5-ebd330c149cd",
      "name": "Call 'Cancelacion'"
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "G8EylwTxnY6yVjSi",
          "mode": "list",
          "cachedResultUrl": "/workflow/G8EylwTxnY6yVjSi",
          "cachedResultName": "Reagendamiento"
        },
        "workflowInputs": {
          "mappingMode": "defineBelow",
          "value": {
            "CallerID": "={{ $('Variables EvolutionAPI').item.json.CallerID }}",
            "Instance": "={{ $('Variables EvolutionAPI').item.json['Nombre de instancia'] }}",
            "Message": "={{ $('Trigger WhatsApp').item.json.body.data.message.conversation }}",
            "empresa_id": "={{ $json.empresa_id }}",
            "backend_url": "={{ $json.backend_url }}"
          },
          "matchingColumns": [],
          "schema": [
            {
              "id": "CallerID",
              "displayName": "CallerID",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            },
            {
              "id": "Message",
              "displayName": "Message",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            },
            {
              "id": "Instance",
              "displayName": "Instance",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            },
            {
              "id": "empresa_id",
              "displayName": "empresa_id",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            },
            {
              "id": "backend_url",
              "displayName": "backend_url",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": true
        },
        "options": {}
      },
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.3,
      "position": [
        1328,
        1536
      ],
      "id": "b0542840-ed3f-4ad3-a9b0-7563f73ece14",
      "name": "Call 'Reagendamiento'"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://www.googleapis.com/calendar/v3/calendars",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "googleCalendarOAuth2Api",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "summary",
              "value": "Nombre de mi nuevo calendario"
            },
            {
              "name": "description",
              "value": "Creado desde n8n v\u00eda API"
            },
            {
              "name": "timeZone",
              "value": "Europe/Madrid"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.4,
      "position": [
        -992,
        464
      ],
      "id": "5ad9209a-4f71-4ddc-9598-9a8101ae667b",
      "name": "HTTP Request1",
      "credentials": {
        "googleCalendarOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "keepOnlySet": false,
        "values": {
          "number": [
            {
              "name": "empresa_id",
              "value": 1
            }
          ],
          "string": [
            {
              "name": "backend_url",
              "value": "http://localhost:8000"
            }
          ]
        },
        "options": {}
      },
      "name": "Set Config",
      "type": "n8n-nodes-base.set",
      "typeVersion": 2,
      "position": [
        -1100,
        700
      ],
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "executeOnce": true
    }
  ],
  "connections": {
    "Trigger WhatsApp": {
      "main": [
        [
          {
            "node": "Variables EvolutionAPI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Variables EvolutionAPI": {
      "main": [
        [
          {
            "node": "Set Config",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Convert to File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert to File": {
      "main": [
        [
          {
            "node": "AgilSTT",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AgilSTT": {
      "main": [
        []
      ]
    },
    "FromMe": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait1": {
      "main": [
        [
          {
            "node": "get_Menu-State",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch1": {
      "main": [
        [
          {
            "node": "Enviar texto",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Call Agendamiento",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Call 'Cancelacion'",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Call 'Reagendamiento'",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Enviar texto": {
      "main": [
        [
          {
            "node": "Set-User-Selection",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "get_Menu-State": {
      "main": [
        [
          {
            "node": "Switch1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If": {
      "main": [
        [
          {
            "node": "If1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Opcion_Invalida",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If1": {
      "main": [
        [
          {
            "node": "Code in JavaScript",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Fuera_del_rango",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript": {
      "main": [
        [
          {
            "node": "Set_Menu-State",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set_Menu-State": {
      "main": [
        [
          {
            "node": "Switch2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch2": {
      "main": [
        [
          {
            "node": "Call Agendamiento",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Call 'Cancelacion'",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Call 'Reagendamiento'",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Config": {
      "main": [
        [
          {
            "node": "FromMe",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1",
    "availableInMCP": false
  },
  "versionId": "92fb4585-7abd-478c-981c-698c67ec4a5b",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "ouaIatcHlFckedT99Umpr",
  "tags": []
}

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

Response_Handler_v2. Uses httpRequest, n8n-nodes-evolution-api, redis. Webhook trigger; 26 nodes.

Source: https://github.com/ignacioelizeche/BackOffice-Odonto/blob/13b047f47b8a3442a521b3ff148aff5b26d8f464/N8N/Response_Handler_v2.json — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

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

Web Scraping

Response_Handler. Uses httpRequest, dataTable, n8n-nodes-evolution-api, redis. Webhook trigger; 32 nodes.

HTTP Request, Data Table, N8N Nodes Evolution Api +1
Web Scraping

Techno Gas. Uses httpRequest, redis. Webhook trigger; 8 nodes.

HTTP Request, Redis
Web Scraping

This n8n template provides enterprise-level version control for your workflows using GitHub integration. Stop losing hours to broken workflows and manual exports – get proper commit history, visual di

n8n, Execute Workflow Trigger, HTTP Request +1
Web Scraping

This flow creates dummy files for every item added in your *Arrs (Radarr/Sonarr) with the tag .

HTTP Request, Ssh
Web Scraping

This workflow acts as a central API gateway for all technical indicator agents in the Binance Spot Market Quant AI system. It listens for incoming webhook requests and dynamically routes them to the c

HTTP Request