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

# Build an Aion

> Create a project graph, map one Identity to a network, and sync the result.

This guide builds a small Aion with one Distribution Ion and an optional Behavior Ion. The result is one durable
Identity mapped onto a network, with a Sequence that can handle requests when behavior is attached.

## Before you begin

You need:

* access to an Aion organization
* a Personal or Principal Identity that can root the Aion
* a registered behavior if the Aion should process requests
* a linked account for networks that require one, such as Slack, X, or Voice

## 1. Create or select a Project

Open **Composer**. In **Select Application**, choose a Project. To create one, select **Create project** (`+`), enter
its details in **New Project**, and select **Create Project**. In **Select Environment**, choose an environment. If
the Project has none, select **Create environment** (`+`) and complete **New Environment**. Then select **Open**.

The Project is the workspace for the graph. It does not define the Aion boundary; the Aion follows its Identity.

## 2. Add the Ions

Select **Add Node** to add each Ion required by the flow:

* Add a **Distribution** Ion for the network entrypoint.
* Add a **Behavior** Ion if the Aion should interpret, transform, route, or answer requests.
* Add a **Deployment** Ion when the implementation needs a deployment represented in this Project.

An address-only Aion does not need a Behavior Ion immediately. You can attach behavior when the application is ready
to handle requests.

## 3. Connect the Sequence

Connect the Distribution Ion to the Behavior Ions that should participate in the runtime flow. A Sequence is the
ordered list of connected Ions used when a request arrives through that Distribution.

```mermaid actions={false} theme={null}
flowchart LR
  N[Network] --- D[Distribution Ion] --- P[Policy Behavior Ion] --- A[Application Behavior Ion]
```

The graph stores connections rather than a hard-coded final-Ion category. Add or remove Behavior Ions as the
flow changes.

## 4. Assign the Aion Identity

Select the Distribution Ion, open **Identity**, and set **Principal Identity** to the Personal or Principal Identity
that roots the Aion.

When another Distribution uses the same principal, it exposes the same Aion on another network. A Principal Identity
is different from the linked service identity used to authenticate a network account.

For an authenticated network, also select the network-specific account field in **Identity**:
**X Account**, **Slack Bot**, or **Telephone Number**.

## 5. Configure and sync

Configure the selected Behavior and Distribution Ions. Resolve any validation issues shown by Composer, then select
**Sync Changes** to apply the pending graph updates.

## Verify the result

Confirm that:

* the Distribution Ion shows the intended network
* **Principal Identity** is the Identity that should represent the Aion
* any network-specific linked account is present
* the Distribution and Behavior Ions are connected in the intended Sequence
* Composer shows no unresolved validation issues

Next, read [Distribution Ions](/docs/concepts/distribution-ions) for ingress semantics or
[Behavior Ions](/docs/concepts/behavior-ions#configuration) for configuration.
