This example demonstrates how to use the Steps object to organize multiple individual steps into logical sequences.
This example demonstrates Workflows 2.0 using the Steps object to organize multiple
individual steps into logical sequences. This pattern allows you to define reusable step
sequences and choose which sequences to execute in your workflow.When to use: When you have logical groupings of steps that you want to organize, reuse,
or selectively execute. Ideal for creating modular workflow components that can be mixed
and matched based on different scenarios.
workflow_using_steps.py
Copy
Ask AI
from agno.agent import Agentfrom agno.models.openai import OpenAIChatfrom agno.tools.duckduckgo import DuckDuckGoToolsfrom agno.workflow.v2.step import Stepfrom agno.workflow.v2.steps import Stepsfrom agno.workflow.v2.workflow import Workflow# Define agents for different tasksresearcher = Agent( name="Research Agent", model=OpenAIChat(id="gpt-4o-mini"), tools=[DuckDuckGoTools()], instructions="Research the given topic and provide key facts and insights.",)writer = Agent( name="Writing Agent", model=OpenAIChat(id="gpt-4o"), instructions="Write a comprehensive article based on the research provided. Make it engaging and well-structured.",)editor = Agent( name="Editor Agent", model=OpenAIChat(id="gpt-4o"), instructions="Review and edit the article for clarity, grammar, and flow. Provide a polished final version.",)# Define individual stepsresearch_step = Step( name="research", agent=researcher, description="Research the topic and gather information",)writing_step = Step( name="writing", agent=writer, description="Write an article based on the research",)editing_step = Step( name="editing", agent=editor, description="Edit and polish the article",)# Create a Steps sequence that chains these above steps togetherarticle_creation_sequence = Steps( name="article_creation", description="Complete article creation workflow from research to final edit", steps=[research_step, writing_step, editing_step],)# Create and use workflowif __name__ == "__main__": article_workflow = Workflow( name="Article Creation Workflow", description="Automated article creation from research to publication", steps=[article_creation_sequence], ) article_workflow.print_response( message="Write an article about the benefits of renewable energy", markdown=True, )