AutomationFlowsGeneral › Wf-400 Media Production Pack Canonical

Wf-400 Media Production Pack Canonical

WF-400 Media Production Pack Canonical. Uses executeWorkflowTrigger. Event-driven trigger; 17 nodes.

Event trigger★★★★☆ complexity17 nodesExecute Workflow Trigger
General Trigger: Event Nodes: 17 Complexity: ★★★★☆ Added:

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 →

Download .json
{
  "name": "WF-400 Media Production Pack Canonical",
  "description": "Runs media production lane: thumbnails \u2192 visual assets \u2192 audio optimization \u2192 media packaging.",
  "nodes": [
    {
      "parameters": {},
      "id": "wf400_trigger_node",
      "name": "Trigger Node",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "typeVersion": 1,
      "position": [
        200,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "return [{ json: { ...$json, dossier_context: { dossier_id: $json.dossier_id || 'DOSSIER-UNSPECIFIED', pack: 'WF-400', loaded_at: new Date().toISOString(), route: $json.route_id || 'ROUTE_PHASE1_STANDARD', context_ready: !!$json.context_engineering_packet } } }];"
      },
      "id": "wf400_dossier_load_node",
      "name": "Dossier Load Node",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        420,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "return [{ json: { ...$json, pack_context: { child_workflows: ['CWF-410-thumbnail-generator', 'CWF-420-visual-asset-planner', 'CWF-430-audio-script-optimizer', 'CWF-440-media-package-finalizer'], primary_director: 'Krishna', strategic_authority: 'Krishna', governance_authority: ['Durga', 'Saraswati'] } } }];"
      },
      "id": "wf400_pack_initialization_node",
      "name": "Pack Initialization Node",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        640,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "const childWorkflows = ['CWF-410', 'CWF-420', 'CWF-430', 'CWF-440'];\nlet executionPlan = { workflows_to_execute: childWorkflows, current_index: 0, status: 'PLANNING', asset_assembly_required: true };\nreturn [{ json: { ...$json, execution_plan: executionPlan, pack_orchestration: { started_at: new Date().toISOString(), expected_duration_seconds: 240 } } }];"
      },
      "id": "wf400_execution_planner_node",
      "name": "Execution Planner Node",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        860,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "const childResults = { CWF_410: $json.cwf410_result, CWF_420: $json.cwf420_result, CWF_430: $json.cwf430_result, CWF_440: $json.cwf440_result };\nconst allHealthy = Object.values(childResults).every(r => r?.status === 'SUCCESS' || r?.status === 'COMPLETED');\nconst thumbnailsGenerated = $json.cwf410_result?.payload?.thumbnail_variants_count >= 3;\nconst visualAssetsPlanned = $json.cwf420_result?.payload?.visual_assets_planned === true;\nconst audioOptimized = $json.cwf430_result?.payload?.audio_optimization_complete === true;\nconst mediaPackaged = $json.cwf440_result?.payload?.media_package_assembled === true;\nconst validationOk = allHealthy && thumbnailsGenerated && visualAssetsPlanned && audioOptimized && mediaPackaged;\nreturn [{ json: { ...$json, pack_validation: { child_results_aggregated: childResults, all_children_healthy: allHealthy, thumbnails_generated: thumbnailsGenerated, visual_assets_planned: visualAssetsPlanned, audio_optimized: audioOptimized, media_packaged: mediaPackaged, validation_ok: validationOk, route_to_error: !validationOk } } }];"
      },
      "id": "wf400_pack_validation_node",
      "name": "Pack Validation Node",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1080,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "if ($json.pack_validation.route_to_error) return [];\nreturn [{\n  json: {\n    ...$json,\n    dossier_write: {\n      mutation_type: 'namespace_update',\n      target: 'dossier.media',\n      timestamp: new Date().toISOString(),\n      writer_id: 'WF-400',\n      pack_context: $json.pack_context,\n      child_results: $json.pack_validation.child_results_aggregated,\n      audit_entry: 'media-production-pack-completion from WF-400'\n    }\n  }\n}];"
      },
      "id": "wf400_dossier_write_node",
      "name": "Dossier Media Write Node",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1300,
        200
      ]
    },
    {
      "parameters": {
        "jsCode": "if ($json.pack_validation.route_to_error) return [];\nreturn [{\n  json: {\n    ...$json,\n    se_route_runs_write: {\n      operation: 'record_pack_execution',\n      pack_id: 'WF-400',\n      dossier_id: $json.dossier_id,\n      child_workflows_executed: ['CWF-410', 'CWF-420', 'CWF-430', 'CWF-440'],\n      execution_status: 'COMPLETED',\n      media_packaged: $json.pack_validation.media_packaged,\n      timestamp: new Date().toISOString()\n    }\n  }\n}];"
      },
      "id": "wf400_route_runs_write_node",
      "name": "se_route_runs Write Node",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1520,
        200
      ]
    },
    {
      "parameters": {
        "jsCode": "if ($json.pack_validation.route_to_error) return [];\nreturn [{\n  json: {\n    workflow_id: 'WF-400',\n    execution_status: 'SUCCESS',\n    completion_packet: {\n      instance_id: 'WF-400-COMP-' + Date.now(),\n      artifact_family: 'media_production_result',\n      schema_version: '1.0.0',\n      producer_workflow: 'WF-400',\n      dossier_ref: $json.dossier_id,\n      created_at: new Date().toISOString(),\n      status: 'CREATED',\n      payload: {\n        pack_executed: 'WF-400',\n        media_packaged: $json.pack_validation.media_packaged,\n        next_workflow: 'WF-500',\n        child_packets: ['CWF-410_output', 'CWF-420_output', 'CWF-430_output', 'CWF-440_output']\n      }\n    }\n  }\n}];"
      },
      "id": "wf400_completion_packet_emission_node",
      "name": "Completion Packet Emission Node",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1740,
        200
      ]
    },
    {
      "parameters": {
        "jsCode": "if (!$json.pack_validation.route_to_error) return [];\nreturn [{\n  json: {\n    workflow_id: 'WF-400',\n    routing_decision: 'ERROR',\n    route_to_workflow: 'WF-900',\n    error_message: 'Pack validation failed or media assembly failed',\n    failure_context: $json.pack_validation,\n    child_results: $json.pack_validation.child_results_aggregated\n  }\n}];"
      },
      "id": "wf400_error_routing_node",
      "name": "Error Routing WF-900 Node",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1300,
        420
      ]
    },
    {
      "id": "wf400_execute_cwf410_node",
      "name": "Execute CWF-410 Thumbnail Generator",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.2,
      "position": [
        1080,
        300
      ],
      "parameters": {
        "source": "database",
        "workflowId": {
          "__rl": true,
          "value": "o4lBg1mtZURFtaqN",
          "mode": "id",
          "cachedResultName": "CWF-410 Thumbnail Generator Canonical"
        },
        "mode": "each",
        "options": {
          "waitForSubWorkflow": true
        }
      },
      "continueOnFail": true
    },
    {
      "id": "wf400_capture_cwf410_node",
      "name": "Capture CWF-410 Result",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1330,
        300
      ],
      "parameters": {
        "jsCode": "const subOutput = $json || {};\nlet parentCtx = {};\ntry { parentCtx = $('Execution Planner Node').first().json || {}; } catch(e) {}\nconst acc = { ...parentCtx };\nacc[\"cwf410_result\"] = {\n  status: subOutput.execution_status || subOutput.status || 'SUCCESS',\n  payload: subOutput.completion_packet || subOutput.payload || subOutput,\n  captured_at: new Date().toISOString()\n};\nreturn [{ json: acc }];"
      }
    },
    {
      "id": "wf400_execute_cwf420_node",
      "name": "Execute CWF-420 Visual Asset Planner",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.2,
      "position": [
        1580,
        300
      ],
      "parameters": {
        "source": "database",
        "workflowId": {
          "__rl": true,
          "value": "132TdDgROIFwhcGj",
          "mode": "id",
          "cachedResultName": "CWF-420 Visual Asset Planner Canonical"
        },
        "mode": "each",
        "options": {
          "waitForSubWorkflow": true
        }
      },
      "continueOnFail": true
    },
    {
      "id": "wf400_capture_cwf420_node",
      "name": "Capture CWF-420 Result",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1830,
        300
      ],
      "parameters": {
        "jsCode": "const subOutput = $json || {};\nlet parentCtx = {};\ntry { parentCtx = $('Execution Planner Node').first().json || {}; } catch(e) {}\nconst acc = { ...parentCtx };\ntry { const c = $('Capture CWF-410 Result').first(); if (c) acc[\"cwf410_result\"] = c.json[\"cwf410_result\"] || c.json; } catch(e) {}\nacc[\"cwf420_result\"] = {\n  status: subOutput.execution_status || subOutput.status || 'SUCCESS',\n  payload: subOutput.completion_packet || subOutput.payload || subOutput,\n  captured_at: new Date().toISOString()\n};\nreturn [{ json: acc }];"
      }
    },
    {
      "id": "wf400_execute_cwf430_node",
      "name": "Execute CWF-430 Audio Optimizer",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.2,
      "position": [
        2080,
        300
      ],
      "parameters": {
        "source": "database",
        "workflowId": {
          "__rl": true,
          "value": "8CKfOEoJF7Gn8wZ0",
          "mode": "id",
          "cachedResultName": "CWF-430 Audio Script Optimizer Canonical"
        },
        "mode": "each",
        "options": {
          "waitForSubWorkflow": true
        }
      },
      "continueOnFail": true
    },
    {
      "id": "wf400_capture_cwf430_node",
      "name": "Capture CWF-430 Result",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        2330,
        300
      ],
      "parameters": {
        "jsCode": "const subOutput = $json || {};\nlet parentCtx = {};\ntry { parentCtx = $('Execution Planner Node').first().json || {}; } catch(e) {}\nconst acc = { ...parentCtx };\ntry { const c = $('Capture CWF-410 Result').first(); if (c) acc[\"cwf410_result\"] = c.json[\"cwf410_result\"] || c.json; } catch(e) {}\ntry { const c = $('Capture CWF-420 Result').first(); if (c) acc[\"cwf420_result\"] = c.json[\"cwf420_result\"] || c.json; } catch(e) {}\nacc[\"cwf430_result\"] = {\n  status: subOutput.execution_status || subOutput.status || 'SUCCESS',\n  payload: subOutput.completion_packet || subOutput.payload || subOutput,\n  captured_at: new Date().toISOString()\n};\nreturn [{ json: acc }];"
      }
    },
    {
      "id": "wf400_execute_cwf440_node",
      "name": "Execute CWF-440 Media Finalizer",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.2,
      "position": [
        2580,
        300
      ],
      "parameters": {
        "source": "database",
        "workflowId": {
          "__rl": true,
          "value": "XAXHS0oYmUanPInV",
          "mode": "id",
          "cachedResultName": "CWF-440 Media Package Finalizer Canonical"
        },
        "mode": "each",
        "options": {
          "waitForSubWorkflow": true
        }
      },
      "continueOnFail": true
    },
    {
      "id": "wf400_capture_cwf440_node",
      "name": "Capture CWF-440 Result",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        2830,
        300
      ],
      "parameters": {
        "jsCode": "const subOutput = $json || {};\nlet parentCtx = {};\ntry { parentCtx = $('Execution Planner Node').first().json || {}; } catch(e) {}\nconst acc = { ...parentCtx };\ntry { const c = $('Capture CWF-410 Result').first(); if (c) acc[\"cwf410_result\"] = c.json[\"cwf410_result\"] || c.json; } catch(e) {}\ntry { const c = $('Capture CWF-420 Result').first(); if (c) acc[\"cwf420_result\"] = c.json[\"cwf420_result\"] || c.json; } catch(e) {}\ntry { const c = $('Capture CWF-430 Result').first(); if (c) acc[\"cwf430_result\"] = c.json[\"cwf430_result\"] || c.json; } catch(e) {}\nacc[\"cwf440_result\"] = {\n  status: subOutput.execution_status || subOutput.status || 'SUCCESS',\n  payload: subOutput.completion_packet || subOutput.payload || subOutput,\n  captured_at: new Date().toISOString()\n};\nreturn [{ json: acc }];"
      }
    }
  ],
  "connections": {
    "Trigger Node": {
      "main": [
        [
          {
            "node": "Dossier Load Node",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Dossier Load Node": {
      "main": [
        [
          {
            "node": "Pack Initialization Node",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pack Initialization Node": {
      "main": [
        [
          {
            "node": "Execution Planner Node",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Execution Planner Node": {
      "main": [
        [
          {
            "node": "Execute CWF-410 Thumbnail Generator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pack Validation Node": {
      "main": [
        [
          {
            "node": "Dossier Media Write Node",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Error Routing WF-900 Node",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Dossier Media Write Node": {
      "main": [
        [
          {
            "node": "se_route_runs Write Node",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "se_route_runs Write Node": {
      "main": [
        [
          {
            "node": "Completion Packet Emission Node",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Completion Packet Emission Node": {
      "main": [
        []
      ]
    },
    "Error Routing WF-900 Node": {
      "main": [
        []
      ]
    },
    "Execute CWF-410 Thumbnail Generator": {
      "main": [
        [
          {
            "node": "Capture CWF-410 Result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Capture CWF-410 Result": {
      "main": [
        [
          {
            "node": "Execute CWF-420 Visual Asset Planner",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Execute CWF-420 Visual Asset Planner": {
      "main": [
        [
          {
            "node": "Capture CWF-420 Result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Capture CWF-420 Result": {
      "main": [
        [
          {
            "node": "Execute CWF-430 Audio Optimizer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Execute CWF-430 Audio Optimizer": {
      "main": [
        [
          {
            "node": "Capture CWF-430 Result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Capture CWF-430 Result": {
      "main": [
        [
          {
            "node": "Execute CWF-440 Media Finalizer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Execute CWF-440 Media Finalizer": {
      "main": [
        [
          {
            "node": "Capture CWF-440 Result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Capture CWF-440 Result": {
      "main": [
        [
          {
            "node": "Pack Validation Node",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "meta": {
    "workflow_id": "WF-400",
    "phase": "phase4",
    "vein": "media_vein",
    "purpose": "Media production pack parent (deferred).",
    "implementation_depth": "production_grade",
    "owner_director": "narada",
    "next_workflow": "WF-500",
    "canonical_file": "n8n/workflows/WF-400.json",
    "wf900_error_route": "WF-900",
    "phase2_chaining": {
      "applied_at": "2026-04-29",
      "pattern": "cwf410_to_cwf440_sequential",
      "acceptance": "all_children_must_execute"
    }
  },
  "active": true
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

WF-400 Media Production Pack Canonical. Uses executeWorkflowTrigger. Event-driven trigger; 17 nodes.

Source: https://github.com/justkalpane/Shadow-Creator-OS-Phase_01/blob/0447c2f91c0b7669a61f768fac60fa911acf2cc5/n8n/workflows/WF-400.json — original creator credit. Request a take-down →

More General workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

General

Agendamiento. Uses n8n-nodes-evolution-api, redis, dataTable, executeWorkflowTrigger. Event-driven trigger; 60 nodes.

N8N Nodes Evolution Api, Redis, Data Table +2
General

Prevent concurrent workflow runs using Redis. Uses executeWorkflowTrigger, manualTrigger, stickyNote, executeWorkflow. Event-driven trigger; 43 nodes.

Execute Workflow Trigger, Redis, Stop And Error
General

This workflow sets a small "lock" value in Redis so that only one copy of a long job can run at the same time. If another trigger fires while the job is still busy, the workflow sees the lock, stops e

Execute Workflow Trigger, Redis, Stop And Error
General

Reputation Engine — Site Refresh. Uses httpRequest, executeWorkflowTrigger. Event-driven trigger; 35 nodes.

HTTP Request, Execute Workflow Trigger
General

Using n8n a lot?

Execute Workflow Trigger, XML, Move Binary Data +1