LangGraph Tutorial: Build Agent Workflows Without the Framework

If you're searching for a LangGraph tutorial, you're probably trying to build AI agents that can make decisions, use tools, and maintain state across interactions. LangGraph is powerful, but it requires Python expertise, graph theory knowledge, and significant setup time.

This tutorial shows you how to achieve the same results—stateful, multi-step agent workflows—using plain English on Zo Computer.

What LangGraph Does (and Why It's Complex)

LangGraph lets you build agent workflows as directed graphs. Each node is a function, edges define transitions, and state persists across steps. A typical LangGraph workflow requires:

  • Python environment setup

  • Understanding of graph concepts (nodes, edges, conditional branching)

  • State schema definitions

  • Custom tool implementations

  • Deployment infrastructure

Here's what a simple LangGraph research agent looks like in code:

from langgraph.graph import StateGraph, END
from typing import TypedDict

class AgentState(TypedDict):
    query: str
    search_results: list
    analysis: str

def search_node(state):
    # Call search API
    results = search_web(state["query"])
    return {"search_results": results}

def analyze_node(state):
    # Process results with LLM
    analysis = llm.analyze(state["search_results"])
    return {"analysis": analysis}

graph = StateGraph(AgentState)
graph.add_node("search", search_node)
graph.add_node("analyze", analyze_node)
graph.add_edge("search", "analyze")
graph.add_edge("analyze", END)

That's 20+ lines for a two-step workflow. Real agents are far more complex.

The Same Workflow in Natural Language

On Zo Computer, you describe what you want. The AI handles the graph structure, state management, and tool orchestration.

Here's the equivalent research agent:

"Search for recent developments in quantum computing, then analyze the results and summarize the three most significant breakthroughs."

That's it. Zo executes this as a multi-step workflow:

  1. Search node: Calls web search tools, retrieves results

  2. Analysis node: Processes results, identifies patterns

  3. Output: Delivers structured summary

The underlying mechanics—state passing, tool selection, conditional logic—happen automatically.

Building LangGraph-Style Patterns

Pattern 1: Conditional Branching

LangGraph uses conditional edges to route between nodes based on state. In code:

def should_continue(state):
    if state["needs_more_info"]:
        return "search"
    return "summarize"

graph.add_conditional_edges("analyze", should_continue)

On Zo, express the same logic naturally:

"Research this company. If you can't find revenue data, search their SEC filings. If that fails, check recent news for funding announcements. Once you have financial info, create a summary."

The AI builds the conditional flow from your description.

Pattern 2: Parallel Execution

LangGraph supports fan-out/fan-in patterns for parallel processing:

graph.add_node("search_news", search_news)
graph.add_node("search_papers", search_papers)
graph.add_node("combine", combine_results)
# Complex edge definitions for parallelism

On Zo:

"Search news, academic papers, and social media for mentions of this technology simultaneously, then combine the results into a comprehensive report."

Pattern 3: Human-in-the-Loop

LangGraph requires explicit interrupt points and state persistence for human review:

graph.add_node("human_review", human_review_node)
graph.compile(checkpointer=MemorySaver(), interrupt_before=["human_review"])

On Zo, you're naturally in the loop. The AI shows its work, you provide feedback, and it continues:

"Draft three email responses to this customer complaint. Show me the options before sending."

Building a Complete Agent Workflow

Let's build something practical: a research agent that monitors competitors and sends weekly reports.

Step 1: Create the Agent

Go to https://docs.zocomputer.com/agents and create a new agent with this instruction:

"Every Monday at 9am, research these competitors: [Company A, Company B, Company C]. For each:

  1. Check their website for product updates

  2. Search news for recent announcements

  3. Look at their social media for positioning changes

Compare findings to last week's report in my Research folder. Highlight what's new. Send me a summary via email."

Step 2: Let It Run

The agent executes as a stateful workflow:

  • Web browsing nodes: Visit competitor sites

  • Search nodes: Query news and social media

  • File nodes: Read previous reports for comparison

  • Analysis node: Synthesize findings

  • Delivery node: Format and email results

Step 3: Iterate

After the first run, refine:

"Focus more on pricing changes. Skip social media unless there's a product launch. Add a section on hiring trends from LinkedIn."

When to Use LangGraph Instead

LangGraph makes sense when you need:

  • Fine-grained control: Exact node execution order, custom state schemas

  • Production deployment: High-volume, low-latency applications

  • Team collaboration: Version-controlled agent definitions

  • Integration with existing Python systems: Native library compatibility

Zo is better when you need:

  • Rapid prototyping: Test agent ideas in minutes, not hours

  • Non-technical users: Business users can build and modify workflows

  • Personal automation: Agents that work with your files, email, calendar

  • Flexibility: Change workflows on the fly without redeploying code

Getting Started

  1. Sign up for Zo Computer at https://www.zo.computer/

  2. Describe your workflow in the chat—start simple

  3. Make it recurring by creating an agent: https://docs.zocomputer.com/agents

  4. Iterate based on results

For more complex workflows, see:

  • https://www.zo.computer/tutorials/how-to-design-an-agentic-workflow

  • https://www.zo.computer/tutorials/how-to-automate-tasks-with-ai