This workflow corresponds to n8n.io template #14641 — we link there as the canonical source.
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": "b0278982-6bae-41e2-a2e7-da4370bc202a",
"name": "Main \u2014 Overview & Setup",
"type": "n8n-nodes-base.stickyNote",
"position": [
2336,
1344
],
"parameters": {
"width": 400,
"height": 716,
"content": "## Customer Testimonial Clip Extractor\n\n### How it works\nA hosted form collects a testimonial video URL along with client details. The video is submitted to WayinVideo, which uses AI to detect the most impactful moments and generate up to 5 vertical clips. After a 90-second processing wait, each clip is downloaded and uploaded to a specified Google Drive folder \u2014 named and ready to use.\n\n### Setup\n1. Replace YOUR_WAYIN_API_KEY in nodes 2 and 4 with your WayinVideo bearer token\n2. Create a Google Drive OAuth2 credential in n8n and connect it to node 7\n3. Replace YOUR_GOOGLE_DRIVE_FOLDER_ID in node 7 with your target Drive folder ID\n4. Activate the workflow and open the form URL to submit your first video\n\n### Customization Tips\n- Change ratio from RATIO_9_16 to RATIO_16_9 for landscape output\n- Adjust the limit value in node 2 to control how many clips are extracted\n- Add a Gmail or Slack node after node 7 to notify your team when uploads are complete"
},
"typeVersion": 1
},
{
"id": "8b49493e-b9b1-4b97-bc8a-e709fae15822",
"name": "Section \u2014 Input",
"type": "n8n-nodes-base.stickyNote",
"position": [
2752,
1424
],
"parameters": {
"color": 5,
"width": 268,
"height": 100,
"content": "Section 1 \u2014 Input\nCollects the testimonial video URL, client name, industry, and intended clip usage via a hosted n8n form."
},
"typeVersion": 1
},
{
"id": "abdec395-f78a-4141-826a-e4c68fae3598",
"name": "Section \u2014 Submit and Wait",
"type": "n8n-nodes-base.stickyNote",
"position": [
3040,
1424
],
"parameters": {
"color": 5,
"width": 464,
"height": 100,
"content": "Section 2 \u2014 Submit and Wait\nSends the video to WayinVideo for AI clip extraction, then waits 90 seconds before fetching the results."
},
"typeVersion": 1
},
{
"id": "4577fce6-38e3-4127-8255-7474508818d5",
"name": "Section \u2014 Fetch Results",
"type": "n8n-nodes-base.stickyNote",
"position": [
3536,
1424
],
"parameters": {
"color": 5,
"width": 304,
"height": 100,
"content": "Section 3 \u2014 Fetch Results\nRetrieves completed clip data from WayinVideo using the Job ID returned during submission."
},
"typeVersion": 1
},
{
"id": "003c58a8-16d8-4de5-9178-787dddef4d21",
"name": "Section \u2014 Extract and Upload",
"type": "n8n-nodes-base.stickyNote",
"position": [
3888,
1424
],
"parameters": {
"color": 5,
"width": 656,
"height": 100,
"content": "Section 4 \u2014 Extract, Download and Upload\nSplits the clips array, downloads each video file, and uploads it to the configured Google Drive folder with the AI-generated clip title."
},
"typeVersion": 1
},
{
"id": "820b8f12-1e2f-4c3a-926b-49e790fed579",
"name": "Warning \u2014 Fixed Wait Risk",
"type": "n8n-nodes-base.stickyNote",
"position": [
3040,
1776
],
"parameters": {
"color": 3,
"width": 960,
"height": 108,
"content": "WARNING \u2014 Fixed Wait May Not Be Enough\nThis workflow waits exactly 90 seconds before fetching results. Long videos (30 minutes or more) may not finish processing in time, causing an empty result and a failed run. If you process long videos, increase the wait time in node 3, or replace the Wait and single Fetch pattern with a loop using an IF node to retry until the result is ready."
},
"typeVersion": 1
},
{
"id": "f24e2db2-fe55-4862-9486-7fea993e6d17",
"name": "1. Form \u2014 Testimonial Video and Details",
"type": "n8n-nodes-base.formTrigger",
"position": [
2800,
1568
],
"parameters": {
"options": {},
"formTitle": "Customer Testimonial Clip Extractor",
"formFields": {
"values": [
{
"fieldLabel": "Testimonial Video URL",
"placeholder": "https://zoom.us/rec/xxxxxxx or YouTube/Vimeo link",
"requiredField": true
},
{
"fieldLabel": "Client / Customer Name",
"placeholder": "e.g. Rahul Sharma / ABC Digital Solutions",
"requiredField": true
},
{
"fieldLabel": "Industry / Niche",
"placeholder": "e.g. E-commerce, SaaS, Real Estate, Healthcare",
"requiredField": true
},
{
"fieldLabel": "Where Will Clips Be Used",
"placeholder": "e.g. Website, Instagram Reels, Paid Ads, Sales Deck",
"requiredField": true
}
]
},
"formDescription": "Paste your customer interview or testimonial video URL. AI will automatically extract the most impactful moments and upload the clips directly to Google Drive."
},
"typeVersion": 2.2
},
{
"id": "4a588e39-20f4-4a66-806c-ff16114428d4",
"name": "2. WayinVideo \u2014 Submit Clipping Task",
"type": "n8n-nodes-base.httpRequest",
"position": [
3040,
1568
],
"parameters": {
"url": "https://wayinvideo-api.wayin.ai/api/v2/clips",
"method": "POST",
"options": {},
"jsonBody": "={\n \"video_url\": \"{{ $json['Testimonial Video URL'] }}\",\n \"project_name\": \"Testimonial - {{ $json['Client / Customer Name'] }}\",\n \"target_duration\": \"DURATION_30_60\",\n \"limit\": 5,\n \"enable_export\": true,\n \"resolution\": \"HD_720\",\n \"enable_caption\": true,\n \"caption_display\": \"original\",\n \"cc_style_tpl\": \"temp-7\",\n \"enable_ai_reframe\": true,\n \"ratio\": \"RATIO_9_16\",\n \"target_lang\": \"en\"\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer YOUR_TOKEN_HERE"
},
{
"name": "x-wayinvideo-api-version",
"value": "v2"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "3efc4198-901d-446d-9f68-1cd0a78644f8",
"name": "3. Wait \u2014 90 Seconds",
"type": "n8n-nodes-base.wait",
"position": [
3280,
1568
],
"parameters": {
"amount": 90
},
"typeVersion": 1.1
},
{
"id": "7740542e-9af6-49a8-8f85-4e17749e9801",
"name": "4. WayinVideo \u2014 Get Clip Results",
"type": "n8n-nodes-base.httpRequest",
"position": [
3568,
1568
],
"parameters": {
"url": "=https://wayinvideo-api.wayin.ai/api/v2/clips/results/{{ $('2. WayinVideo \u2014 Submit Clipping Task').item.json.data.id }}",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer YOUR_TOKEN_HERE"
},
{
"name": "x-wayinvideo-api-version",
"value": "v2"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "c28a645b-241d-46f8-99c5-df547d1d7cae",
"name": "5. Code \u2014 Extract Clips Array",
"type": "n8n-nodes-base.code",
"position": [
3888,
1568
],
"parameters": {
"jsCode": "const clips = $json.data.clips;\n\nreturn clips.map(clip => ({\n json: {\n title: clip.title,\n export_link: clip.export_link,\n score: clip.score,\n tags: clip.tags,\n desc: clip.desc,\n begin_ms: clip.begin_ms,\n end_ms: clip.end_ms\n }\n}));"
},
"typeVersion": 2
},
{
"id": "b9940268-e27f-4522-a6de-7afdff8fcb80",
"name": "6. HTTP \u2014 Download Clip File",
"type": "n8n-nodes-base.httpRequest",
"position": [
4160,
1568
],
"parameters": {
"url": "={{ $json.export_link }}",
"options": {
"response": {
"response": {
"responseFormat": "file"
}
}
}
},
"typeVersion": 4.4
},
{
"id": "a760b816-70ca-469d-aaa0-ce5863d2a625",
"name": "7. Google Drive \u2014 Upload Clip",
"type": "n8n-nodes-base.googleDrive",
"position": [
4448,
1568
],
"parameters": {
"name": "={{ $('5. Code \u2014 Extract Clips Array').item.json.title }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "YOUR_GOOGLE_DRIVE_FOLDER_ID",
"cachedResultUrl": "https://drive.google.com/drive/folders/YOUR_GOOGLE_DRIVE_FOLDER_ID",
"cachedResultName": "YOUR_FOLDER_NAME"
},
"inputDataFieldName": "=data"
},
"typeVersion": 3
}
],
"connections": {
"3. Wait \u2014 90 Seconds": {
"main": [
[
{
"node": "4. WayinVideo \u2014 Get Clip Results",
"type": "main",
"index": 0
}
]
]
},
"6. HTTP \u2014 Download Clip File": {
"main": [
[
{
"node": "7. Google Drive \u2014 Upload Clip",
"type": "main",
"index": 0
}
]
]
},
"5. Code \u2014 Extract Clips Array": {
"main": [
[
{
"node": "6. HTTP \u2014 Download Clip File",
"type": "main",
"index": 0
}
]
]
},
"4. WayinVideo \u2014 Get Clip Results": {
"main": [
[
{
"node": "5. Code \u2014 Extract Clips Array",
"type": "main",
"index": 0
}
]
]
},
"2. WayinVideo \u2014 Submit Clipping Task": {
"main": [
[
{
"node": "3. Wait \u2014 90 Seconds",
"type": "main",
"index": 0
}
]
]
},
"1. Form \u2014 Testimonial Video and Details": {
"main": [
[
{
"node": "2. WayinVideo \u2014 Submit Clipping Task",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Paste any customer interview or testimonial video URL into a simple form — and the workflow handles everything from there. WayinVideo AI scans the full video and automatically cuts the most impactful moments into up to 5 vertical clips. Each clip is downloaded and saved directly…
Source: https://n8n.io/workflows/14641/ — 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