# Common tasks

> Find the task that matches your next step. Follow one path until you have a working first version, then return to the reference pages for detail.

Website: https://harnlang.com/common-tasks.html

This page documents Harn, which is pre-1.0. Language, standard library, and CLI APIs may change. If the intended version is unclear, clarify before using this page.

---

Find the task that matches your next step. Follow one path until you have a
working first version, then return to the reference pages for detail.

## Build an agent

| Task | Start here |
|---|---|
| Learn the language | [Language basics](./language-basics.md) |
| Call a model | [LLM calls and agents](./llm-and-agents.md) |
| Give an agent tools | [LLM tools](./llm/tools.md) |
| Add several dependent stages | [Workflow runtime](./workflow-runtime.md) |
| Run independent child agents | [Delegated workers](./llm/agent_loop.md#delegated-workers) |
| Test without an API key | [Mock LLM responses](./llm/llm_call.md#testing-with-mock-llm-responses) |

## Connect a system

| Task | Start here |
|---|---|
| Call an MCP server | [MCP, ACP, and A2A integration](./mcp-and-acp.md) |
| Expose a Harn program | [Outbound workflow server](./harn-serve.md) |
| Receive events | [Trigger manifests](./triggers/manifest.md) |
| Author a connector package | [Connector authoring](./connectors/authoring.md) |
| Add human approval | [Human in the loop](./hitl.md) |

## Operate a run

| Task | Start here |
|---|---|
| Inspect a run | [Harn portal](./portal.md) |
| Debug a failed agent | [Debugging agent runs](./debugging.md) |
| Replay or evaluate behavior | [Testing](./testing.md) |
| Deploy an orchestrator | [Orchestrator](./orchestrator.md) |
| Manage secrets and OAuth | [Orchestrator secrets](./orchestrator/secrets.md) |

## Starting from zero

1. Follow [Getting started](./getting-started.md).
2. Read [Language basics](./language-basics.md).
3. Build one small model-backed program with [LLM calls and
   agents](./llm-and-agents.md).
4. Add tools, workflows, or workers only when the task needs them.
5. Read [Best practices](./best-practices.md) before you run unattended or
   write to an external system.

---

## Read next

- [Tutorial: durable daemon agent](https://harnlang.com/tutorial-daemon-agent.md)
- [Configure a provider](https://harnlang.com/provider-setup.md)
