This workflow corresponds to n8n.io template #5848 — we link there as the canonical source.
This workflow follows the Emailsend → Form Trigger 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 →
{
"id": "RoxQsRKHo66PYIoi",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Customer Feedback Collector \u2013 Food & Restaurant Experience",
"tags": [],
"nodes": [
{
"id": "fb14cccc-1a19-4af8-b646-cd2d831b832e",
"name": "Google Sheets Trigger: New Feedback Entry",
"type": "n8n-nodes-base.googleSheetsTrigger",
"position": [
240,
500
],
"parameters": {
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WFcRiJk_kh_1UZo9PzS07Fsl5WS7zviePzhFOz9hFaA/edit#gid=0",
"cachedResultName": "user detail"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1WFcRiJk_kh_1UZo9PzS07Fsl5WS7zviePzhFOz9hFaA",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WFcRiJk_kh_1UZo9PzS07Fsl5WS7zviePzhFOz9hFaA/edit?usp=drivesdk",
"cachedResultName": "Whatsapp"
}
},
"credentials": {
"googleSheetsTriggerOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "77e0ee27-71f0-41c2-b605-6bfb8fb52fb0",
"name": "Wait for All Data (Code)",
"type": "n8n-nodes-base.code",
"position": [
460,
500
],
"parameters": {
"jsCode": "console.log(\"Waiting...\");\n\nsetTimeout(() => {\n console.log(\"5 seconds passed.\");\n}, 5000);\n"
},
"typeVersion": 2
},
{
"id": "508cc37e-4ecf-4839-ae40-3825aaf85428",
"name": "Send Email: Notify Team About Feedback",
"type": "n8n-nodes-base.emailSend",
"position": [
680,
500
],
"parameters": {
"text": "Please give us your valuable feedback at:\nhttps://n8n-devops.oneclicksales.xyz/form/feedback/list\n",
"options": {
"appendAttribution": false
},
"subject": "Feedback",
"toEmail": "={{ $json.Email }}",
"fromEmail": "user@example.com",
"emailFormat": "text"
},
"credentials": {
"smtp": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "3ddcf937-bd44-43d6-9818-1df26792b9b2",
"name": "Trigger: Form Submitted",
"type": "n8n-nodes-base.formTrigger",
"position": [
240,
760
],
"parameters": {
"options": {
"path": "feedback/list",
"customCss": ":root {\n--font-family: 'Roboto', sans-serif;\n --font-weight-normal: 400;\n --font-weight-bold: 700;\n --font-size-body: 13px;\n --font-size-label: 15px;\n --font-size-test-notice: 12px;\n --font-size-input: 15px;\n --font-size-header: 20px;\n --font-size-paragraph: 16px;\n --font-size-link: 14px;\n --font-size-error: 12px;\n --font-size-html-h1: 30px;\n --font-size-html-h2: 24px;\n --font-size-html-h3: 18px;\n --font-size-html-h4: 16px;\n --font-size-html-h5: 14px;\n --font-size-html-h6: 12px;\n --font-size-subheader: 16px;\n --color-background: #f5f7fa;\n --color-test-notice-text: #e6a23d;\n --color-test-notice-bg: #fefaf6;\n --color-test-notice-border: #f6dcb7;\n --color-card-bg: linear-gradient(145deg, #ffffff, #f8f9fa);\n --color-card-border: #ced4da;\n --color-card-shadow: rgba(0, 0, 0, 0.1);\n --color-link: #007bff;\n --color-header: #343a40;\n --color-label: #495057;\n --color-input-border: #ced4da;\n --color-input-text: #495057;\n --color-focus-border: #007bff;\n --color-submit-btn-bg: #007bff;\n --color-submit-btn-text: #ffffff;\n --color-error: #dc3545;\n --color-required: #ff6d5a;\n --color-clear-button-bg: #6c757d;\n --color-html-text: #343a40;\n --color-html-link: #007bff;\n --color-header-subtext: #6c757d;\n --border-radius-card: 12px;\n --border-radius-input: 8px;\n --border-radius-clear-btn: 50%;\n --card-border-radius: 12px;\n --padding-container-top: 40px;\n --padding-card: 32px;\n --padding-test-notice-vertical: 12px;\n --padding-test-notice-horizontal: 24px;\n --margin-bottom-card: 20px;\n --padding-form-input: 14px;\n --card-padding: 32px;\n --card-margin-bottom: 20px;\n --container-width: 500px;\n --submit-btn-height: 50px;\n --checkbox-size: 20px;\n --box-shadow-card: 0px 6px 20px 0px var(--color-card-shadow);\n --opacity-placeholder: 0.6;\n --spacing-question-gap: 320px; /* Added for question spacing */\n}\n\n/* Add company logo to form header */\n.form-header {\n\tposition: relative;\n\ttext-align: center;\n\tpadding-top: 80px; /* Space for logo */\n\tmargin-bottom: 20px;\n}\n\n.form-header::before {\n\tcontent: '';\n\tdisplay: block;\n\twidth: 200px; /* Adjust based on logo size */\n\theight: 60px; /* Adjust based on logo size */\n\tbackground-image: url('https://d1rdz15x9x7c4f.cloudfront.net/assets/payload-images/oc-blue-logo.svg');\n\tbackground-size: contain;\n\tbackground-repeat: no-repeat;\n\tbackground-position: center;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 50%;\n\ttransform: translateX(-50%);\n}\n\n/* Ensure form title and description don't overlap */\n.form-header h1, .form-header p {\n\tposition: relative;\n\tz-index: 1;\n}\n\n/* Hide the 'Form automated with' footer */\n.form-footer, [class*=\"form-footer\"], [class*=\"powered-by\"], [class*=\"branding\"] {\n\tdisplay: none !important;\n}\n\n/* Ensure form inputs are modern and clean */\ninput, select, textarea {\n\tborder: 1px solid var(--color-input-border);\n\tborder-radius: var(--border-radius-input);\n\tpadding: var(--padding-form-input);\n\tfont-size: var(--font-size-input);\n\tfont-family: var(--font-family);\n\tcolor: var(--color-input-text);\n}\n\ninput:focus, select:focus, textarea:focus {\n\tborder-color: var(--color-focus-border);\n\tbox-shadow: 0 0 5px rgba(0, 123, 255, 0.3);\n\toutline: none;\n}\n\n/* Style submit button */\nbutton[type=\"submit\"] {\n\tbackground-color: var(--color-submit-btn-bg);\n\tcolor: var(--color-submit-btn-text);\n\tborder-radius: var(--border-radius-input);\n\theight: var(--submit-btn-height);\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-input);\n\ttransition: background-color 0.3s ease;\n}\n\nbutton[type=\"submit\"]:hover {\n\tbackground-color: #0056b3;\n}",
"appendAttribution": false
},
"formTitle": "Customer Feedback Questions for IT Services",
"formFields": {
"values": [
{
"fieldLabel": "What is your Name?",
"requiredField": true
},
{
"fieldType": "email",
"fieldLabel": "Email ID",
"requiredField": true
},
{
"fieldLabel": "Contact Number",
"placeholder": "(e.g, +1234567890)",
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "How was the cleanliness of the dining area?",
"fieldOptions": {
"values": [
{
"option": "Very Dissatisfied"
},
{
"option": "Dissatisfied"
},
{
"option": "Neutral"
},
{
"option": "Satisfied"
},
{
"option": "Very Satisfied"
}
]
},
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "Did you like the taste of the food?",
"fieldOptions": {
"values": [
{
"option": "Yes"
},
{
"option": "No"
}
]
},
"requiredField": true
},
{
"fieldLabel": "What dish did you enjoy the most?",
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "Was your order accurate and timely?",
"fieldOptions": {
"values": [
{
"option": "Yes"
},
{
"option": "No"
}
]
},
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "Was our staff polite and helpful?",
"fieldOptions": {
"values": [
{
"option": "Yes"
},
{
"option": "No"
}
]
},
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "Was the food presentation appealing?",
"fieldOptions": {
"values": [
{
"option": "Good"
},
{
"option": "Average"
},
{
"option": "Bad"
},
{
"option": "Very Bad"
}
]
},
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "How would you rate your overall dining experience?",
"fieldOptions": {
"values": [
{
"option": "1"
},
{
"option": "2"
},
{
"option": "3"
},
{
"option": "4"
},
{
"option": "5"
}
]
},
"requiredField": true
},
{
"fieldType": "textarea",
"fieldLabel": "Any additional comments or suggestions?",
"requiredField": true
}
]
}
},
"notesInFlow": false,
"typeVersion": 2.2
},
{
"id": "4a36cd39-a72e-4e8c-94c1-458a1eaed29d",
"name": "Wait: Pause Before Processing",
"type": "n8n-nodes-base.wait",
"position": [
460,
760
],
"parameters": {
"amount": 10
},
"typeVersion": 1.1
},
{
"id": "38d3fdab-d3df-44d4-80af-b3427095c551",
"name": "Append or Update Row in Google Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
680,
760
],
"parameters": {
"columns": {
"value": {
"Name": "={{ $json['What is your Name?'] }}",
"E-Mail": "={{ $json['Email ID'] }}",
"Timestamp": "={{ $json.submittedAt }}",
"Contact Number": "={{ $json['Contact Number'] }}",
"Was our staff polite and helpful?": "={{ $json['Was the food presentation appealing?'] }}",
"What dish did you enjoy the most?": "={{ $json['What dish did you enjoy the most?'] }}",
"Did you like the taste of the food?": "={{ $json['Did you like the taste of the food?'] }}",
"Was your order accurate and timely?": "={{ $json['Was your order accurate and timely?'] }}",
"Was the food presentation appealing?": "={{ $json['Was the food presentation appealing?'] }}",
"Any additional comments or suggestions?": "={{ $json['Any additional comments or suggestions?'] }}",
"How was the cleanliness of the dining area?": "={{ $json['How was the cleanliness of the dining area?'] }}",
"How would you rate your overall dining experience?": "={{ $json['How would you rate your overall dining experience?'] }}"
},
"schema": [
{
"id": "Timestamp",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Timestamp",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "E-Mail",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "E-Mail",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Contact Number",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Contact Number",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "How was the cleanliness of the dining area?",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "How was the cleanliness of the dining area?",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Did you like the taste of the food?",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Did you like the taste of the food?",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "What dish did you enjoy the most?",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "What dish did you enjoy the most?",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Was your order accurate and timely?",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Was your order accurate and timely?",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Was our staff polite and helpful?",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Was our staff polite and helpful?",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Was the food presentation appealing?",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Was the food presentation appealing?",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "How would you rate your overall dining experience?",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "How would you rate your overall dining experience?",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Any additional comments or suggestions?",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Any additional comments or suggestions?",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"E-Mail"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 2016314922,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WFcRiJk_kh_1UZo9PzS07Fsl5WS7zviePzhFOz9hFaA/edit#gid=2016314922",
"cachedResultName": "Food_feedback"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1WFcRiJk_kh_1UZo9PzS07Fsl5WS7zviePzhFOz9hFaA",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WFcRiJk_kh_1UZo9PzS07Fsl5WS7zviePzhFOz9hFaA/edit?usp=drivesdk",
"cachedResultName": "Whatsapp"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.5
},
{
"id": "6636ce99-7ebf-4b12-98e6-2d04e4fa663e",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
220
],
"parameters": {
"color": 2,
"width": 520,
"height": 200,
"content": "## Description\n\nThis workflow collects customer feedback about food and restaurant experience through a form, stores the responses in a Google Sheet, and optionally notifies the team via email. It helps track guest satisfaction and improve service quality."
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "c77e2a83-9b68-4198-8956-9b80d47c3b57",
"connections": {
"Trigger: Form Submitted": {
"main": [
[
{
"node": "Wait: Pause Before Processing",
"type": "main",
"index": 0
}
]
]
},
"Wait for All Data (Code)": {
"main": [
[
{
"node": "Send Email: Notify Team About Feedback",
"type": "main",
"index": 0
}
]
]
},
"Wait: Pause Before Processing": {
"main": [
[
{
"node": "Append or Update Row in Google Sheet",
"type": "main",
"index": 0
}
]
]
},
"Append or Update Row in Google Sheet": {
"main": [
[]
]
},
"Google Sheets Trigger: New Feedback Entry": {
"main": [
[
{
"node": "Wait for All Data (Code)",
"type": "main",
"index": 0
}
]
]
}
}
}
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.
googleSheetsOAuth2ApigoogleSheetsTriggerOAuth2Apismtp
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This n8n template demonstrates how to create an automated customer feedback collection system for restaurants. The workflow triggers when new customer emails are added to an Excel sheet, automatically sends personalized feedback forms, and stores all responses in a separate…
Source: https://n8n.io/workflows/5848/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This n8n workflow automates the collection and processing of trip feedback data using Google Sheets as the backend. When new users are added to the system, they automatically receive feedback forms vi
This template implements a professional Double Opt-In email verification system using Google Sheets as a database. The workflow collects user emails, generates unique verification codes, stores them s
This automation streamlines the process of collecting user information using a Form Node, enabling individuals to join a waitlist managed via Google Sheets.
Track website traffic and backlinks effortlessly using the Website Traffic Checker - Ahref API. This n8n workflow automates data retrieval and logging into Google Sheets, making it perfect for SEO pro
This powerful no-code workflow automates plagiarism detection using Plagiarism Checker AI Powered. Users submit text through Google Sheets. The system checks for duplication using the API, sends a det