Setting variables

A project’s Environment Variables tab is a key/value editor for the app or agent’s environment. Add, edit, or remove entries there and save — no redeploy required to store them.

A handful of names are reserved because the platform sets them for you. These include an application’s DATABASE_URL, an agent’s SET_AGENT_POSTGRES_URL, and the platform token an agent uses to call its own APIs. Trying to set one of those directly is rejected with the name that collided, so custom configuration cannot silently shadow the platform-managed value.

Injecting vault secrets

For anything sensitive — API keys, signing secrets, third-party credentials — store it in the secrets vault instead of a plain env var and link it to the deployment. Linked secrets are injected into the container’s environment at runtime, not supplied to repository builds, so your app reads them the same way; the value itself never sits in your repository or the dashboard’s edit history.

Rollout on redeploy

Saved changes — plain variables and linked secrets alike — take effect on the next deploy, not the currently running instance. Push a commit (or trigger a redeploy) to pick them up; the running deployment keeps whatever values it started with until then.

Deploying for the first time: deploy an app from GitHub. Getting started with secrets: /docs/secrets/quickstart.