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!
General
Email (Auth, notifications)
Used for sending email notifications and authenticationGoogle Auth
Requirements
Requirements
- Head over the Credentials tab: https://console.developers.google.com/apis/credentials
-
Create an API key. This will be your
NEXT_PUBLIC_GOOGLE_API_KEY -
Create a OAuth client ID. This will be your
GOOGLE_CLIENT_IDandGOOGLE_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:- For production:
- https://<YOUR_DOMAIN>/api/auth/callback/google
- https://<YOUR_DOMAIN>/api/credentials/google-sheets/callback
- For development:
- For production:
Google Sheets
Requirements
Requirements
- Enable the following APIs in the Google Cloud Console: Google Sheets API, Google Picker API
- Head over the Credentials tab: https://console.developers.google.com/apis/credentials
-
Create an API key with access to the Google Picker API. This will be your
NEXT_PUBLIC_GOOGLE_API_KEY -
Create a OAuth client ID. This will be your
GOOGLE_CLIENT_IDandGOOGLE_CLIENT_SECRETMake sure to set the following scopes:userinfo.email,spreadsheets,drive.fileThe “Authorized redirect URIs” used when creating the credentials must include your full domain and end in the callback path:- For production:
- https://<YOUR_DOMAIN>/api/auth/callback/google
- https://<YOUR_DOMAIN>/api/credentials/google-sheets/callback
- For development:
- For production:
- 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.Requirements
Requirements
- Enable the following API in the Google Cloud Console: Web Fonts Developer API
- Head over the Credentials tab: https://console.developers.google.com/apis/credentials
-
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 hereUnsplash (image picker)
Used to search for images. You can create an Unsplash app hereTolgee (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.
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.Requirements
Requirements
1. Create a WhatsApp Meta app
2. Get the System User token
- 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
- The generated token will be used as
META_SYSTEM_USER_TOKENin your viewer configuration. - Click on
Add assets. UnderApps, look for your app, select it and checkManage app
3. Get the phone number ID
-
Go to your WhatsApp Dev Console

-
Add your phone number by clicking on the
Add phone numberbutton. -
Select the newly created phone number in the
Fromdropdown list and you will see right below the associatedPhone number IDThis will be used asWHATSAPP_PREVIEW_FROM_PHONE_NUMBER_IDin your viewer configuration.
4. Set up the webhook
- Head over to
Quickstart > Configuration. Edit the webhook URL to$NEXTAUTH_URL/api/v1/whatsapp/preview/webhook. Set the Verify token to$ENCRYPTION_SECRETand click onVerify and save. - Add the
messageswebhook field.
5. Set up the message template
- Head over to
Messaging > Message Templatesand click onCreate Template - Select the
Utilitycategory - Give it a name that corresponds to your
WHATSAPP_PREVIEW_TEMPLATE_NAMEconfiguration. - Select the language that corresponds to your
WHATSAPP_PREVIEW_TEMPLATE_LANGconfiguration. - 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.Stripe
Stripe
Sentry
Sentry
Vercel (custom domains)
Vercel (custom domains)
Sleekplan
Sleekplan
Telemetry
Telemetry
PostHog
PostHog
System labels
System labels