This workflow follows the Form Trigger → Google Drive 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "56e70371-54a2-4421-9ce2-e626d9c6ef60",
"name": "Form",
"type": "n8n-nodes-base.formTrigger",
"position": [
-440,
-120
],
"parameters": {
"options": {},
"formTitle": "Form",
"formFields": {
"values": [
{
"fieldLabel": "name",
"requiredField": true
}
]
}
},
"typeVersion": 2.2
},
{
"id": "7cbd263e-ca5b-436e-bdce-c30a66df73a6",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-440,
100
],
"parameters": {
"color": 3,
"width": 320,
"content": "\ud3fc\uc5d0 \uc778\uc99d\uc744 \ucd94\uac00\ud558\uc138\uc694. Basic Auth\ub97c \uc120\ud0dd\ud558\uc5ec \ubb34\ub2e8 \uc811\uadfc\uc744 \ubc29\uc9c0\ud558\uc138\uc694."
},
"typeVersion": 1
},
{
"id": "e1c4d0a8-6e48-45d9-bec6-ee8bb3751b4f",
"name": "Copy template file",
"type": "n8n-nodes-base.googleDrive",
"position": [
-220,
-120
],
"parameters": {
"name": "={{ $json.name }}",
"fileId": {
"__rl": true,
"mode": "list",
"value": "1KyR0UMIOpEkjwa6o1gTggNBP2A6EWwppV59Y6NQuDYw",
"cachedResultUrl": "https://docs.google.com/document/d/1KyR0UMIOpEkjwa6o1gTggNBP2A6EWwppV59Y6NQuDYw/edit?usp=drivesdk",
"cachedResultName": "Szablon: Dokument testowy"
},
"options": {},
"operation": "copy"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "52a27a15-ca68-4381-9a0d-faa1127d7de9",
"name": "Format form data",
"type": "n8n-nodes-base.code",
"position": [
0,
-120
],
"parameters": {
"jsCode": "const data = [];\n\nObject.keys($('Form').all().map((item) => {\n Object.keys(item.json).map((bodyProperty) => {\n data.push({\n key: bodyProperty,\n value: item.json[bodyProperty],\n });\n })\n}));\n\nreturn {\n webhook_data: data,\n pairedItem: 0,\n};"
},
"typeVersion": 2
},
{
"id": "08dbeb42-16f6-4771-bbf8-a358fda54097",
"name": "Format form data to Google Doc API",
"type": "n8n-nodes-base.code",
"position": [
220,
-120
],
"parameters": {
"jsCode": "const result = [];\n\n$('Format form data').all().map((item) => {\n item.json.webhook_data.map((data) => {\n if (\"submittedAt\" !== data.key && \"formMode\" !== data.key) {\n result.push({\n \"replaceAllText\": {\n \"containsText\": {\n \"text\": `{{${data.key}}}`, \n \"matchCase\": true\n },\n \"replaceText\": `${data.value}`\n },\n });\n }\n });\n})\n\nreturn {\n data: result,\n pairedItem: 0,\n};"
},
"typeVersion": 2
},
{
"id": "99b03034-8c9b-4e23-8cc9-bf9960a4e06a",
"name": "Replace data in Google Doc",
"type": "n8n-nodes-base.httpRequest",
"position": [
440,
-120
],
"parameters": {
"url": "=https://docs.googleapis.com/v1/documents/{{ $('Copy template file').first().json.id }}:batchUpdate",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "requests",
"value": "={{ $json.data }}"
}
]
},
"nodeCredentialType": "googleDocsOAuth2Api"
},
"credentials": {
"googleDocsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "204b57da-2791-40e3-84f5-23a0ed5c8beb",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-440,
-420
],
"parameters": {
"color": 6,
"width": 520,
"height": 180,
"content": "# \ud83d\ude4b\u200d\u2642\ufe0f \n\uc6cc\ud06c\ud50c\ub85c\uc6b0\ub294 \ubaa8\ub4e0 \uc591\uc2dd \ud544\ub4dc\ub97c \uc790\ub3d9\uc73c\ub85c \uac00\uc838\uc640 Google \ubb38\uc11c\uc5d0\uc11c \ubcc0\uc218\ub85c \ubcc0\ud658\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uc591\uc2dd\uc5d0 \"address\"\ub77c\ub294 \uc774\ub984\uc758 \ud14d\uc2a4\ud2b8 \ud544\ub4dc\ub97c \ucd94\uac00\ud558\uba74, Google \ubb38\uc11c \ud15c\ud50c\ub9bf\uc5d0\uc11c {{address}} \ubcc0\uc218\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."
},
"typeVersion": 1
},
{
"id": "fa17044d-191e-45eb-9559-563889ad2aef",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
440,
100
],
"parameters": {
"color": 3,
"content": "# \ud83d\udc46 \n\uc778\uc99d\uc5d0\uc11c \ubbf8\ub9ac \uc815\uc758\ub41c \uc790\uaca9 \uc99d\uba85 \uc720\ud615\uc744 \uc120\ud0dd\ud55c \ub2e4\uc74c Google Docs OAuth API\ub97c \uc120\ud0dd\ud558\uc138\uc694."
},
"typeVersion": 1
}
],
"connections": {
"Form": {
"main": [
[
{
"node": "Copy template file",
"type": "main",
"index": 0
}
]
]
},
"Format form data": {
"main": [
[
{
"node": "Format form data to Google Doc API",
"type": "main",
"index": 0
}
]
]
},
"Copy template file": {
"main": [
[
{
"node": "Format form data",
"type": "main",
"index": 0
}
]
]
},
"Replace data in Google Doc": {
"main": [
[]
]
},
"Format form data to Google Doc API": {
"main": [
[
{
"node": "Replace data in Google Doc",
"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.
googleDocsOAuth2ApigoogleDriveOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Workflow 3145. Uses formTrigger, googleDrive, httpRequest. Event-driven trigger; 8 nodes.
Source: https://github.com/n8nKOR/n8n-shared-workflow/blob/62a671327e906c22a40d290b339ff6d2373f8d75/workflows/n8n-workflows-by-Zie619/devops/3145_workflow_3145.json — 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.
The Sora 2 API allows seamless generation of CGI ads, turning text prompts into stunning videos. This workflow automates the entire process from video generation to upload, notification, and file shar
Formtrigger Workflow. Uses formTrigger, googleDrive, httpRequest, stopAndError. Event-driven trigger; 28 nodes.
Formtrigger Workflow. Uses formTrigger, googleDrive, httpRequest, stopAndError. Event-driven trigger; 28 nodes.
Create CGI ads effortlessly by integrating the Google Veo3 API for video generation and uploading to Google Drive with seamless email notifications. On form submission: Triggers the workflow when a fo
This workflow automates the process of generating videos using the Veo 3 Fast API, uploading the video to Google Drive, and notifying the user via email. All tasks are executed seamlessly, ensuring a