> ## Documentation Index
> Fetch the complete documentation index at: https://docs.e6data.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Building blocks

> The constructs you meet in AgentFlow: workflows, steps, tools, skills, subagents, triggers, actions, projects, semantic layers, metrics, response contracts and artifacts.

export const DocMeta = ({type, applies, owner}) => {
  const LABELS = {
    tutorial: "Tutorial",
    "how-to": "How-to guide",
    explanation: "Explanation",
    reference: "Reference"
  };
  return <div className="e6-meta">
      <span className={type === "how-to" || type === "tutorial" ? "e6-eyebrow" : "e6-eyebrow e6-eyebrow--quiet"}>{LABELS[type] || type}</span>
      {applies ? <span>Applies to: {applies}</span> : null}
      {owner ? <span>Owner: {owner}</span> : null}
    </div>;
};

<DocMeta type="explanation" applies="All deployments" />

## Workflow

A declarative spec, a versioned JSON document, that describes a multi-step automation: the steps, what each does, which tools it can use, which assertions must pass, and where to branch. Workflows are reusable, schedulable, parameterizable, shareable and compiler-validated. They're the primary unit of authored IP. See [Build a workflow in chat](/agentflow/automate/build-in-chat).

## Step

One typed node in the workflow graph. There are ten step types; agentic steps compile into small agents with only what that step needs, and deterministic steps run without a model. See [Step types](/agentflow/reference/step-types).

## Tool

A callable function with a declared JSON input schema and return type. Tools are the leaf operations. See [Custom tools](/agentflow/extend/custom-tools).

## Skill

A reusable bundle of instructions, templates and checks for one capability. A tool is a function call; a skill is a packaged way of solving a class of problems. See [Custom skills](/agentflow/extend/custom-skills).

## Subagent

A specialized agent that a coordinator hands a substantial sub-task to, such as schema analysis, research or root-cause investigation. The coordinator resumes when the subagent returns. It keeps the top-level interaction readable. A subagent is different from a subworkflow, which calls a saved workflow by ID.

## Trigger

A persistent, project-scoped record that starts one to ten workflows: on a cron schedule or from a webhook. A manual click or a run from chat is a run mode, not a trigger. See [Trigger reference](/agentflow/reference/triggers).

## Action step

A step that changes something in the world, with a plan, freeze, optional approval, execute and audit lifecycle. See [Actions and approvals](/agentflow/automate/actions-and-approvals).

## Project

The customer-facing container that scopes conversations, metrics, workflows, tools, skills, triggers, connectors and settings. See [Create a project](/agentflow/setup/create-a-project).

## Semantic layer

A shared, versioned description of selected data and its business context. Projects pin an exact built version. See [Create a semantic layer](/agentflow/setup/semantic-layers).

## Metric

A project-scoped, versioned SQL definition, validated against the project's data. See [Create a reusable metric](/agentflow/ask/metrics).

## Response contract

An optional shape that chat's final answer must follow. See [Structure chat answers](/agentflow/ask/structured-answers).

## Artifact

A durable output, such as a data file, chart, image or report, stored outside the message stream and referenced from a conversation or run. `FileRef`, `S3PathRef` and `ArtifactRef` move large results between steps without copying them into every model context.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.