Getting Started
Environment Variables
See the example env file in the official repository.
Server
Variable | Value | Example |
---|---|---|
SERVER_TYPE | The type of server (http or https) | http |
SERVER_PORT | Port on which the server will run | 8080 |
SERVER_URL | The address for your running server. This address is used to return data from internal requests, such as webhook links. | https://example.evolution-api.com |
Telemetry
Variable | Value | Example |
---|---|---|
TELEMETRY | Enables or disables telemetry (true or false) | true |
TELEMETRY_URL | URL of the telemetry server | https://telemetry.example.com |
CORS
Variable | Value | Example |
---|---|---|
CORS_ORIGIN | Allowed origins for the API, separated by commas (use ”*” to accept requests from any origin) | * |
CORS_METHODS | Allowed HTTP methods, separated by commas | GET,POST,PUT,DELETE |
CORS_CREDENTIALS | Permission for cookies in requests (true or false) | true |
Logs
Variable | Value | Example |
---|---|---|
LOG_LEVEL | Logs that will be displayed among: ERROR, WARN, DEBUG, INFO, LOG, VERBOSE, DARK, WEBHOOKS | ERROR,WARN,DEBUG,INFO,LOG,VERBOSE,DARK,WEBHOOKS |
LOG_COLOR | Whether or not to show colors in Logs (true or false) | true |
LOG_BAILEYS | Which Baileys logs will be displayed among: “fatal”, “error”, “warn”, “info”, “debug”, “trace” | error |
Instances
Variable | Value | Example |
---|---|---|
DEL_INSTANCE | In how many minutes an instance will be deleted if not connected. Use “false” to never delete | false |
Persistent Storage
Variable | Value | Example |
---|---|---|
DATABASE_ENABLED | Whether persistent storage is enabled (true or false) | true |
DATABASE_PROVIDER | Database provider (postgresql or mysql) | postgresql |
DATABASE_CONNECTION_URI | The database connection URI | postgresql://user:pass@localhost:5432/evolution?schema=public |
DATABASE_CONNECTION_CLIENT_NAME | Client name for the database connection, used to separate one API installation from another using the same database | evolution_exchange |
Which data will be saved (true or false)
Variable | Value |
---|---|
DATABASE_SAVE_DATA_INSTANCE | Saves instance data |
DATABASE_SAVE_DATA_NEW_MESSAGE | Saves new messages |
DATABASE_SAVE_MESSAGE_UPDATE | Saves message updates |
DATABASE_SAVE_DATA_CONTACTS | Saves contacts |
DATABASE_SAVE_DATA_CHATS | Saves chats |
DATABASE_SAVE_DATA_LABELS | Saves labels |
DATABASE_SAVE_DATA_HISTORIC | Saves event history |
RabbitMQ
Variable | Value | Example |
---|---|---|
RABBITMQ_ENABLED | Enables RabbitMQ (true or false) | false |
RABBITMQ_URI | RabbitMQ connection URI | amqp://localhost |
RABBITMQ_EXCHANGE_NAME | Exchange name | evolution |
RABBITMQ_GLOBAL_ENABLED | Enables RabbitMQ globally (true or false) | false |
Choose the events you want to send to RabbitMQ
Variable | Value | Example |
---|---|---|
RABBITMQ_EVENTS_APPLICATION_STARTUP | Sends an event on app startup (true or false) | false |
RABBITMQ_EVENTS_INSTANCE_CREATE | Sends instance creation events (true or false) | false |
RABBITMQ_EVENTS_INSTANCE_DELETE | Sends instance deletion events (true or false) | false |
RABBITMQ_EVENTS_QRCODE_UPDATED | Sends QR Code update events (true or false) | false |
RABBITMQ_EVENTS_MESSAGES_SET | Sends message creation events (message retrieval) (true or false) | false |
RABBITMQ_EVENTS_MESSAGES_UPSERT | Sends message receipt events (true or false) | false |
RABBITMQ_EVENTS_MESSAGES_EDITED | Sends message editing events (true or false) | false |
RABBITMQ_EVENTS_MESSAGES_UPDATE | Sends message update events (true or false) | false |
RABBITMQ_EVENTS_MESSAGES_DELETE | Sends message deletion events (true or false) | false |
RABBITMQ_EVENTS_SEND_MESSAGE | Sends message sending events (true or false) | false |
RABBITMQ_EVENTS_CONTACTS_SET | Sends contact creation events (true or false) | false |
RABBITMQ_EVENTS_CONTACTS_UPSERT | Sends contact retrieval events (true or false) | false |
RABBITMQ_EVENTS_CONTACTS_UPDATE | Sends contact update events (true or false) | false |
RABBITMQ_EVENTS_PRESENCE_UPDATE | Sends presence update events (“typing…” or “recording…“) (true or false) | false |
RABBITMQ_EVENTS_CHATS_SET | Sends chat creation events (chat retrieval) (true or false) | false |
RABBITMQ_EVENTS_CHATS_UPSERT | Sends chat creation events (receiving or sending messages in new chats) (true or false) | false |
RABBITMQ_EVENTS_CHATS_UPDATE | Sends chat update events (true or false) | false |
RABBITMQ_EVENTS_CHATS_DELETE | Sends chat deletion events (true or false) | false |
RABBITMQ_EVENTS_GROUPS_UPSERT | Sends group creation events (true or false) | false |
RABBITMQ_EVENTS_GROUP_UPDATE | Sends group update events (true or false) | false |
RABBITMQ_EVENTS_GROUP_PARTICIPANTS_UPDATE | Sends group participant update events (true or false) | false |
RABBITMQ_EVENTS_CONNECTION_UPDATE | Sends connection update events (true or false) | false |
RABBITMQ_EVENTS_CALL | Sends call events (true or false) | false |
RABBITMQ_EVENTS_TYPEBOT_START | Sends Typebot flow start events (true or false) | false |
RABBITMQ_EVENTS_TYPEBOT_CHANGE_STATUS | Sends Typebot status update events (true or false) | false |
SQS
Variable | Value | Example |
---|---|---|
SQS_ENABLED | Whether SQS is enabled (true or false) | false |
SQS_ACCESS_KEY_ID | SQS key ID | - |
SQS_SECRET_ACCESS_KEY | Access key | - |
SQS_ACCOUNT_ID | Account ID | - |
SQS_REGION | SQS region | - |
WebSocket
Variable | Value | Example |
---|---|---|
WEBSOCKET_ENABLED | Enables WebSocket (true or false) | false |
WEBSOCKET_GLOBAL_EVENTS | Enables global events in WebSocket (true or false) | false |
WhatsApp Business API
Variable | Value | Example |
---|---|---|
WA_BUSINESS_TOKEN_WEBHOOK | Token used to validate the webhook in the Facebook APP | evolution |
WA_BUSINESS_URL | WhatsApp Business API URL | https://graph.facebook.com |
WA_BUSINESS_VERSION | WhatsApp Business API version | v20.0 |
WA_BUSINESS_LANGUAGE | WhatsApp Business API language | en_US |
Global Webhook
Variable | Value | Example |
---|---|---|
WEBHOOK_GLOBAL_ENABLED | Whether webhooks are globally enabled (true or false) | false |
WEBHOOK_GLOBAL_URL | URL that will receive webhook requests | https://webhook.example.com |
WEBHOOK_GLOBAL_WEBHOOK_BY_EVENTS | Enables webhook by event, respecting the global URL and each event’s name (true or false) | false |
Webhook events with true or false value
Variable |
---|
WEBHOOK_EVENTS_APPLICATION_STARTUP |
WEBHOOK_EVENTS_QRCODE_UPDATED |
WEBHOOK_EVENTS_MESSAGES_SET |
WEBHOOK_EVENTS_MESSAGES_UPSERT |
WEBHOOK_EVENTS_MESSAGES_EDITED |
WEBHOOK_EVENTS_MESSAGES_UPDATE |
WEBHOOK_EVENTS_MESSAGES_DELETE |
WEBHOOK_EVENTS_SEND_MESSAGE |
WEBHOOK_EVENTS_CONTACTS_SET |
WEBHOOK_EVENTS_CONTACTS_UPSERT |
WEBHOOK_EVENTS_CONTACTS_UPDATE |
WEBHOOK_EVENTS_PRESENCE_UPDATE |
WEBHOOK_EVENTS_CHATS_SET |
WEBHOOK_EVENTS_CHATS_UPSERT |
WEBHOOK_EVENTS_CHATS_UPDATE |
WEBHOOK_EVENTS_CHATS_DELETE |
WEBHOOK_EVENTS_GROUPS_UPSERT |
WEBHOOK_EVENTS_GROUPS_UPDATE |
WEBHOOK_EVENTS_GROUP_PARTICIPANTS_UPDATE |
WEBHOOK_EVENTS_CONNECTION_UPDATE |
WEBHOOK_EVENTS_LABELS_EDIT |
WEBHOOK_EVENTS_LABELS_ASSOCIATION |
WEBHOOK_EVENTS_CALL |
WEBHOOK_EVENTS_TYPEBOT_START |
WEBHOOK_EVENTS_TYPEBOT_CHANGE_STATUS |
WEBHOOK_EVENTS_ERRORS |
WEBHOOK_EVENTS_ERRORS_WEBHOOK |
Session Configurations
Variable | Value | Example |
---|---|---|
CONFIG_SESSION_PHONE_CLIENT | Name that will be displayed on the smartphone connection | Evolution API |
CONFIG_SESSION_PHONE_NAME | Browser name (Chrome, Firefox, Edge, Opera, Safari) | Chrome |
QR Code
Variable | Value | Example |
---|---|---|
QRCODE_LIMIT | How long the QR code will last | 30 |
QRCODE_COLOR | Color of the generated QR code | #175197 |
Typebot
Variable | Value | Example |
---|---|---|
TYPEBOT_API_VERSION | API version (fixed |
version or latest) | latest |
Chatwoot
Variable | Value | Example |
---|---|---|
CHATWOOT_ENABLED | Enables integration with Chatwoot (true or false) | false |
CHATWOOT_MESSAGE_READ | Marks the client’s last WhatsApp message as read when sending a message in Chatwoot (true or false) | true |
CHATWOOT_MESSAGE_DELETE | Deletes the message in Chatwoot when deleted in WhatsApp (true or false) | true |
CHATWOOT_IMPORT_DATABASE_CONNECTION_URI | Database connection URI for Chatwoot to import messages | postgresql://user:password@host:5432/chatwoot?sslmode=disable |
CHATWOOT_IMPORT_PLACEHOLDER_MEDIA_MESSAGE | Imports media messages as a placeholder in Chatwoot (true or false) | true |
OpenAI
Variable | Value | Example |
---|---|---|
OPENAI_ENABLED | Enables integration with OpenAI (true or false) | false |
Dify
Variable | Value | Example |
---|---|---|
DIFY_ENABLED | Enables integration with Dify (true or false) | false |
Cache
Variable | Value | Example |
---|---|---|
CACHE_REDIS_ENABLED | Enables Redis cache (true or false) | true |
CACHE_REDIS_URI | Redis connection URI | redis://localhost:6379/6 |
CACHE_REDIS_PREFIX_KEY | Prefix to differentiate data from one installation to another using the same Redis | evolution |
CACHE_REDIS_SAVE_INSTANCES | Saves WhatsApp connection credentials in Redis (true or false) | false |
CACHE_LOCAL_ENABLED | Enables local in-memory cache as an alternative to Redis (true or false) | false |
Amazon S3 / MinIO
Variable | Value | Example |
---|---|---|
S3_ENABLED | Enables storage on S3 (true or false) | false |
S3_ACCESS_KEY | S3 access key | - |
S3_SECRET_KEY | S3 secret key | - |
S3_BUCKET | S3 bucket name | evolution |
S3_PORT | S3 connection port | 443 |
S3_ENDPOINT | S3 (or MinIO) endpoint | s3.amazonaws.com |
S3_USE_SSL | Uses SSL for S3 connection (true or false) | true |
Authentication
Variable | Value | Example |
---|---|---|
AUTHENTICATION_API_KEY | API key used for global authentication | 429683C4C977415CAAFCCE10F7D57E11 |
AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES | Shows instances in the fetch endpoint (true or false) | true |
Language
Variable | Value | Example |
---|---|---|
LANGUAGE | API language | en |