Skip to main content
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. Thank you for supporting independent creators of Free Open Source Software!
Parameters marked with * are required.

General

Email (Auth, notifications)

Used for sending email notifications and authentication

Google Auth

  1. Head over the Credentials tab: https://console.developers.google.com/apis/credentials
  2. Create an API key. This will be your NEXT_PUBLIC_GOOGLE_API_KEY
  3. Create a OAuth client ID. This will be your GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET Make sure to set the following scopes: userinfo.email The “Authorized redirect URIs” used when creating the credentials must include your full domain and end in the callback path:

Google Sheets

  1. Enable the following APIs in the Google Cloud Console: Google Sheets API, Google Picker API
  2. Head over the Credentials tab: https://console.developers.google.com/apis/credentials
  3. Create an API key with access to the Google Picker API. This will be your NEXT_PUBLIC_GOOGLE_API_KEY
  4. Create a OAuth client ID. This will be your GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET Make sure to set the following scopes: userinfo.email, spreadsheets, drive.file The “Authorized redirect URIs” used when creating the credentials must include your full domain and end in the callback path:
  5. To avoid having to always reconnect a Google Sheets credentials every 7 days, you need to promote your OAuth client to production (https://developers.google.com/nest/device-access/reference/errors/authorization#refresh_token_keeps_expiring)

Google Fonts

Used authentication in the builder and for the Google Sheets integration step.
  1. Enable the following API in the Google Cloud Console: Web Fonts Developer API
  2. Head over the Credentials tab: https://console.developers.google.com/apis/credentials
  3. Create an API key with access to the Web Fonts Developer API. This will be your NEXT_PUBLIC_GOOGLE_API_KEY

GitHub (Auth)

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

GitLab (Auth)

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

Facebook (Auth)

You can create your own Facebook OAuth app here. The Authorization callback URL should be $NEXTAUTH_URL/api/auth/callback/facebook

Azure AD (Auth)

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

Custom OAuth Provider (Auth)

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

S3 Storage (Media uploads)

Used for uploading images, videos, etc… It can be any S3 compatible object storage service (Minio, Digital Oceans Space, AWS S3…) Note that for AWS S3, your endpoint is usually: s3.<S3_REGION>.amazonaws.com In order to function properly, your S3 bucket must be configured. Make sure to read through the S3 configuration doc.

Giphy (GIF picker)

Used to search for GIF. You can create a Giphy app here

Unsplash (image picker)

Used to search for images. You can create an Unsplash app here

Tolgee (i18n contribution dev tool)

If you’d like to join contribute to Typebot’s translation join the Discord server and ask for an access to Tolgee in the #contributors channel.
Set up these environment variables to enable Tolgee dev tool.

WhatsApp (Preview)

In order to be able to test your bot on WhatsApp from the Preview drawer, you need to set up a WhatsApp business app.

1. Create a WhatsApp Meta app

2. Get the System User token

  1. Go to your System users page and create a new system user that has access to the related.
  • Token expiration: Never
  • Available Permissions: whatsapp_business_messaging, whatsapp_business_management
  1. The generated token will be used as META_SYSTEM_USER_TOKEN in your viewer configuration.
  2. Click on Add assets. Under Apps, look for your app, select it and check Manage app

3. Get the phone number ID

  1. Go to your WhatsApp Dev Console
    WhatsApp dev console
  2. Add your phone number by clicking on the Add phone number button.
  3. 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.

4. Set up the webhook

  1. 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.
  2. Add the messages webhook field.

5. Set up the message template

  1. Head over to Messaging > Message Templates and click on Create Template
  2. Select the Utility category
  3. Give it a name that corresponds to your WHATSAPP_PREVIEW_TEMPLATE_NAME configuration.
  4. Select the language that corresponds to your WHATSAPP_PREVIEW_TEMPLATE_LANG configuration.
  5. You can format it as you’d like. The user will just have to send a message to start the preview.

Others

The official Typebot managed service uses other services such as Stripe for processing payments, Sentry for tracking bugs and Sleekplan for user feedbacks. The related environment variables are listed here but you are probably not interested in these if you self-host Typebot.