---
title: Foundations
description: Learn the core concepts of workflow programming to build durable, long-running applications.
type: overview
summary: Explore the core concepts you need to use workflows effectively.
related:
  - /docs/foundations/workflows-and-steps
  - /docs/getting-started
---

# Foundations



Workflow programming can be a slight shift from how you traditionally write real-world applications. Learning the foundations now will go a long way toward helping you use workflows effectively.

<Cards>
<Card href="/docs/foundations/workflows-and-steps" title="Workflows and Steps">Build long-running, stateful application logic that persists progress and resumes after failures.</Card>
<Card href="/docs/foundations/starting-workflows" title="Starting Workflows">Trigger workflow execution with the start() function and track progress with Run objects.</Card>
<Card href="/docs/foundations/errors-and-retries" title="Errors & Retrying">Customize retry behavior with FatalError and RetryableError for robust error handling.</Card>
<Card href="/docs/foundations/hooks" title="Hooks & Webhooks">Pause workflows and resume them later with external data, user interactions, or HTTP requests.</Card>
<Card href="/docs/foundations/streaming" title="Streaming">Stream data in real-time to clients for progress updates and incremental content delivery.</Card>
<Card href="/docs/foundations/serialization" title="Serialization">Understand how workflow data is serialized and persisted across suspensions and resumptions.</Card>
<Card href="/docs/foundations/idempotency" title="Idempotency">Make step retries safe and coordinate duplicate workflow starts with hook tokens.</Card>
<Card href="/docs/foundations/versioning" title="Versioning">Understand how workflow runs are pinned to deployments, how to recover runs after a fix, and how to opt in to newer code explicitly.</Card>
</Cards>


---

For a semantic overview of all documentation, see [/sitemap.md](/sitemap.md)

For an index of all available documentation, see [/llms.txt](/llms.txt)

For agent-facing discovery, including API and MCP surfaces, see [/agents.md](/agents.md)