This workflow corresponds to n8n.io template #4389 — we link there as the canonical source.
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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "0061ae9c-dd06-4ea7-b05f-7b71e9368d94",
"name": "On form submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
-80,
-125
],
"parameters": {
"options": {
"path": "feedback",
"buttonLabel": "Submit",
"appendAttribution": false,
"useWorkflowTimezone": true
},
"formTitle": "Conference Feedback Form",
"formFields": {
"values": [
{
"fieldLabel": "Full Name",
"placeholder": "eg: John Doe",
"requiredField": true
},
{
"fieldType": "email",
"fieldLabel": "Email",
"placeholder": "eg: user@example.com",
"requiredField": true
},
{
"fieldLabel": "Company Name",
"placeholder": "eg: Apple Inc"
},
{
"fieldLabel": "Job Title",
"placeholder": "eg: CEO"
},
{
"fieldType": "dropdown",
"fieldLabel": "How did you hear about the conference?",
"fieldOptions": {
"values": [
{
"option": "Email"
},
{
"option": "Social Media"
},
{
"option": "Colleague/Friend"
},
{
"option": "Website"
},
{
"option": "Other"
}
]
},
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "How would you rate the overall experience?",
"fieldOptions": {
"values": [
{
"option": "\u2b50\u2b50\u2b50\u2b50\u2b50"
},
{
"option": "\u2b50\u2b50\u2b50\u2b50"
},
{
"option": "\u2b50\u2b50\u2b50"
},
{
"option": "\u2b50\u2b50"
},
{
"option": "\u2b50"
}
]
},
"requiredField": true
},
{
"fieldType": "textarea",
"fieldLabel": "Which sessions or speakers did you enjoy the most?"
},
{
"fieldType": "dropdown",
"fieldLabel": "Was the content relevant to your interests or work?",
"fieldOptions": {
"values": [
{
"option": "Very relevant"
},
{
"option": "Somewhat relevant"
},
{
"option": "Not really"
},
{
"option": "Not at all"
}
]
},
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "Did you have enough networking opportunities?",
"fieldOptions": {
"values": [
{
"option": "Yes"
},
{
"option": "No"
},
{
"option": "Not sure / Didn't participate"
}
]
},
"requiredField": true
},
{
"fieldType": "textarea",
"fieldLabel": "What could we improve for next time?"
},
{
"fieldType": "textarea",
"fieldLabel": "Are there any topics or speakers you'd like to see in the future?"
},
{
"fieldType": "dropdown",
"fieldLabel": "Would you attend this conference again?",
"fieldOptions": {
"values": [
{
"option": "Definitely"
},
{
"option": "Maybe"
},
{
"option": "Probably not"
}
]
},
"requiredField": true
},
{
"fieldType": "textarea",
"fieldLabel": "Any other comments or feedback you'd like to share?"
},
{
"fieldType": "dropdown",
"fieldLabel": "Would you be open to being contacted for follow-up or future events?",
"fieldOptions": {
"values": [
{
"option": "Yes"
},
{
"option": "No"
}
]
},
"requiredField": true
}
]
},
"formDescription": "\nThanks for joining us at the conference! \ud83c\udf89\n\nWe\u2019d love to hear your thoughts \u2014 the good, the great, and anything we can improve.\n\n\n"
},
"typeVersion": 2.2
},
{
"id": "e6dc4e27-827d-47c4-ab9d-96846995f2cc",
"name": "Parse Data",
"type": "n8n-nodes-base.set",
"position": [
140,
-125
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "f77a031d-6be7-406b-8134-84eccdbd402e",
"name": "full_name",
"type": "string",
"value": "={{ $json['Full Name'] }}"
},
{
"id": "0779d779-9d65-4861-89d2-3c343b46e381",
"name": "email",
"type": "string",
"value": "={{ $json.Email }}"
},
{
"id": "3e99e9af-6de0-497c-9b96-19f887ac4cbe",
"name": "company_name",
"type": "string",
"value": "={{ $json['Company Name'] }}"
},
{
"id": "7a7bd49b-9665-4668-9b30-97dd5eb154fe",
"name": "job_title",
"type": "string",
"value": "={{ $json['Job Title'] }}"
},
{
"id": "f31f2aec-72aa-4310-9441-d32407ccf711",
"name": "referral_source",
"type": "string",
"value": "={{ $json['How did you hear about the conference?'] }}"
},
{
"id": "ef146ca5-f3c2-40bf-bd92-7346d166e10b",
"name": "rating",
"type": "string",
"value": "={{ $json['How would you rate the overall experience?'] }}"
},
{
"id": "d009ac9d-c9f6-49f7-a47e-b8098f3ae845",
"name": "preferred_sessions",
"type": "string",
"value": "={{ $json['Which sessions or speakers did you enjoy the most?'] }}"
},
{
"id": "00eac176-896f-451f-a4bc-970c1f01c715",
"name": "content_relevancy",
"type": "string",
"value": "={{ $json['Was the content relevant to your interests or work?'] }}"
},
{
"id": "8844f08f-93c5-4380-bd04-02d1b5da27ac",
"name": "networking_opportunities",
"type": "string",
"value": "={{ $json['Did you have enough networking opportunities?'] }}"
},
{
"id": "53fcb77e-4b29-410f-b5ca-a24e87a1e382",
"name": "improvement_suggestions",
"type": "string",
"value": "={{ $json['What could we improve for next time?'] }}"
},
{
"id": "5c375c10-5e11-4242-97eb-053eb0837b87",
"name": "future_suggestions",
"type": "string",
"value": "={{ $json['Are there any topics or speakers you\\'d like to see in the future?'] }}"
},
{
"id": "9615ec66-d0b8-4100-85c9-b055238a5640",
"name": "would_attend_again",
"type": "string",
"value": "={{ $json['Would you attend this conference again?'] }}"
},
{
"id": "e7cacd7b-c9f6-4d7a-b5e2-1ab1736f018d",
"name": "additional_comments",
"type": "string",
"value": "={{ $json['Any other comments or feedback you\\'d like to share?'] }}"
},
{
"id": "5bb69825-ce98-41d2-a359-2cd669f648c5",
"name": "open_to_contact",
"type": "string",
"value": "={{ $json['Would you be open to being contacted for follow-up or future events?'] }}"
},
{
"id": "bc0c50ca-18c5-412f-916f-7839ead8bd02",
"name": "submitted_at",
"type": "string",
"value": "={{ $json.submittedAt }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "f6960053-bb48-44e9-9655-77bd79ca14b9",
"name": "Search Document",
"type": "n8n-nodes-base.microsoftOneDrive",
"position": [
580,
-125
],
"parameters": {
"query": "test-n8n-feedback-form-data.xlsx",
"operation": "search"
},
"credentials": {
"microsoftOneDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "e37e133d-c374-4d28-9655-4d83df99e020",
"name": "Build Sheet Data",
"type": "n8n-nodes-base.set",
"position": [
1240,
-200
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "35e322bd-ea8b-4e8a-aba1-0d169a50514b",
"name": "full_name",
"type": "string",
"value": "={{ $('Parse Data').item.json.full_name }}"
},
{
"id": "e78a4c71-30ba-481b-bda6-4a734a071944",
"name": "email",
"type": "string",
"value": "={{ $('Parse Data').item.json.email }}"
},
{
"id": "837979e5-c26a-4e91-a954-0bed27e33407",
"name": "company_name",
"type": "string",
"value": "={{ $('Parse Data').item.json.company_name }}"
},
{
"id": "3d8493e2-f4d3-4374-9e85-5349382ff5a9",
"name": "job_title",
"type": "string",
"value": "={{ $('Parse Data').item.json.job_title }}"
},
{
"id": "6c8a4ef9-4334-4307-8633-88551720690a",
"name": "referral_source",
"type": "string",
"value": "={{ $('Parse Data').item.json.referral_source }}"
},
{
"id": "b47ff6ef-28e4-4d17-80b8-d1e8b45542e3",
"name": "rating",
"type": "string",
"value": "={{ $('Parse Data').item.json.rating }}"
},
{
"id": "be5630e6-6e6b-4c3b-a2ff-e2dd83e58754",
"name": "preferred_sessions",
"type": "string",
"value": "={{ $('Parse Data').item.json.preferred_sessions }}"
},
{
"id": "0bf1d1db-a760-4c8f-911c-2eab45f98dc2",
"name": "content_relevancy",
"type": "string",
"value": "={{ $('Parse Data').item.json.content_relevancy }}"
},
{
"id": "e1c61815-f86f-4065-b66c-cfab3a7d7f7e",
"name": "networking_opportunities",
"type": "string",
"value": "={{ $('Parse Data').item.json.networking_opportunities }}"
},
{
"id": "1f85ea63-bfd7-4408-8948-1f913fccea0c",
"name": "improvement_suggestions",
"type": "string",
"value": "={{ $('Parse Data').item.json.improvement_suggestions }}"
},
{
"id": "caf82dce-54d9-4f03-a056-18ccd63cdf09",
"name": "future_suggestions",
"type": "string",
"value": "={{ $('Parse Data').item.json.future_suggestions }}"
},
{
"id": "c5cf63e6-4ecb-41e2-be7d-b85b542d664a",
"name": "would_attend_again",
"type": "string",
"value": "={{ $('Parse Data').item.json.would_attend_again }}"
},
{
"id": "3bd3e6b9-8d2c-49f9-a3c8-4b60e1b00b2a",
"name": "additional_comments",
"type": "string",
"value": "={{ $('Parse Data').item.json.additional_comments }}"
},
{
"id": "7e4b9e19-43e5-4a01-9346-c33f34d29bc2",
"name": "open_to_contact",
"type": "string",
"value": "={{ $('Parse Data').item.json.open_to_contact }}"
},
{
"id": "4963e022-973c-408f-a5b1-714f4ea246f3",
"name": "submitted_at",
"type": "string",
"value": "={{ $('Parse Data').item.json.submitted_at }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "1feabf8b-6726-4d9d-8b13-081dc7555a11",
"name": "Code",
"type": "n8n-nodes-base.code",
"position": [
800,
-125
],
"parameters": {
"jsCode": "const id = $input.first().json.id;\n\nif (id !== undefined && id !== null && id !== '') {\n return [\n {\n json: {\n id: id\n }\n }\n ];\n}\n\nreturn [\n {\n json: {\n id: null\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "e9d702d3-1441-4215-bab0-399210a5f3f2",
"name": "If Document Exists",
"type": "n8n-nodes-base.if",
"position": [
1020,
-125
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "77cb5676-cea9-48df-b584-97b9e89b9cc8",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.id }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "a6c8f2d0-5957-44db-8dd1-1a1cfa53fc81",
"name": "Append Data",
"type": "n8n-nodes-base.microsoftExcel",
"position": [
1460,
-200
],
"parameters": {
"options": {
"rawData": true
},
"dataMode": "autoMap",
"resource": "worksheet",
"workbook": {
"__rl": true,
"mode": "id",
"value": "={{ $('Code').item.json.id }}"
},
"operation": "append",
"worksheet": {
"__rl": true,
"mode": "list",
"value": "{+1234567890+1234567890}",
"cachedResultName": "Sheet1"
}
},
"credentials": {
"microsoftExcelOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "ba6e76d2-86ae-41fd-9c24-352cbab3a08b",
"name": "End Workflow",
"type": "n8n-nodes-base.noOp",
"position": [
1900,
-125
],
"parameters": {},
"typeVersion": 1
},
{
"id": "2407a47e-b5be-4d2b-a6a1-5d599c0e3f98",
"name": "Notify Support",
"type": "n8n-nodes-base.microsoftOutlook",
"position": [
1680,
-125
],
"parameters": {
"subject": "New Feedback Submission Received",
"bodyContent": "=Hi Support Team,\n\n\ud83d\udcdd You\u2019ve received new feedback from a user. Here are the details:\n\n---\n\nSubmitted At: {{ $('Parse Data').item.json.submitted_at }}\nName: {{ $('Parse Data').item.json.full_name }}\nEmail: {{ $('Parse Data').item.json.email }}\nRating: {{ $('Parse Data').item.json.rating }}\nFeedback:\n{{ $('Parse Data').item.json.additional_comments }}\n\n---\n\nYou can view this feedback in your system or tracker.\n\nThank you, \nFeedback Notification System",
"toRecipients": "user@example.com",
"additionalFields": {}
},
"credentials": {
"microsoftOutlookOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "598dcce2-9c13-4d08-8193-e560937ac9c7",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
520,
40
],
"parameters": {
"color": 4,
"height": 120,
"content": "### \ud83d\udcc1 Update File Name\nPlease update the file name according to your requirements before proceeding.\n\n"
},
"typeVersion": 1
},
{
"id": "88b7a910-459c-4f5a-9b83-6097332fe578",
"name": "Sample File",
"type": "n8n-nodes-base.convertToFile",
"position": [
360,
-125
],
"parameters": {
"options": {
"fileName": "test-n8n-feedback-form-data.xlsx"
},
"operation": "xlsx"
},
"typeVersion": 1.1
},
{
"id": "5e06cc88-97c7-46a3-b090-e7a6abe34019",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
280,
-400
],
"parameters": {
"color": 3,
"width": 280,
"height": 260,
"content": "### \ud83d\udcc4 Sample Document Notice\nThis document will be used in the next step of the workflow to append new feedback data.\n\nTo ensure accurate tracking and centralized record-keeping, please upload the document to your OneDrive account before proceeding. This allows all future feedback submissions to be appended automatically."
},
"typeVersion": 1
},
{
"id": "e79b44b5-8285-467e-bf67-958269317688",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1600,
40
],
"parameters": {
"width": 280,
"height": 240,
"content": "### \u2709\ufe0f Customize Email Settings\nPlease update the following email details as needed:\n\nSubject \u2013 Set an appropriate subject line that reflects the content or purpose of the email.\n\nBody \u2013 Modify the message body to include relevant information and tone based on your audience."
},
"typeVersion": 1
}
],
"connections": {
"Code": {
"main": [
[
{
"node": "If Document Exists",
"type": "main",
"index": 0
}
]
]
},
"Parse Data": {
"main": [
[
{
"node": "Sample File",
"type": "main",
"index": 0
}
]
]
},
"Append Data": {
"main": [
[
{
"node": "Notify Support",
"type": "main",
"index": 0
}
]
]
},
"Sample File": {
"main": [
[
{
"node": "Search Document",
"type": "main",
"index": 0
}
]
]
},
"Notify Support": {
"main": [
[
{
"node": "End Workflow",
"type": "main",
"index": 0
}
]
]
},
"Search Document": {
"main": [
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"Build Sheet Data": {
"main": [
[
{
"node": "Append Data",
"type": "main",
"index": 0
}
]
]
},
"If Document Exists": {
"main": [
[
{
"node": "Build Sheet Data",
"type": "main",
"index": 0
}
],
[
{
"node": "Notify Support",
"type": "main",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "Parse Data",
"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.
microsoftExcelOAuth2ApimicrosoftOneDriveOAuth2ApimicrosoftOutlookOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This n8n workflow is designed to collect feedback through a web form, log the responses into an Excel file stored in Microsoft OneDrive, and notify the support team via email.
Source: https://n8n.io/workflows/4389/ — 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 workflow allows you to quickly generate and send invoices by collecting missing billing details from clients through an automated form and email sequence. It integrates Microsoft Outlook and Quic
Create viral TikTok videos effortlessly — no editing skills required!
This n8n workflow sends a real-time Slack notification when a user submits a contact form on your website. It also optionally sends a confirmation email via either Outlook or Gmail.
Loan eligibility workflow. Uses formTrigger, googleSheets, gmail. Event-driven trigger; 53 nodes.
spy tool. Uses gmailTool, httpRequest, formTrigger, stopAndError. Event-driven trigger; 52 nodes.