# Rivet SDK Environment Variables

Standardized `.env` keys for Rivet-based integrations.

## Core Keys

| Key | Required | Description | Where to find it |
|-----|----------|-------------|------------------|
| `RIVET_CLIENT_ID` | Yes | OAuth or product client ID used by module | Zoom App Marketplace -> your app -> Basic Information -> Client ID |
| `RIVET_CLIENT_SECRET` | Yes | OAuth or product client secret used by module | Zoom App Marketplace -> your app -> Basic Information -> Client Secret |
| `RIVET_WEBHOOK_SECRET_TOKEN` | Receiver flows | Secret used to verify webhook requests | Zoom App Marketplace -> Feature / Event Subscriptions / Access page -> Secret Token |
| `RIVET_ACCOUNT_ID` | S2S only | Account ID for Server-to-Server OAuth module clients | Zoom App Marketplace -> Server-to-Server OAuth app -> App Credentials |
| `RIVET_REDIRECT_URI` | User OAuth only | Redirect URI for install/callback flow | Zoom App Marketplace -> OAuth settings -> Redirect URL |
| `RIVET_STATE_STORE_SECRET` | User OAuth only | State store signing secret | Generated by you (store in secret manager) |

## Port Keys

| Key | Required | Description |
|-----|----------|-------------|
| `RIVET_PORT` | Optional | Single-module HTTP receiver port (default often 8080) |
| `RIVET_CHATBOT_PORT` | Multi-module | Chatbot module port |
| `RIVET_TEAMCHAT_PORT` | Multi-module | Team Chat module port |
| `RIVET_USERS_PORT` | Multi-module | Users module port |
| `RIVET_MEETINGS_PORT` | Multi-module | Meetings module port |
| `RIVET_PHONE_PORT` | Multi-module | Phone module port |
| `RIVET_ACCOUNTS_PORT` | Multi-module | Accounts module port |
| `RIVET_VIDEOSDK_PORT` | Multi-module | Video SDK module port |

## Video SDK-Specific Note

Rivet's `videosdk` module constructor uses `clientId`/`clientSecret` fields, but those map to Video SDK credentials for the app type you configure. Validate with current Video SDK credential model before release.

## Example `.env`

```env
RIVET_CLIENT_ID="..."
RIVET_CLIENT_SECRET="..."
RIVET_WEBHOOK_SECRET_TOKEN="..."
RIVET_ACCOUNT_ID="..."
RIVET_REDIRECT_URI="http://YOUR_DEV_HOST:4002"
RIVET_STATE_STORE_SECRET="replace-me"
RIVET_CHATBOT_PORT=4001
RIVET_TEAMCHAT_PORT=4002
```
