Filtrar reseñas positivas de Google usando Telegram, formularios web y Google Sheets

Avanzado

Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 33 nodos.Utiliza principalmente nodos como If, Set, Wait, Webhook, Telegram. Filtrar reseñas positivas de Google a través de Telegram, formularios web y Google Sheets

Requisitos previos
  • Punto final de HTTP Webhook (n8n generará automáticamente)
  • Bot Token de Telegram
  • Credenciales de API de Google Sheets
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "meta": {
    "instanceId": "3d5da29ecb74ce7e2d987bbf535eab46b9724880017cbe267c2cb8d22899447c",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "22c9f809-df01-4dd2-aa0f-893d2aed3a17",
      "name": "Mensaje inicial del usuario",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -1040,
        -448
      ],
      "webhookId": "25d6622d-5441-400d-9cde-9b9a232b72d8",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "7f7f07f5-fcc7-4fd9-ad9c-51d55ed559bd",
      "name": "Obtener filas de la hoja",
      "type": "n8n-nodes-base.googleSheets",
      "notes": "Checks if its a returning customer",
      "position": [
        -848,
        -448
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $json.message.from.id.toString() }}",
              "lookupColumn": "ID"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/Your Google sheet ID/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "Your Google sheet ID",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/Your Google sheet ID/edit?usp=drivesdk",
          "cachedResultName": "Google review Agent"
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.7,
      "alwaysOutputData": true
    },
    {
      "id": "5f204297-2a27-4b40-a5f8-a91de5b65d2f",
      "name": "Actualizar detalles del cliente",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -416,
        -624
      ],
      "parameters": {
        "columns": {
          "value": {
            "ID": "={{ $('Initial User Message').item.json.message.from.id }}",
            "Is Bot": "={{ $('Initial User Message').item.json.message.from.is_bot }}",
            "Status": "pending",
            "Last Name": "={{ $('Initial User Message').item.json.message.from.last_name }}",
            "Timestamp": "={{ $now }}",
            "First Name ": "={{ $('Initial User Message').item.json.message.from.first_name }}"
          },
          "schema": [
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "First Name ",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "First Name ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Last Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Is Bot",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Is Bot",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Feedback Message",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Feedback Message",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Timestamp",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Timestamp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/Your Google sheet ID/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "Your Google sheet ID",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/Your Google sheet ID/edit?usp=drivesdk",
          "cachedResultName": "Google review Agent"
        }
      },
      "notesInFlow": false,
      "typeVersion": 4.7
    },
    {
      "id": "33002dd5-2c11-4216-939b-4041a6013f59",
      "name": "Actualizar estado",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -16,
        -624
      ],
      "parameters": {
        "columns": {
          "value": {
            "ID": "={{ $('Initial User Message').item.json.message.from.id }}",
            "Status": "contacted"
          },
          "schema": [
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "First Name ",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "First Name ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Last Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Is Bot",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Is Bot",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Feedback Message",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Feedback Message",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Timestamp",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Timestamp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "ID"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/Your Google sheet ID/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "Your Google sheet ID",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/Your Google sheet ID/edit?usp=drivesdk",
          "cachedResultName": "Google review Agent"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "3259cacc-d95a-48c4-be74-704f517b93a3",
      "name": "Mensaje de oferta ya reclamada",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -224,
        -352
      ],
      "webhookId": "87af6a07-b3c8-490e-bb67-b68c3e3c96f3",
      "parameters": {
        "text": "=Sorry {{ $('Initial User Message').item.json.message.chat.first_name }}, You have already Claimed this Offer. ",
        "chatId": "={{ $('Initial User Message').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c7d82216-0388-4f2d-bc4d-33bc76c9f9db",
      "name": "Mensaje de retroalimentación",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -864,
        -64
      ],
      "webhookId": "b3ac4af4-a8fc-43ba-a2ef-be1de79fb2f1",
      "parameters": {
        "path": "b3ac4af4-a8fc-43ba-a2ef-be1de79fb2f1",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2.1
    },
    {
      "id": "3b4d326b-400f-4899-b9b9-5c8f5acf8525",
      "name": "Nota adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1136,
        -144
      ],
      "parameters": {
        "width": 912,
        "height": 256,
        "content": "## Feedback Review to Google Sheets"
      },
      "typeVersion": 1
    },
    {
      "id": "e74201cb-d0eb-40d9-8107-98e298a81719",
      "name": "Nota adhesiva 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -208,
        -144
      ],
      "parameters": {
        "width": 832,
        "height": 256,
        "content": "## Tracking for Link Click"
      },
      "typeVersion": 1
    },
    {
      "id": "8e3a7e0b-6250-496e-9975-023e417d749d",
      "name": "Seguimiento de clic en enlace",
      "type": "n8n-nodes-base.webhook",
      "position": [
        48,
        -64
      ],
      "webhookId": "366b2145-1d50-45b1-84c0-25bf8765c953",
      "parameters": {
        "path": "366b2145-1d50-45b1-84c0-25bf8765c953",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2.1
    },
    {
      "id": "94bf1a7a-8c39-44aa-a6ce-9cd2d08c794d",
      "name": "Nota adhesiva 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1136,
        -752
      ],
      "parameters": {
        "color": 4,
        "width": 1760,
        "height": 592,
        "content": "## Initial Customer Funneling and Review Message Workflow"
      },
      "typeVersion": 1
    },
    {
      "id": "b7bee03a-5c93-44da-ac42-cf18eb7dd0ad",
      "name": "Activador programado",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1024,
        240
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "6f4c36e7-12e0-4efa-83af-1eacfc0f81e8",
      "name": "Obtener fila(s) en hoja1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -816,
        240
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "contacted",
              "lookupColumn": "Status"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/Your Google sheet ID/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "Your Google sheet ID",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/Your Google sheet ID/edit?usp=drivesdk",
          "cachedResultName": "Google review Agent"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "d7a5e922-79cc-4136-a1a6-32b4be2f3a35",
      "name": "Iterar sobre elementos",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -608,
        240
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "c5597f2d-3926-4bac-8fd7-148f294e537f",
      "name": "Si pasaron 23 horas",
      "type": "n8n-nodes-base.if",
      "position": [
        -176,
        240
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "2d460e62-dd33-4296-ad96-f97f063f8d63",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.is_deadline_in_past }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "897e5fba-45fe-49dd-a699-9701aede5614",
      "name": "Actualizar estado a seguimiento enviado",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        368,
        240
      ],
      "parameters": {
        "columns": {
          "value": {
            "Status": "Follow-up Sent",
            "Phone Number": "={{ $('Loop Over Items').item.json['Phone Number'] }}"
          },
          "schema": [
            {
              "id": "Phone Number",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Phone Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Full Name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Full Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Feedback Message",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Feedback Message",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Timestamp",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Timestamp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Phone Number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/Your Google sheet ID/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "Your Google sheet ID",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/Your Google sheet ID/edit?usp=drivesdk",
          "cachedResultName": "Google review Agent"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "2fb51e66-cd53-4bc0-bb34-c3a281ceeb3b",
      "name": "Retraso de 2 horas para retroalimentación",
      "type": "n8n-nodes-base.wait",
      "position": [
        208,
        -624
      ],
      "webhookId": "a1d2c560-a825-4513-96a4-11e9ff36a7bc",
      "parameters": {
        "unit": "hours",
        "amount": 2
      },
      "typeVersion": 1.1
    },
    {
      "id": "87e5713a-d453-4a0f-a41a-bf66739f77ed",
      "name": "Verificar si cliente existe en hojas",
      "type": "n8n-nodes-base.if",
      "position": [
        -656,
        -448
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "baf45120-c886-40d9-9e83-55308b2c6e4a",
              "operator": {
                "type": "string",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json.ID.toString() }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "93c8d4cb-6221-4419-a8db-99de0a40a10f",
      "name": "Verificar si aún no reclamó la oferta",
      "type": "n8n-nodes-base.if",
      "position": [
        -416,
        -336
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "3105bcfd-71a6-428b-acb9-bd30b9353084",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.Status }}",
              "rightValue": "contacted"
            },
            {
              "id": "311db6b1-1b87-4b8d-9d31-a51840ee7486",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.Status }}",
              "rightValue": "clicked"
            },
            {
              "id": "04d697a3-c67f-480f-ac7c-79f83852e0be",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.Status }}",
              "rightValue": "Follow-up Sent"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "1eac73dc-0dad-4ced-a845-650b3b3bdcab",
      "name": "Nota adhesiva 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1136,
        128
      ],
      "parameters": {
        "color": 5,
        "width": 1760,
        "height": 352,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "2b97bfa6-9bf3-4e83-a0b4-c2c3d303f801",
      "name": "Marca de tiempo a booleano",
      "type": "n8n-nodes-base.set",
      "position": [
        -368,
        240
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "d36b9dce-e4c0-40f3-851c-86db00097bf2",
              "name": "is_deadline_in_past",
              "type": "boolean",
              "value": "={{ new Date(new Date($json.Timestamp).getTime() + (23 * 60 * 60 * 1000)) < new Date() }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "bef8f6b9-fc5a-4f75-a647-434d41a14760",
      "name": "Enviar enlace de página de reseña",
      "type": "n8n-nodes-base.telegram",
      "position": [
        384,
        -624
      ],
      "webhookId": "b585b128-be42-457e-b478-042a27dbfb97",
      "parameters": {
        "text": "=Hi {{ $('Send Incentive Offer').item.json.result.chat.first_name }},\n\nThank you again for your visit today. Could you please take a moment to rate your experience out of 5 stars?\n\nIt's just one tap and helps us a lot.",
        "chatId": "={{ $('Initial User Message').item.json.message.chat.id }}",
        "replyMarkup": "inlineKeyboard",
        "inlineKeyboard": {
          "rows": [
            {
              "row": {
                "buttons": [
                  {
                    "text": "Rate Your Visit",
                    "additionalFields": {
                      "url": "=https://\"Your webpage URl\"/?userId={{ $('Initial User Message').item.json.message.chat.id }}"
                    }
                  }
                ]
              }
            }
          ]
        },
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "58c7b89f-0d97-442f-b3e0-c6c629c44465",
      "name": "Enviar oferta de incentivo",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -224,
        -624
      ],
      "webhookId": "87af6a07-b3c8-490e-bb67-b68c3e3c96f3",
      "parameters": {
        "text": "=Congratulations {{ $('Initial User Message').item.json.message.chat.first_name }},\n\nHere's Your discount of 5%. \n\nTo claim this show this message to the receptionist. ",
        "chatId": "={{ $('Initial User Message').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "6670b4ae-b24c-46a7-aebb-0d769776ae40",
      "name": "Enviar recordatorio de enlace de reseña",
      "type": "n8n-nodes-base.telegram",
      "position": [
        112,
        240
      ],
      "webhookId": "b585b128-be42-457e-b478-042a27dbfb97",
      "parameters": {
        "text": "=Hi {{ $('Loop Over Items').item.json['First Name '] }},\n\nThis is just a friendly reminder that we'd love to get your star rating on your recent visit. It only takes a second and helps us a lot!",
        "chatId": "={{ $('Loop Over Items').item.json.ID }}",
        "replyMarkup": "inlineKeyboard",
        "inlineKeyboard": {
          "rows": [
            {
              "row": {
                "buttons": [
                  {
                    "text": "Rate Your Visit",
                    "additionalFields": {
                      "url": "=https://\"Your Webpage URL\"/?userId={{ $('Loop Over Items').item.json.ID }}"
                    }
                  }
                ]
              }
            }
          ]
        },
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "be79b0fd-ac32-4891-b5c8-2b0a0b98fd7d",
      "name": "Actualizar estado a 'Clickeado'",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        256,
        -64
      ],
      "parameters": {
        "columns": {
          "value": {
            "ID": "={{ $json.body.userId }}",
            "Status": "clicked"
          },
          "schema": [
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "First Name ",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "First Name ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Last Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Is Bot",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Is Bot",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Feedback Message",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Feedback Message",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Timestamp",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Timestamp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "ID"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/Your Google sheet ID/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "Your Google sheet ID",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/Your Google sheet ID/edit?usp=drivesdk",
          "cachedResultName": "Google review Agent"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "eb9a1614-0506-42c1-bfd3-643de8670ebf",
      "name": "Guardar retroalimentación privada en hoja",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -656,
        -64
      ],
      "parameters": {
        "columns": {
          "value": {
            "ID": "={{ $json.body.userId }}",
            "Feedback Message": "={{ $('Feedback message').item.json.body.feedback }}"
          },
          "schema": [
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "First Name ",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "First Name ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Last Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Is Bot",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Is Bot",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Feedback Message",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Feedback Message",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "ID"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/Your Google sheet ID/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "Your Google sheet ID",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/Your Google sheet ID/edit?usp=drivesdk",
          "cachedResultName": "Google review Agent"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "75613bca-9dc4-4140-ab10-80b52a02247f",
      "name": "Nota adhesiva 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2144,
        -1232
      ],
      "parameters": {
        "width": 560,
        "height": 416,
        "content": "=========================\n Positive Google Reviews only Using Telegram with Google Sheets\n=======================================\nFor any questions or support, please contact:\n    anirudh.n.aeran@gmail.com\n\nExplore more tips here:\n    - LinkedIn: https://www.linkedin.com/in/anirudh-narayan-a-/\n\nHappy learning! -- Anirudh Aeran\n\n\n======================================="
      },
      "typeVersion": 1
    },
    {
      "id": "416e3b5e-6d47-4d62-8442-83edb03c4437",
      "name": "Nota adhesiva 5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2144,
        -768
      ],
      "parameters": {
        "color": 5,
        "width": 416,
        "height": 960,
        "content": "## Try It Out!\n\n**This workflow is your personal reputation manager. It intelligently filters customer feedback from Telegram, encouraging 4+ star reviews to be posted on Google while capturing negative feedback privately for you to handle.**\n\n1. **Have your review page ready.** This workflow's main goal is to send users to a special webpage that filters reviews. Make sure you have this page built and hosted *before* you begin. Copy the [Code](https://github.com/anirudhaeran/Google-Review-Feedback-Form) and host it in Netlify for free - [Tutorial](https://youtu.be/9srnyNC1e_o?si=nSFDZRks_19p43jc)\n\n2. **Connect your accounts.** First, create a Telegram bot by talking to the BotFather on Telegram to get your API token. Then, connect your **Telegram** and **Google Sheets** credentials in n8n. You can refer to the [n8n docs](https://docs.n8n.io/) if you need help.\n\n3. **Set up your Google Sheet.** Create a new sheet with the following exact column names: ID, First Name, Last Name, Status, Feedback Message, Timestamp. Copy the Sheet ID from its URL.\n\n4. **Configure the workflow.**\n- In all **Google Sheets nodes**, select your credential and paste your Sheet ID.\n- In all **Telegram nodes**, select your Telegram credential.\n- In the \"**Send Review Page Link**\" and \"**Send Review Link Reminder**\" nodes, paste the URL to **your** review filtering webpage.\n\n**Test the magic!**\n- Get your bot's link (e.g., https://t.me/YOUR_BOT_USERNAME) and create a QR code for it.\n- Scan the QR code with your phone and send a message to your bot.\n- You should receive the incentive offer, and after the delay, the link to your review page.\n- Check your Google Sheet - a new row with your user details should appear instantly!\n\n**Go Live.** Once you're happy with the test, just activate the workflow to make it live for your customers."
      },
      "typeVersion": 1
    },
    {
      "id": "0f409df6-2adb-4292-b824-674aa292abbd",
      "name": "Nota adhesiva 6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1136,
        -944
      ],
      "parameters": {
        "width": 272,
        "content": "### Note:\nHere in this workflow we're using a free discount of 5% up to $xx method to funnel the customer to our database. You can replace this with any stratagy"
      },
      "typeVersion": 1
    },
    {
      "id": "7df82cf7-f836-4a46-bd4d-4e9579cc3b53",
      "name": "Nota adhesiva 7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1408,
        -80
      ],
      "parameters": {
        "color": 3,
        "width": 256,
        "height": 112,
        "content": "**-->This flow will send the feedback from the webpage to sheets (this can be database)**"
      },
      "typeVersion": 1
    },
    {
      "id": "972ac8ba-73e0-4fbf-8c87-607d21b5f4b7",
      "name": "Nota adhesiva 8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        656,
        -80
      ],
      "parameters": {
        "color": 3,
        "width": 256,
        "height": 96,
        "content": "**-->This flow will update the status to \"clicked\" if the link is opened.**"
      },
      "typeVersion": 1
    },
    {
      "id": "2c6714a7-3622-4cf1-8e71-456c22819fa3",
      "name": "Nota adhesiva 9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -784,
        -944
      ],
      "parameters": {
        "width": 320,
        "content": "### -->Dynamic Link\n**The review link sent to each customer is unique. This is ensured by add ?userId={a unique id} at the end of the website URL. Here the telegram id of the customer is the Uid we are using to achieve this.**"
      },
      "typeVersion": 1
    },
    {
      "id": "c2ccc53f-fbbc-4bfe-b692-0e7d7eb907fa",
      "name": "Nota adhesiva 10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1456,
        160
      ],
      "parameters": {
        "color": 3,
        "width": 304,
        "height": 288,
        "content": "**This flow will check on a 5 minute interval basis if the timestamp has exceeded the \"23 hour mark\" to send a follow up to the customers who didn't click the link. \n\nWhen Using Telegram the 23 hour concept is insignificant here, but this is well significant if you want to switch to WhatsApp as this will ensure that the message sent is free instead of paid, as its before the 24 hours from the initial chat message from the user**"
      },
      "typeVersion": 1
    },
    {
      "id": "af651e46-8818-42e0-8a5a-7587b143b422",
      "name": "Nota adhesiva 11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        656,
        -752
      ],
      "parameters": {
        "width": 288,
        "height": 320,
        "content": "### Create Telegram Bot\n1. Message the official BotFather on Telegram and send the command /newbot.\n\n2. Follow the prompts to set a display name and a unique username (which must end in bot).\n\n3. BotFather will reply with your API Token. Copy this token.\n\n4. Paste the token into your n8n Telegram credentials."
      },
      "typeVersion": 1
    }
  ],
  "pinData": {
    "Feedback message": [
      {
        "body": {
          "rating": 3,
          "userId": "7530337802",
          "feedback": "You good"
        },
        "query": {},
        "params": {},
        "headers": {
          "via": "2.0 Caddy",
          "host": "n8n-digital.firmflare.in",
          "accept": "*/*",
          "origin": "https://google-review.firmflare.in",
          "referer": "https://google-review.firmflare.in/",
          "priority": "u=1, i",
          "sec-ch-ua": "\"Chromium\";v=\"140\", \"Not=A?Brand\";v=\"24\", \"Android WebView\";v=\"140\"",
          "user-agent": "Mozilla/5.0 (Linux; Android 14; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.7339.207 Mobile Safari/537.36",
          "content-type": "application/json",
          "content-length": "56",
          "sec-fetch-dest": "empty",
          "sec-fetch-mode": "cors",
          "sec-fetch-site": "same-site",
          "accept-encoding": "gzip, deflate, br, zstd",
          "accept-language": "en,en-GB;q=0.9,en-US;q=0.8",
          "x-forwarded-for": "49.47.196.213",
          "sec-ch-ua-mobile": "?1",
          "x-forwarded-host": "n8n-digital.firmflare.in",
          "x-requested-with": "org.telegram.messenger",
          "x-forwarded-proto": "https",
          "sec-ch-ua-platform": "\"Android\""
        },
        "webhookUrl": "https://n8n-digital.firmflare.in/webhook/b3ac4af4-a8fc-43ba-a2ef-be1de79fb2f1",
        "executionMode": "production"
      }
    ],
    "Schedule Trigger": [
      {
        "Hour": "19",
        "Year": "2025",
        "Month": "October",
        "Minute": "40",
        "Second": "03",
        "Timezone": "Asia/Kolkata (UTC+05:30)",
        "timestamp": "2025-10-04T19:40:03.005+05:30",
        "Day of week": "Saturday",
        "Day of month": "04",
        "Readable date": "October 4th 2025, 7:40:03 pm",
        "Readable time": "7:40:03 pm"
      }
    ]
  },
  "connections": {
    "33002dd5-2c11-4216-939b-4041a6013f59": {
      "main": [
        [
          {
            "node": "2fb51e66-cd53-4bc0-bb34-c3a281ceeb3b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d7a5e922-79cc-4136-a1a6-32b4be2f3a35": {
      "main": [
        [],
        [
          {
            "node": "2b97bfa6-9bf3-4e83-a0b4-c2c3d303f801",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c7d82216-0388-4f2d-bc4d-33bc76c9f9db": {
      "main": [
        [
          {
            "node": "eb9a1614-0506-42c1-bfd3-643de8670ebf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8e3a7e0b-6250-496e-9975-023e417d749d": {
      "main": [
        [
          {
            "node": "be79b0fd-ac32-4891-b5c8-2b0a0b98fd7d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b7bee03a-5c93-44da-ac42-cf18eb7dd0ad": {
      "main": [
        [
          {
            "node": "6f4c36e7-12e0-4efa-83af-1eacfc0f81e8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c5597f2d-3926-4bac-8fd7-148f294e537f": {
      "main": [
        [
          {
            "node": "6670b4ae-b24c-46a7-aebb-0d769776ae40",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6f4c36e7-12e0-4efa-83af-1eacfc0f81e8": {
      "main": [
        [
          {
            "node": "d7a5e922-79cc-4136-a1a6-32b4be2f3a35",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "22c9f809-df01-4dd2-aa0f-893d2aed3a17": {
      "main": [
        [
          {
            "node": "7f7f07f5-fcc7-4fd9-ad9c-51d55ed559bd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "58c7b89f-0d97-442f-b3e0-c6c629c44465": {
      "main": [
        [
          {
            "node": "33002dd5-2c11-4216-939b-4041a6013f59",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2b97bfa6-9bf3-4e83-a0b4-c2c3d303f801": {
      "main": [
        [
          {
            "node": "c5597f2d-3926-4bac-8fd7-148f294e537f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7f7f07f5-fcc7-4fd9-ad9c-51d55ed559bd": {
      "main": [
        [
          {
            "node": "87e5713a-d453-4a0f-a41a-bf66739f77ed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5f204297-2a27-4b40-a5f8-a91de5b65d2f": {
      "main": [
        [
          {
            "node": "58c7b89f-0d97-442f-b3e0-c6c629c44465",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6670b4ae-b24c-46a7-aebb-0d769776ae40": {
      "main": [
        [
          {
            "node": "897e5fba-45fe-49dd-a699-9701aede5614",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2fb51e66-cd53-4bc0-bb34-c3a281ceeb3b": {
      "main": [
        [
          {
            "node": "bef8f6b9-fc5a-4f75-a647-434d41a14760",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "897e5fba-45fe-49dd-a699-9701aede5614": {
      "main": [
        [
          {
            "node": "d7a5e922-79cc-4136-a1a6-32b4be2f3a35",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "87e5713a-d453-4a0f-a41a-bf66739f77ed": {
      "main": [
        [
          {
            "node": "5f204297-2a27-4b40-a5f8-a91de5b65d2f",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "93c8d4cb-6221-4419-a8db-99de0a40a10f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "93c8d4cb-6221-4419-a8db-99de0a40a10f": {
      "main": [
        [
          {
            "node": "3259cacc-d95a-48c4-be74-704f517b93a3",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "58c7b89f-0d97-442f-b3e0-c6c629c44465",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Avanzado - Creación de contenido, IA Multimodal

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos33
Categoría2
Tipos de nodos10
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34