This workflow corresponds to n8n.io template #14884 — we link there as the canonical source.
This workflow follows the Agent → Chat 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": "Rd9hyNMEz2iWkTqW",
"name": "Seedance Crowd Simulation Previs with Chat Input and Pass Generation",
"tags": [],
"nodes": [
{
"id": "b6fc2d4c-535c-45d6-80fc-e3fdc61cd0d7",
"name": "Chat: Receive Crowd Brief",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
144,
608
],
"parameters": {},
"typeVersion": 1.4
},
{
"id": "7466db0b-a2bb-4452-a404-5315731c3602",
"name": "Structure Passes as Batch Items",
"type": "n8n-nodes-base.code",
"position": [
816,
608
],
"parameters": {},
"typeVersion": 2
},
{
"id": "a026fb99-1cab-42db-a5c0-2c23572e6d19",
"name": "Build Seedance Request",
"type": "n8n-nodes-base.code",
"position": [
1024,
608
],
"parameters": {},
"typeVersion": 2
},
{
"id": "acc2a4d1-8363-42a3-8c92-d171dcdeedac",
"name": "Seedance: Submit Pass",
"type": "n8n-nodes-base.httpRequest",
"position": [
1232,
608
],
"parameters": {},
"typeVersion": 4.3
},
{
"id": "83600d50-4c62-4870-92f7-47437ca2ecd3",
"name": "Store Job ID with Pass Data",
"type": "n8n-nodes-base.code",
"position": [
1472,
608
],
"parameters": {},
"typeVersion": 2
},
{
"id": "ba45d7ef-86c1-470f-a33e-e084bb5b04a7",
"name": "Poll: Job Status",
"type": "n8n-nodes-base.httpRequest",
"position": [
1712,
608
],
"parameters": {},
"typeVersion": 4.3
},
{
"id": "15656ea3-246e-484a-aa3a-a309b553f1db",
"name": "Done?",
"type": "n8n-nodes-base.if",
"position": [
1952,
608
],
"parameters": {},
"typeVersion": 2
},
{
"id": "38991fa1-5b89-4c7f-8700-5fbe1bfe3f32",
"name": "Collect Completed Pass",
"type": "n8n-nodes-base.code",
"position": [
2432,
592
],
"parameters": {},
"typeVersion": 2
},
{
"id": "a8967f66-b2c6-45fd-9920-68dcf39a23fc",
"name": "Compile Full Previs Package",
"type": "n8n-nodes-base.code",
"position": [
2624,
592
],
"parameters": {},
"typeVersion": 2
},
{
"id": "7d8be8bc-632d-4cf1-82c6-d53ac064b6f3",
"name": "Slack: Deliver to Layout Team",
"type": "n8n-nodes-base.slack",
"position": [
2960,
320
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "bfcc884f-2f5d-4ac8-9ef6-01b5babc5dbb",
"name": "Email: Layout Guide to Team",
"type": "n8n-nodes-base.gmail",
"position": [
2992,
592
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "6c593b59-9f44-4dba-b601-4ea3585b0288",
"name": "Wait 20s1",
"type": "n8n-nodes-base.wait",
"position": [
2224,
800
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "516b35cf-75d2-42c9-9905-9578c524940a",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
464,
608
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "7b56ae99-22e4-436f-9731-97090fbd9dc7",
"name": "Azure OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
"position": [
384,
864
],
"parameters": {},
"typeVersion": 1
},
{
"id": "4b9ddacd-0771-475f-9719-86fd7a950609",
"name": "Overview: AI Crowd Previs",
"type": "n8n-nodes-base.stickyNote",
"position": [
-624,
-272
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "5a7b2059-264a-44af-82c6-a116ea7a6505",
"name": "Section: Trigger & AI Parsing",
"type": "n8n-nodes-base.stickyNote",
"position": [
80,
368
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "f3bbaac1-5635-4aca-a11c-33b574e11b7e",
"name": "Section: Pass Builder & Submission",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
368
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "2a9e9a2f-e9c0-4a24-8e2b-ee837bd00d2b",
"name": "Section: Polling Loop",
"type": "n8n-nodes-base.stickyNote",
"position": [
1648,
368
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b2c2b309-8d4a-4ae0-9386-d44922804c75",
"name": "Section: Package Compilation",
"type": "n8n-nodes-base.stickyNote",
"position": [
2368,
384
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "810564f5-7e93-4800-89a4-a932c36ce619",
"name": "Section: Delivery",
"type": "n8n-nodes-base.stickyNote",
"position": [
2864,
192
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "4755508e-7302-436e-a261-262731ab97f3",
"name": "Security: Credentials Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
3392,
848
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "95aaf446-ce1d-4f6c-86ae-891ff2b0f00d",
"name": "Append The Data in the Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
3008,
864
],
"parameters": {},
"typeVersion": 4.7
}
],
"active": false,
"settings": {
"binaryMode": "separate",
"executionOrder": "v1"
},
"versionId": "aa2212fe-4814-4461-91e9-a690ca14f888",
"connections": {
"Done?": {
"main": [
[
{
"node": "Collect Completed Pass",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait 20s1",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Structure Passes as Batch Items",
"type": "main",
"index": 0
}
]
]
},
"Wait 20s1": {
"main": [
[
{
"node": "Poll: Job Status",
"type": "main",
"index": 0
}
]
]
},
"Poll: Job Status": {
"main": [
[
{
"node": "Done?",
"type": "main",
"index": 0
}
]
]
},
"Seedance: Submit Pass": {
"main": [
[
{
"node": "Store Job ID with Pass Data",
"type": "main",
"index": 0
}
]
]
},
"Build Seedance Request": {
"main": [
[
{
"node": "Seedance: Submit Pass",
"type": "main",
"index": 0
}
]
]
},
"Collect Completed Pass": {
"main": [
[
{
"node": "Compile Full Previs Package",
"type": "main",
"index": 0
}
]
]
},
"Azure OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Chat: Receive Crowd Brief": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Compile Full Previs Package": {
"main": [
[
{
"node": "Slack: Deliver to Layout Team",
"type": "main",
"index": 0
},
{
"node": "Email: Layout Guide to Team",
"type": "main",
"index": 0
},
{
"node": "Append The Data in the Sheet",
"type": "main",
"index": 0
}
]
]
},
"Store Job ID with Pass Data": {
"main": [
[
{
"node": "Poll: Job Status",
"type": "main",
"index": 0
}
]
]
},
"Structure Passes as Batch Items": {
"main": [
[
{
"node": "Build Seedance Request",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow is an AI-driven crowd previs generation pipeline designed for VFX and layout teams. It converts a natural language crowd brief into structured cinematic crowd simulations, generates multiple AI-driven video passes, builds a crowd zone map for layout planning, and…
Source: https://n8n.io/workflows/14884/ — 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 automatically generates short-form AI videos using both OpenAI Sora 2 Pro and Google Veo 3.1, enhances your idea with Google Gemini, and publishes content across multiple platforms throu
Automate your weekly social media analytics with this end-to-end AI reporting workflow. 📊🤖 This system collects real-time Twitter (X) and Facebook metrics, merges and validates data, formats it with J
Streamline the final stage of your content production workflow by automating publishing, formatting, metadata generation, and approval routing. This AI-powered subworkflow pulls optimized drafts from
This workflow is ideal for filmmakers, video producers, content creators, and location managers who need to quickly build a database of potential shooting locations without manual research and data en
💰 Beginner Investor – Learn the market faster with AI-powered insights guiding your decisions. 📈 Retail Trader – Optimize your trading strategy with in-depth analysis typically reserved for profession