Copy-and-adapt workflow patterns and real-world use cases
- id: agent_loop loop: while: size(outputs.tool_calls) > 0 && iter.iteration < inputs.max_turns inline: entry: [call_llm] outputs: tool_calls: "{{nodes.call_llm.tool_calls}}" nodes: - id: call_llm action: CallLLM - id: execute_tools action: ExecuteTools inputs: tool_calls: "{{nodes.call_llm.tool_calls}}" edges: - from: call_llm cases: - to: execute_tools condition: nodes.call_llm.tool_calls != null && size(nodes.call_llm.tool_calls) > 0
edges: - from: run_tests cases: - to: on_success condition: nodes.run_tests.exit_code == 0 - to: on_failure condition: nodes.run_tests.exit_code != 0
- id: impl_1 workflow: builtin://agent thread: mode: fork key: impl_1 - id: impl_2 workflow: builtin://agent thread: mode: fork key: impl_2 - id: join_all join: all
Suggestions
Contact support