Member-only story
If you learned to build LlamaIndex agents by writing from llama_index.core.workflow import Workflow
, that import is now a compatibility shim. The orchestration engine underneath it has moved out on its own. As of the Workflows 1.0 announcement, the code that routes events between your agent's steps lives in a separate package — pip install llama-index-workflows
— that imports as plain workflows
and does not depend on llama_index
at all.
That sounds like packaging trivia. It isn’t. When I installed the package and inspected what actually came down the wire, the interesting part wasn’t the new import path. It was that the run state your steps read and write is now a typed Pydantic model you can freeze to JSON mid-run and rebuild later. That single property is what turns an event loop into something you can for human review, checkpoint before a risky step, or recover after a crash.
This walkthrough installs the real package, verifies the split against the installed code rather than the blog copy, and runs a small event-driven workflow — with zero LLM calls — to show what typed, serializable state buys you.
First, the version gotcha nobody mentions #
The blog calls it “Workflows 1.0.” The package does not agree.
$ pip install llama-index-workflows$ python -c "import importlib.metadata as m…