Filtrage des avis Google positifs via Telegram, formulaires Web et Google Sheets
Avancé
Ceci est unContent Creation, Multimodal AIworkflow d'automatisation du domainecontenant 33 nœuds.Utilise principalement des nœuds comme If, Set, Wait, Webhook, Telegram. via Telegram、Web 表单et Google Sheets 筛选正面 Google 评价
Prérequis
- •Point de terminaison HTTP Webhook (généré automatiquement par n8n)
- •Token Bot Telegram
- •Informations d'identification Google Sheets API
Nœuds utilisés (33)
Catégorie
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
"meta": {
"instanceId": "3d5da29ecb74ce7e2d987bbf535eab46b9724880017cbe267c2cb8d22899447c",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "22c9f809-df01-4dd2-aa0f-893d2aed3a17",
"name": "Message initial de l'utilisateur",
"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": "Récupérer les lignes de la feuille",
"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": "Mettre à jour les détails du client",
"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": "Mettre à jour le statut",
"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": "Message d'offre déjà réclamée",
"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": "Message de feedback",
"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": "Note adhésive",
"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": "Note adhésive 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": "Suivi de clic sur lien",
"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": "Note adhésive 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": "Déclencheur planifié",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-1024,
240
],
"parameters": {
"rule": {
"interval": [
{
"field": "minutes"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "6f4c36e7-12e0-4efa-83af-1eacfc0f81e8",
"name": "Obtenir la/les ligne(s) dans sheet1",
"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": "Boucler sur les éléments",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-608,
240
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "c5597f2d-3926-4bac-8fd7-148f294e537f",
"name": "Si 23 heures écoulées",
"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": "Mettre à jour le statut en 'follow up sent'",
"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": "Délai de 2 heures pour le feedback",
"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": "Vérifier si le client existe dans les sheets",
"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": "Vérifier si l'offre n'est toujours pas réclamée",
"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": "Note adhésive 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": "Timestamp en booléen",
"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": "Envoyer le lien de la page d'avis",
"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": "Envoyer l'offre d'incitation",
"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": "Envoyer le rappel du lien d'avis",
"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": "Mettre à jour le statut en 'Cliqué'",
"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": "Sauvegarder le feedback privé dans la feuille",
"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": "Note adhésive 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": "Note adhésive 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": "Note adhésive 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": "Note adhésive 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": "Note adhésive 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": "Note adhésive 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": "Note adhésive 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": "Note adhésive 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
}
]
]
}
}
}Foire aux questions
Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Création de contenu, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Moteur automatisé de contenu viral pour LinkedIn et X
Création et publication automatique de contenu viral pour LinkedIn et X avec l'IA
If
Set
Wait
+
If
Set
Wait
156 NœudsDiptamoy Barman
Création de contenu
Processus de vente B2B complet : Génération de prospects Apollo, externalisation avec Mailgun et gestion des réponses IA
Processus de vente B2B complet : Génération de prospects Apollo, prospection Mailgun et gestion des réponses AI
If
Set
Code
+
If
Set
Code
116 NœudsPaul
Création de contenu
1. Configuration du robot pour les détails de la playlist
Créer des playlists de musique YouTube générées par l'IA avec Suno, GPT-4, Runway et Creatomate
If
Set
Code
+
If
Set
Code
203 NœudsJoseph
Création de contenu
Fusion
Créer une playlist YouTube complète de 20 morceaux avec Suno API, Claude et un bot Telegram
If
Set
Code
+
If
Set
Code
150 NœudsJoseph
Création de contenu
Création et téléchargement de vidéos AI vers Instagram, TikTok et YouTube
Création de vidéos pilotée par l'IA depuis Google Drive, téléchargement sur Instagram, TikTok et YouTube
If
Set
Code
+
If
Set
Code
53 NœudsDevCode Journey
Création de contenu
💥 Automatisation des publicités vidéo avec NanoBanana, Seedream 4, ChatGPT Image et Veo 3 - VIDE
Utiliser l'IA (NanoBanana, Seedream, GPT-4o, Veo 3) pour automatiser et publier des campagnes publicitaires vidéo
Set
Code
Wait
+
Set
Code
Wait
63 NœudsDr. Firas
Création de contenu
Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds33
Catégorie2
Types de nœuds10
Description de la difficulté
Auteur
Anirudh Aeran
@anirudhaeranLiens externes
Voir sur n8n.io →
Partager ce workflow