Environment variables

Copy .env.example to .env and fill these in.

Deployment

VariableRequiredPurpose
DEPLOYMENT_MODEYes for self-hostingSet to self-hosted to disable billing. Anything else means the paid hosted mode.
NEXT_PUBLIC_APP_URLYesThe origin the application is served from, for example http://localhost:3000.

Database

VariableRequiredPurpose
DATABASE_URLYesPostgres connection string. The Compose stack sets this for you. A Neon host uses Neon's HTTP driver; anything else uses a standard TCP connection.
DATABASE_URL_UNPOOLEDYesUsed only by drizzle-kit when applying migrations, which need a direct connection on Neon. On a self-hosted install this is the same value as DATABASE_URL.

Authentication — Clerk

Sign up at https://clerk.com.

VariableRequiredPurpose
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEYYesClerk publishable key.
CLERK_SECRET_KEYYesClerk secret key.
NEXT_PUBLIC_CLERK_SIGN_IN_URLYes/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URLYes/sign-up
NEXT_PUBLIC_CLERK_SIGN_IN_FALLBACK_REDIRECT_URLYes/workflows
NEXT_PUBLIC_CLERK_SIGN_UP_FALLBACK_REDIRECT_URLYes/workflows

Organizations must be enabled on your Clerk instance. Every workflow belongs to an organization, not to a user.

Background runs — Trigger.dev

Sign up at https://trigger.dev.

VariableRequiredPurpose
TRIGGER_SECRET_KEYYesSecret key for your Trigger.dev environment.
TRIGGER_API_URLOnly when self-hosting Trigger.devURL of your own Trigger.dev instance.

The Trigger.dev project reference is not an environment variable. It lives in trigger.config.ts and you edit it by hand. See Trigger.dev setup.

Realtime canvas — Liveblocks

Sign up at https://liveblocks.io.

VariableRequiredPurpose
NEXT_PUBLIC_LIVEBLOCKS_PUBLIC_KEYYesLiveblocks public key.
LIVEBLOCKS_SECRET_KEYYesLiveblocks secret key.

Cloud browsers — Browserbase

Sign up at https://browserbase.com.

VariableRequiredPurpose
BROWSERBASE_API_KEYYesBrowserbase API key. Also powers session replays.
BROWSERBASE_PROJECT_IDYesBrowserbase project id.

Model inference for the act, extract, observe, and agent nodes routes through Browserbase's model gateway and bills to this key, so no separate provider key is required.

Email — Resend

Sign up at https://resend.com. Only needed if you use the Send Email node.

VariableRequiredPurpose
RESEND_API_KEYNoTransactional email.

Billing — Dodo Payments

Not required when DEPLOYMENT_MODE=self-hosted. Self-hosted installations never call the payment provider.

VariableRequiredPurpose
DODO_PAYMENTS_API_KEYHosted onlyDodo API key.
DODO_PAYMENTS_WEBHOOK_KEYHosted onlyVerifies webhooks at /api/webhooks/dodo.
DODO_PAYMENTS_ENVIRONMENTHosted onlytest_mode or live_mode.
DODO_PRO_PRODUCT_IDHosted onlyProduct id for the Pro plan.