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

# Build an agent in the UI

> Build a DinoAI agent visually in the Agent builder: set its identity, tools, and output, then deploy it as a pull request to your repository.

The Agent builder lets you create a DinoAI agent without writing YAML. You define its identity and permissions in a form, and deploying opens a pull request that writes the agent to `.dinoai/agents/<name>.yml` on your default branch. Start from scratch or from a template.

<Note>
  **Prerequisites**

  * Access to the Agent app in your Paradime workspace.
  * A [connected git repository](/guides/paradime-101/getting-started-with-your-paradime-workspace/creating-a-workspace) (deploying the agent opens a pull request against your default branch).

  Estimated time: 15 minutes.
</Note>

## Steps

<Steps>
  <Step title="Start a new agent">
    In the **Agent** app, open **Agents** and select **New**. Pick a template to prefill the agent's identity, or choose **Start from scratch**. Templates are grouped by outcome: Reliability, Quality, Cost, Code review, Documentation, and Analytics.
  </Step>

  <Step title="Define its identity">
    Under **Identity**, set what the agent is and what it is for. These are what the model reads before anything else.

    * **Name**: becomes the filename under `.dinoai/agents/` and how you invoke the agent.
    * **Role**: who the agent is (for example, "Analytics engineer reviewing revenue models").
    * **Goal**: what it should achieve.
    * **Backstory**: context it carries into every run, such as conventions and what to be careful with.
  </Step>

  <Step title="Choose the model">
    Under **Model**, leave **Auto** selected so Paradime picks the best model for each task.
  </Step>

  <Step title="Set its tools">
    Under **Tools**, choose which tools the agent may use:

    * **Allowed tools**: only these, everything else is refused.
    * **Denied tools**: everything the workspace allows, except these.

    Leave both empty to inherit the workspace's tool permissions.
  </Step>

  <Step title="Set output and squad (optional)">
    * **Output**: a Slack channel the agent posts results to. Leave it empty and the agent replies wherever it was invoked.
    * **Squad**: other agents this one can delegate to. Each sub-agent runs in its own session and reports back.
  </Step>

  <Step title="Deploy the agent">
    Select **Deploy**. Paradime opens a pull request that adds the agent's `.dinoai/agents/<name>.yml` to your default branch. Review and merge it to make the agent available.
  </Step>
</Steps>

<Check>
  After the pull request merges, the agent appears in `.dinoai/agents/` and in the **Agent name** dropdown when you [add a Run Paradime DinoAI Agent command in Bolt](/guides/programmable-agents/run-an-agent-with-bolt). You can also edit the YAML directly from then on.
</Check>

## Next steps

<CardGroup cols={2}>
  <Card title="Run an agent with Bolt" href="/guides/programmable-agents/run-an-agent-with-bolt" icon="rocket">
    Schedule the agent to run on cron, on merge, or after a job.
  </Card>

  <Card title="Programmable Agents reference" href="/products/dino-ai/programmable-agents/index" icon="bot">
    The YAML the builder writes, tools, and the API.
  </Card>
</CardGroup>


## Related topics

- [Automate with AI agents](/guides/programmable-agents/index.md)
- [Self-heal Dagster pipelines](/guides/programmable-agents/self-healing-pipelines-dagster.md)
- [Bolt pipeline healer](/guides/programmable-agents/bolt-pipeline-healer.md)
- [Bolt CI healer](/guides/programmable-agents/bolt-ci-healer.md)
- [Query cost optimizer (BigQuery)](/guides/programmable-agents/dbt-tm-model-query-cost-optimizer-bigquery.md)
