{
  "name": "conductor_agent_multi_agent",
  "version": 1,
  "schemaVersion": 2,
  "description": "Framework-agnostic Conductor Agents recipe: a FORK_JOIN fans out to two deployed specialist AGENT tasks, then a JOIN collects both. Each branch has an independent executionId and polls without blocking a worker thread.",
  "timeoutSeconds": 1200,
  "timeoutPolicy": "TIME_OUT_WF",
  "tasks": [
    {
      "name": "fork_agents",
      "taskReferenceName": "fork_agents_ref",
      "type": "FORK_JOIN",
      "forkTasks": [
        [
          {
            "name": "run_planner",
            "taskReferenceName": "run_planner_ref",
            "type": "AGENT",
            "inputParameters": {
              "agentType": "conductor",
              "name": "planner",
              "prompt": "${workflow.input.prompt}",
              "maxDurationSeconds": 900
            }
          }
        ],
        [
          {
            "name": "run_researcher",
            "taskReferenceName": "run_researcher_ref",
            "type": "AGENT",
            "inputParameters": {
              "agentType": "conductor",
              "name": "researcher",
              "prompt": "${workflow.input.prompt}",
              "maxDurationSeconds": 900
            }
          }
        ]
      ]
    },
    {
      "name": "join_agents",
      "taskReferenceName": "join_agents_ref",
      "type": "JOIN",
      "joinOn": ["run_planner_ref", "run_researcher_ref"]
    }
  ]
}
