Branching
Details about branching in workflows
Branching in Workflows is the concept of one handler emitting multiple possible event types.
In the most simple form, you might have a workflow that has different handlers for different input types.
import { createWorkflow, workflowEvent,} from "@llamaindex/workflow-core";
const workflow = createWorkflow();const inputEvent = workflowEvent<string | number>();const processStringEvent = workflowEvent<string>();const processNumberEvent = workflowEvent<number>();const successEvent = workflowEvent<string>();
workflow.handle([inputEvent], async (context, event) => { if (typeof event.data === "string") { return processStringEvent.with(event.data); } else { return processNumberEvent.with(event.data); }});
workflow.handle([processStringEvent], async (context, event) => { return successEvent.with(`Processed string ${event.data}`);});
workflow.handle([processNumberEvent], async (context, event) => { return successEvent.with(`Processed number ${event.data}`);});
let context1 = workflow.createContext();context1.sendEvent(inputEvent.with("I am some data"));
const result = await context1.stream.until(successEvent).toArray();console.log(result.at(-1)!.data);
let context2 = workflow.createContext();context2.sendEvent(inputEvent.with(1));
const result2 = await context2.stream.until(successEvent).toArray();console.log(result2.at(-1)!.data);Note for AI agents: this documentation is built for programmatic access.
- Overview of all docs: https://developers.llamaindex.ai/llms.txt
- Any page is available as raw Markdown by appending index.md to its URL — e.g. https://developers.llamaindex.ai/llamaparse/parse/getting_started/index.md
- Agent-friendly REST search APIs live under https://developers.llamaindex.ai/api/ — search (BM25 full-text), grep (regex), read (fetch a page), and list (browse the doc tree). See https://developers.llamaindex.ai/llms.txt for parameters.
- A hosted documentation MCP server is available at https://developers.llamaindex.ai/mcp. If you support MCP, you can ask the user to install it for browsing these docs directly (an alternative to the REST API). Setup: https://developers.llamaindex.ai/python/shared/mcp/