Skip to main content

Viewer configuration

Parameters marked with * are required.

General

ParameterDefaultDescription
DATABASE_URL *The database URL
ENCRYPTION_SECRET *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.
NEXT_PUBLIC_VIEWER_URL *The viewer base URL. Should be the publicly accessible URL (i.e. https://bot.domain.com)
NEXTAUTH_URL *The builder base URL. Should be the publicly accessible URL (i.e. https://typebot.domain.com)
DEBUGfalseIf enabled, the server will print valuable logs to debug config issues.

Emails (Notifications)

Used for sending email notifications and authentication

ParameterDefaultDescription
SMTP_USERNAMESMTP username
SMTP_PASSWORDSMTP password
SMTP_HOSTSMTP host. (i.e. smtp.host.com)
SMTP_PORT25SMTP port
SMTP_FROMFrom name and email (i.e. 'Typebot Notifications' <notifications@typebot.io>)
SMTP_SECUREfalseIf 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

Google (Sheets)

Used when executing a Google Sheets block. Make sure to set the required scopes (userinfo.email, spreadsheets, drive.readonly) in your console

ParameterDefaultDescription
GOOGLE_CLIENT_IDThe Client ID from the Google API Console
GOOGLE_CLIENT_SECRETThe Client secret from the Google API Console

Configuration

https://console.developers.google.com/apis/credentials

The "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/credentials/google-sheets/callback
  • For development: http://localhost:3000/api/credentials/google-sheets/callback

S3 Storage (File upload input)

Used for the file upload input. It can be any S3 compatible object storage service (Minio, Digital Oceans Space, AWS S3...)

ParameterDefaultDescription
S3_ACCESS_KEYS3 access key. Also used to check if upload feature is enabled
S3_SECRET_KEYS3 secret key.
S3_BUCKETtypebotName of the bucket where assets will be uploaded in.
S3_PORTS3 Host port number
S3_ENDPOINTS3 endpoint (i.e. s3.domain.com).
S3_SSLtrueUse SSL when establishing the connection.
S3_REGIONS3 region.

Note that for AWS S3, your endpoint is usually: s3.<S3_REGION>.amazonaws.com

Your bucket must have the following policy that tells S3 to allow public read when an object is located under the public folder:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicRead",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::<BUCKET_NAME>/public/*"
}
]
}

You also need to configure CORS so that an object can be uploaded from the browser:

[
{
"AllowedHeaders": ["*"],
"AllowedMethods": ["PUT", "POST"],
"AllowedOrigins": ["*"],
"ExposeHeaders": ["ETag"]
}
]
note

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!