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

# Enable Patterns

> Turn on pattern discovery for a project, choose where results are delivered, and tune the schedule and scope of the Loop automation behind it.

Enabling Patterns creates a scheduled [Loop automation](/docs/loop/automations) that investigates your project and records what it finds. This page covers turning it on, tuning it, and adding focused automations alongside it.

## Before you start

Patterns runs Loop against your project on a schedule, so two things need to be in place first:

* **A way to pay for inference.** Patterns runs on Loop's GPT-5.6 models. By default these are Braintrust's [built-in models](/docs/admin/ai-providers#available-models), which draw down your organization's monthly [model credits](/docs/plans-and-limits#model-credits) and need no setup. On the Starter plan, they require at least one organization owner with a work email address, or a payment method on file. See [Requirements](/docs/admin/ai-providers#requirements). To run Patterns on your own key, or to keep it running once your credits are exhausted, configure an OpenAI-compatible [AI provider](/docs/admin/ai-providers) for your organization or project.
* **Permission to create automations in the project.** Members of the **Owners** and **Engineers** [permission groups](/docs/admin/access-control#built-in-permission-groups) have this by default. **Enable patterns** is shown to everyone, so without permission you'll see an error when you click it rather than a hidden button.

If you want to choose a Slack notification channel while enabling, [connect a Slack workspace](/docs/admin/organizations#enable-slack-integration) first. Otherwise the picker doesn't appear, and you can add a destination later instead.

## Enable pattern discovery

1. Go to [**<Icon icon="scan-search" /> Patterns**](https://www.braintrust.dev/app/~/patterns) and click **Enable patterns**. Once Patterns is on, this button becomes **Settings**.
2. In the **Introducing Patterns** dialog, optionally choose a Slack workspace and channel to be notified in when Loop finds patterns.
3. Click **Enable patterns** to confirm.

Braintrust creates a **Pattern discovery** automation that runs at 9:00 AM on weekdays in your default timezone, queries the last 30 days by default, and has permission to create and update patterns. It runs a default instruction that tells Loop what to look for, which you can edit later. See [Tune the automation](#tune-the-automation). Braintrust then queues an initial run immediately, so you don't wait for the first scheduled one.

While a run is in progress, the page shows an **Analyzing traces...** indicator. Patterns appear as the run finishes.

<Note>
  If a project has no patterns yet and no run is in progress, click **Analyze patterns** to queue another run without waiting for the schedule.
</Note>

## Tune the automation

The default automation is an ordinary Loop automation, so you can change its instruction, schedule, model, query range, and destinations at any time.

To edit it, either click **Settings** on the [**<Icon icon="scan-search" /> Patterns**](https://www.braintrust.dev/app/~/patterns) page and select the automation, or go to **<Icon icon="settings-2" /> Settings** > [**<Icon icon="radio" /> Automations**](https://www.braintrust.dev/app/~/configuration/automations).

The fields worth revisiting first:

* **Frequency.** How often the run happens. A project with steady traffic rarely needs more than daily.
* **Default query range.** How much recent data each run inspects. Each run inspects the full range, not only the traces created since the previous run, so a wide range costs more.
* **Instruction.** What Loop should look at, how deeply, and when to stop.
* **Destinations.** Where run digests are delivered.

For the full field reference, see [Create a Loop automation](/docs/loop/automations#create-a-loop-automation).

<Note>
  Keep the instruction framed around finding or updating patterns, even when you narrow the automation to one concern. An instruction that asks for a summary produces a summary, not a pattern record.
</Note>

## Add a focused automation

You can run several pattern automations alongside the default one. Use a focused automation when one concern needs its own scope or schedule: tool-call errors, cost growth, latency for a specific set of customers, or quality regressions.

To add one, select **Settings** > **New automation** on the [**<Icon icon="scan-search" /> Patterns**](https://www.braintrust.dev/app/~/patterns) page. Braintrust opens a prefilled automation for you to review and save.

All of them write into the same patterns list.

## Common issues

<AccordionGroup>
  <Accordion title="A run finished but recorded nothing">
    Loop records a pattern only when it can attach supporting evidence, so a quiet run is a normal outcome rather than a failure.

    To work out what happened, open the automation, select the **Past runs** tab, and select the run to read the transcript. Select <Icon icon="git-fork" /> **Continue** to fork it into an editable thread and ask Loop directly why it recorded nothing.

    If runs are consistently empty, the query range or the instruction is usually too narrow.
  </Accordion>

  <Accordion title="Patterns aren't notifying Slack">
    Destinations belong to automation runs. Patterns that Loop records during an interactive chat appear in the list but do not trigger Slack or webhook destinations.

    Confirm the destination is configured on the automation itself, under **Destinations** in the configuration panel, and that the [Slack workspace is still connected](/docs/admin/organizations#enable-slack-integration).
  </Accordion>

  <Accordion title="The page asks you to upgrade your data plane">
    Patterns requires data plane v2.13 or later. To upgrade, see the [routine upgrade guide](/docs/admin/self-hosting/upgrade/routine).
  </Accordion>
</AccordionGroup>

## Next steps

* [Review and act on patterns](/docs/observe/patterns/review) once the first run finishes.
* [Run Loop on a schedule](/docs/loop/automations) to configure destinations, write permissions, and past runs in depth.
* [Set up alerts](/docs/observe/alerts) for conditions you already know how to detect.
* [Active observability for coding agents](/docs/cookbook/recipes/CodingAgentInsights) to find recurring problems in coding-agent sessions with Topics facets and a Loop automation.
