Skip to main content

Environment Variables Reference

All environment variables are defined in .env (generated by make setup). See .env.example for the template.

AI Provider Configuration

EvoNexus uses the claude CLI by default (Anthropic native auth). To switch to any other backend, the active provider is read from config/providers.jsonnot from .env directly. The dashboard’s Providers page and make setup both write to that file. The env vars below are the ones EvoNexus injects into the spawned CLI process based on the active provider. You don’t set them in .env yourself — they live inside config/providers.json under each provider’s env_vars key, and the terminal-server / ADW runner merge them into the subprocess environment at spawn time. Only the variable names in this allowlist are accepted (both the Python runner and the JS bridge enforce the same list): How to configure: use the Providers page in the dashboard — it reads/writes config/providers.json for you, masks secrets in API responses, and has a “Test connection” button that runs <provider-cli> --version with the merged env. Alternatively, edit config/providers.json directly (it starts as a copy of config/providers.example.json on first run). Anthropic is the default — when the active provider is anthropic, no env vars are injected and the spawned CLI is the native claude binary with its own auth. You don’t need any of the variables above for the default path. See docs/dashboard/providers.md for the full provider setup flow.

Omie ERP

How to get: Omie dashboard > Settings > Integrations > API. Create an app to get the key and secret.

Stripe

How to get: dashboard.stripe.com > Developers > API Keys. Use the secret key (not the publishable key).

Todoist

How to get: app.todoist.com > Settings > Integrations > Developer > API Token.

Fathom (Meetings)

How to get: fathom.video > Settings > API. Generate an API key.

Discord

How to get:
  • Bot token: discord.com/developers > New Application > Bot > Token
  • Guild ID: Enable Developer Mode in Discord settings, then right-click your server > Copy Server ID

Telegram

How to get:
  • Bot token: Message @BotFather on Telegram, use /newbot
  • Chat ID: Send /start to your bot, then call https://api.telegram.org/bot<TOKEN>/getUpdates to find the chat ID

YouTube OAuth

How to get: Google Cloud Console > APIs & Services > Credentials > Create OAuth Client ID. Enable the YouTube Data API v3.

Meta / Instagram OAuth

How to get: developers.facebook.com > My Apps > Create App > Settings > Basic. Enable the Instagram Graph API.

LinkedIn OAuth

How to get: linkedin.com/developers > My Apps > Create App > Auth tab. Request the r_organization_social and r_liteprofile scopes.

Backup (S3-compatible)

How to get: Create an S3 bucket (or use any S3-compatible service). Set the bucket name and credentials. Install boto3 with uv add boto3. Note: Local backups (make backup) work without any env vars. S3 is optional for cloud replication.

Social Accounts

Social media accounts are managed via the dashboard Integrations page after OAuth setup. The tokens are stored with this pattern:
Examples:
These are populated automatically when you connect accounts through the dashboard.

Required vs Optional

No variable is strictly required — EvoNexus works with whatever integrations you enable. But specific routines need their corresponding keys: Google Calendar and Gmail are connected via MCP servers configured in Claude Code settings, not through .env variables.

Knowledge Base (pgvector)

How to get: Configure via the dashboard at /knowledge/settings — the provider is locked once the first connection is created (changing it after ingestion requires removing and recreating all connections).

AI Image Creator

Gateway mode activates when all three AI_IMG_CREATOR_CF_* vars are set. Falls back to direct mode if gateway fails. You only need one provider configured (either Cloudflare or at least one direct key). How to get: