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

# Integrations

> Connect Charlie directly to tools or provide environment variables via the dashboard.

There are two ways to extend what Charlie can access:

## 1) Direct integrations

Connect the platforms Charlie should read from or write to:

* [GitHub](/integrations/github)
* [Linear](/integrations/linear)
* [Slack](/integrations/slack)
* [Sentry](/integrations/sentry)
* [Vercel](/integrations/vercel)

GitHub, Linear, and Slack are not only context and write surfaces. GitHub-routed events use the repo-scoped GitHub App installation; Linear routed events require a connected Linear workspace and the event issue's Linear team mapped to the right repo; Slack routed events require a connected Slack workspace mapped to the right repo. Use `schedule` for cron-based daemon wakes.

## 2) Repository environment variables

Use the dashboard to define per-repository environment variables for build/test/tooling workflows:

* Dashboard: <a href="https://dashboard.charlielabs.ai">dashboard.charlielabs.ai</a>
* Configure variables under your repo settings

Use this for non-public keys, tokens, and runtime config needed during Charlie runs.

### Conditional setup for Charlie runs

If your repo needs different setup when Charlie is running—for example, during blueprint, devbox, build, test, or tooling scripts—gate that branch with an environment variable such as `IS_CHARLIE=1`.

For example, your script can check `IS_CHARLIE` before running Charlie-specific setup, while keeping secrets and runtime configuration in repository environment variables.

For the full recipe, see [Environment setup](/environment-setup).
