Environment Variables
Declare the environment variables your automations need under the top-level app.env[] array. Each entry documents a variable, whether it's required, and an optional default. At runtime, reference a value anywhere a template or connection prop is accepted with $env.VAR_NAME.
env:
- { key: SLACK_WEBHOOK_URL, description: Slack incoming webhook URL }
- { key: STRIPE_SECRET, description: Stripe API secret, required: true }
- { key: REGION, description: Default region, required: false, default: eu-west }Env Var Properties
| Property | Description |
|---|---|
key |
Variable name in uppercase snake*case (^[A-Z]A-Z0-9*]\*$, e.g. API_KEY). Required. |
description |
What the variable is used for. |
required |
Whether the variable must be set (default true). When required and unset, validation fails at boot. |
default |
Fallback value used when the variable is not set. When both required and default are present, default acts as the fallback. |
Keys must be unique across the app.
Referencing Secrets
Use $env.VAR_NAME in action props, connection props, and webhook auth:
connections:
- name: openai-key
type: bearer
props: { token: $env.OPENAI_API_KEY }
automations:
- name: notify
trigger: { type: record, table: orders, events: [create] }
actions:
- name: ping
type: http
operator: post
props:
url: $env.SLACK_WEBHOOK_URL
body: { text: 'New order {{trigger.data.id}}' }Secrets are never logged. Values resolved from $env are redacted from run logs, step outputs shown in the admin UI, and the runs API. Store credentials in $env (or a connection) rather than inlining them in action props.
Frugal-by-Default Operator Env
Beyond app.env (which the schema author declares), Sovrium's runtime footprint is governed by operator-controlled ECO_* environment variables (e.g. ECO_IMAGE_FORMAT, ECO_AI_PROVIDER_PRECEDENCE). These are not part of the app schema — operators opt out, never in. AI actions and image transforms invoked from automations honor these defaults automatically. See AI Overview and Image Transforms.
Related Pages
- Connections — credential blocks that consume
$env. - Actions Overview — where
$envis interpolated. - HTTP & Webhooks — secrets in request headers.
Last updated August 11, 2026
This documentation was written with AI, so errors or outdated content are possible. Sovrium is in beta. Contributions and corrections are welcome.