Use this file to discover all available pages before exploring further.
If you’re self-hosting Typebot, sponsoring
me is a great way to give back to
the community and to contribute to the long-term sustainability of the
project. It also comes with some perks like priority support and private
workshops. ❤️
A 256-bit key used to encrypt sensitive data. It is strongly recommended to generate a new one. The secret should be the same between builder and viewer.
NEXTAUTH_URL *
The builder base URL. Should be the publicly accessible URL (i.e. https://typebot.domain.com)
NEXT_PUBLIC_VIEWER_URL *
The viewer base URL. Should be the publicly accessible URL (i.e. https://bot.domain.com)
ADMIN_EMAIL
The email that will get an UNLIMITED plan on user creation. The associated user will be able to bypass database rules. You can provide multiple emails separated by a comma without spaces.
DEFAULT_WORKSPACE_PLAN
FREE
Default workspace plan on user creation or when a user creates a new workspace. Possible values are FREE, STARTER, PRO, LIFETIME, UNLIMITED. The default plan for admin user is UNLIMITED
DISABLE_SIGNUP
false
Disable new user sign ups. Invited users are still able to sign up.
NEXT_PUBLIC_ONBOARDING_TYPEBOT_ID
Typebot ID used for the onboarding. Onboarding page is skipped if not provided.
TYPEBOT_DEBUG
false
If enabled, the server will print valuable logs to debug config issues.
NEXT_PUBLIC_BOT_FILE_UPLOAD_MAX_SIZE
Limits the size of each file that can be uploaded in the bots (i.e. Set 10 to limit the file upload to 10MB)
CHAT_API_TIMEOUT
The chat API execution timeout (in ms). It limits the chat API exection time. Useful to avoid getting stuck into an unwanted infinite loop. Note that it does not apply to known long-running blocks like OpenAI or else.
Used for sending email notifications and authentication
Parameter
Default
Description
SMTP_USERNAME
SMTP username
SMTP_PASSWORD
SMTP password
SMTP_HOST
SMTP host. (i.e. smtp.host.com)
SMTP_PORT
25
SMTP port
NEXT_PUBLIC_SMTP_FROM
From name and email (i.e. 'Typebot Notifications' <[email protected]>)
SMTP_SECURE
false
If true the connection will use TLS when connecting to server. If false (the default) then TLS is used if server supports the STARTTLS extension. In most cases set this value to true if you are connecting to port 465. For port 587 or 25 keep it false
SMTP_IGNORE_TLS
undefined
If true and SMTP_SECURE is false then TLS is not used while connecting to server even if server supports STARTTLS extension.
SMTP_AUTH_DISABLED
false
To disable the authentication by email but still use the provided config for notifications
Create a OAuth client ID. This will be your GOOGLE_AUTH_CLIENT_ID and GOOGLE_AUTH_CLIENT_SECRETMake sure to set the following scopes: userinfo.emailThe “Authorized redirect URIs” used when creating the credentials must include your full domain and end in the callback path:
Create an API key. This will be your NEXT_PUBLIC_GOOGLE_SHEETS_API_KEY
Create a OAuth client ID. This will be your GOOGLE_SHEETS_CLIENT_ID and GOOGLE_SHEETS_CLIENT_SECRETMake sure to set the following scopes located in your OAuth Consent Screen: spreadsheets, drive.filehttps://developers.google.com/identity/protocols/oauth2/scopesThe “Authorized redirect URIs” used when creating the credentials must include your full domain and end in the callback path:
Create a OAuth client ID. This will be your GMAIL_CLIENT_ID and GMAIL_CLIENT_SECRETMake sure to set the following scopes located in your OAuth Consent Screen: gmail.send, gmail.labels, userinfo.profile, userinfo.emailhttps://developers.google.com/identity/protocols/oauth2/scopesThe “Authorized redirect URIs” used when creating the credentials must include your full domain and end in the callback path:
Used for authenticating with GitHub. By default, it uses the credentials of a Typebot-dev app.You can create your own GitHub OAuth app here. The Authorization callback URL should be $NEXTAUTH_URL/api/auth/callback/github
Parameter
Default
Description
GITHUB_CLIENT_ID
Application client ID. Also used to check if it is enabled in the front-end
Used for authenticating with GitLab.
Follow the official GitLab guide for creating OAuth2 applications here.
The Authorization callback URL should be $NEXTAUTH_URL/api/auth/callback/gitlab
Parameter
Default
Description
GITLAB_CLIENT_ID
Application client ID. Also used to check if it is enabled in the front-end
If you are using Azure Active Directory for the authentication you can set the following environment variables.
The Authorization callback URL should be $NEXTAUTH_URL/api/auth/callback/azure-ad
Parameter
Default
Description
AZURE_AD_CLIENT_ID
Application client ID
AZURE_AD_CLIENT_SECRET
Application client secret. Can be obtained from Azure Portal.
For *_PATH parameters, you can use dot notation to access nested properties (i.e. account.name).The Authorization callback URL should be: $NEXTAUTH_URL/api/auth/callback/custom-oauth
Used for uploading images, videos, etc… It can be any S3 compatible object storage service (Minio, Digital Oceans Space, AWS S3…)
Parameter
Default
Description
S3_ACCESS_KEY
S3 access key. Also used to check if upload feature is enabled
S3_SECRET_KEY
S3 secret key.
S3_BUCKET
typebot
Name of the bucket where assets will be uploaded in.
S3_PORT
S3 Host port number
S3_ENDPOINT
S3 endpoint (i.e. s3.domain.com).
S3_SSL
true
Use SSL when establishing the connection.
S3_REGION
S3 region.
S3_PUBLIC_CUSTOM_DOMAIN
If the final URL that is used to read public files is different from S3_ENDPOINT
Note that for AWS S3, your endpoint is usually: s3.<S3_REGION>.amazonaws.comIn order to function properly, your S3 bucket must be configured. Make sure to read through the S3 configuration doc.
Add your phone number by clicking on the Add phone number button.
Select the newly created phone number in the From dropdown list and you will see right below the associated Phone number ID This will be used as WHATSAPP_PREVIEW_FROM_PHONE_NUMBER_ID in your viewer configuration.
Head over to Quickstart > Configuration. Edit the webhook URL to $NEXTAUTH_URL/api/v1/whatsapp/preview/webhook. Set the Verify token to $ENCRYPTION_SECRET and click on Verify and save.
PartyKit is optional and is used to make the webhook block work. The PartyKit configuration is located in packages/partykit folder. You can deploy the server into production using bun deploy. You can find more information about PartyKit deployment in their official documentation.