> Source: https://builder.ema.ai/v2/core-concepts
> Title: Core Concepts

# Core Concepts

This section explains the building blocks you compose when you build on Ema. Read it before you open the AI Employee builder — once these concepts click, every screen in the product maps cleanly onto one of them.

An **AI Employee** (AIE) is the top-level unit you build, configure, and deploy. Everything else on this page is something an AI Employee is made of:

-   A **workflow** — a directed acyclic graph (DAG) of typed nodes — defines what the AI Employee does.
-   **Agents** are the reasoning nodes inside that workflow. Ema provides five agent types you configure from templates.
-   **Knowledge bases** give agents private, searched context through retrieval-augmented generation (RAG).
-   **Human in the loop** (HITL) pauses a run for a person to approve, fill in a form, or answer a question, then resumes.
-   **Conditions and expressions** route a run down different branches and pull data between nodes using `{{variable}}` references.
-   **Versioning** separates the draft you edit from the published version end users run, and keeps an immutable history you can promote or revert to.

> [INFO]
> **One model, many surfaces.** An AI Employee is the same workflow no matter how end users reach it — web chat, an embeddable widget, a spreadsheet-style dashboard, voice, an API call, or a scheduled trigger. Build once; deploy everywhere.

## How the pieces fit together

When an AI Employee runs, the platform:

1.  Receives an input (a chat message, a dashboard row, an API call, a document, or a schedule fire) and maps it to the workflow's `input_params`.
2.  Walks the workflow DAG in topological order, executing each node when its inputs are ready. Nodes with no dependency on each other run in parallel.
3.  For each **agent** node, calls the agent runtime, which performs LLM reasoning, optional **knowledge base** retrieval, and optional **Tool** calls.
4.  Evaluates **conditions** on the edges leaving each node to decide which downstream branches run and which are skipped.
5.  Pauses on any **human in the loop** node until a person responds, then resumes from where it left off.
6.  Collects the outputs declared by the workflow's publish nodes and returns them, recording a full step-by-step trace.

The reasoning itself is powered by EmaFusion™, Ema's model-routing layer, which picks the best large language model for each subtask. See [EmaFusion™](/builder/v2/emafusion).

## What's in this section

-   [AI Employees](/builder/v2/core-concepts/ai-employees) — the top-level container: its lifecycle, the resources it owns, and the surfaces it deploys to.
-   [Workflows](/builder/v2/core-concepts/workflows) — the DAG model: node types, edges, parallelism, drafts and versions, runs and steps.
-   [Agents](/builder/v2/core-concepts/agents) — the five agent types and how each one is configured.
-   [Knowledge Bases](/builder/v2/core-concepts/knowledge-bases) — folders, chunking, embedding, and how agents retrieve context with RAG.
-   [Human in the Loop](/builder/v2/core-concepts/human-in-the-loop) — pausing and resuming a run for approval, a form, or a question.
-   [Conditions and Expressions](/builder/v2/core-concepts/conditions-and-expressions) — `{{variable}}` references and the full operator catalog for branching.
-   [Versioning](/builder/v2/core-concepts/versioning) — drafts versus published versions, publish immutability, version history, and what happens to in-flight runs when you publish.

## Where to go next

Once these concepts are familiar, move on to the hands-on material:

-   [Builder guides](/builder/v2/builder-guides) — step-by-step instructions for building in the AI Employee builder.
-   [Agent reference](/builder/v2/agent-reference) — per-agent configuration detail.
-   [Autopilot](/builder/v2/autopilot) — build and edit AI Employees by describing what you want in plain language.
