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

# Formal Agent

> Ask the Control Plane assistant to explain Formal, search your logs, and draft configuration

## Overview

Formal Agent is the AI assistant built into the Control Plane. Ask it questions in plain language. It can explain Formal, look up your configuration and logs, and draft changes for you to approve.

<Note>
  Formal Agent is not the Formal Endpoint's background process, which you start
  with `formal agent` and which the [Linux](/docs/guides/client-apps/linux)
  and [OIDC](/docs/guides/client-apps/oidc) guides call "the agent". It is
  also unrelated to the
  [Kubernetes Egress Agent](/docs/guides/client-apps/kubernetes-egress).
</Note>

## Open Formal Agent

* Click **Agent** in the sidebar to open the full page.
* On other pages, type in the **Ask Formal Agent** box to chat without leaving the page. Press `⌘J` (`Ctrl+J` on Windows and Linux) to show or hide it.
* From [Insights](/docs/guides/observability/insights), click **Open in Formal Agent** to investigate a finding.

Using Formal Agent requires the **Agent** permission. See [Permissions](/docs/guides/core-concepts/permissions).

## What It Can Do

| Task | Examples |
| - | - |
| Explain Formal | "How do session and request policies differ?" It searches these docs and the API reference. |
| Find things in the Control Plane | "Open the Connector that serves prod-postgres." It can navigate for you. |
| Investigate activity | "Who ran DELETE statements on billing this week?" It queries logs and aggregations. |
| Draft configuration | Policies, permissions, workflows, hooks, network rules, and data loaders. It validates drafts before proposing them. |
| Make changes | After you approve, it calls the Formal API to apply a change. |

<Tip>
  To set up a common outcome without writing code, start with a
  [Recipe](/docs/guides/getting-started/recipes). Ask Formal Agent when you
  need something custom.
</Tip>

## Approvals

Formal Agent reads without asking, but it asks before it acts:

* **Changes:** Before it changes configuration, it asks **Allow Agent to make this control-plane change?** Click **Allow** or **Deny**. For drafted code, review the proposal and click **Approve Change**.
* **Screen control:** Before it clicks or types on the page, it asks **Allow screen control?** Choose **Allow** for one action, **Allow for Turn**, **Allow for Conversation**, or **Deny**.

Changes run in your browser session with your permissions. Formal Agent can't do anything that you can't do yourself.

<Warning>
  Review every proposed change before you approve it. An approved change takes
  effect like any change you make by hand.
</Warning>

## Next Steps

<CardGroup cols={2}>
  <Card title="Recipes" icon="book-open" href="/docs/guides/getting-started/recipes">
    Create common setups from guided templates
  </Card>

  <Card title="Policies" icon="shield-check" href="/docs/guides/policies/introduction">
    Learn how policies work
  </Card>
</CardGroup>


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