Configuração
Se você hospeda o GG.chatbot por conta própria, me patrocinar é uma ótima forma de retribuir à comunidade e contribuir para a sustentabilidade do projeto a longo prazo. E ainda dá acesso a alguns benefícios, como suporte prioritário e workshops privados. ❤️
Parâmetros marcados com * são obrigatórios.
Geral
| Parâmetro | Padrão | Descrição |
|---|---|---|
| DATABASE_URL * | A URL do banco de dados | |
| ENCRYPTION_SECRET * | Uma chave de 256 bits usada para criptografar dados sensíveis. Recomendamos fortemente gerar uma nova. O segredo deve ser o mesmo no builder e no viewer. | |
| NEXTAUTH_URL * | A URL base do builder. Deve ser o endereço publicamente acessível (por exemplo, https://typebot.domain.com) | |
| NEXT_PUBLIC_VIEWER_URL * | A URL base do viewer. Deve ser o endereço publicamente acessível (por exemplo, https://bot.domain.com) | |
| ADMIN_EMAIL | O e-mail que receberá o plano UNLIMITED ao criar a conta. O usuário associado poderá ignorar as regras do banco. Você pode informar vários e-mails separados por vírgula, sem espaços. | |
| DEFAULT_WORKSPACE_PLAN | FREE | Plano padrão do espaço de trabalho ao criar a conta ou ao criar um novo espaço. Valores possíveis: FREE, STARTER, PRO, LIFETIME, UNLIMITED. O plano padrão do usuário administrador é UNLIMITED |
| DISABLE_SIGNUP | false | Desativa novos cadastros. Usuários convidados ainda conseguem se cadastrar. |
| NEXT_PUBLIC_ONBOARDING_TYPEBOT_ID | ID do bot usado na apresentação inicial. A página é pulada se não for informado. | |
| TYPEBOT_DEBUG | false | Quando ativado, o servidor imprime registros úteis para diagnosticar problemas de configuração. |
| NEXT_PUBLIC_BOT_FILE_UPLOAD_MAX_SIZE | Limita o tamanho de cada arquivo que pode ser enviado nos bots (por exemplo, 10 limita o envio a 10 MB) | |
| CHAT_API_TIMEOUT | Tempo limite de execução da API de conversa (em ms). Serve para evitar laços infinitos indesejados. Não se aplica a blocos naturalmente demorados, como os de IA. |
E-mail (autenticação e notificações)
Usado para enviar notificações por e-mail e para a autenticação.
| Parâmetro | Padrão | Descrição |
|---|---|---|
| SMTP_USERNAME | Usuário do SMTP | |
| SMTP_PASSWORD | Senha do SMTP | |
| SMTP_HOST | Servidor SMTP (por exemplo, smtp.host.com) | |
| SMTP_PORT | 25 | Porta do SMTP |
| NEXT_PUBLIC_SMTP_FROM | Nome e e-mail do remetente (por exemplo, 'GG.chatbot Notifications' <notifications@host.com>) | |
| SMTP_SECURE | false | Se verdadeiro, a conexão usa TLS. Se falso (o padrão), o TLS é usado apenas se o servidor suportar a extensão STARTTLS. Na maioria dos casos, defina como verdadeiro ao conectar na porta 465; nas portas 587 ou 25, mantenha falso. |
| SMTP_IGNORE_TLS | undefined | Se verdadeiro e SMTP_SECURE for falso, o TLS não é usado na conexão, mesmo que o servidor suporte STARTTLS. |
| SMTP_AUTH_DISABLED | false | Desativa a autenticação por e-mail, mas mantém a configuração para as notificações. |
Google Auth
| Parâmetro | Padrão | Descrição |
|---|---|---|
| GOOGLE_AUTH_CLIENT_ID | O Client ID do Google API Console | |
| GOOGLE_AUTH_CLIENT_SECRET | O Client secret do Google API Console |
Google Sheets
| Parâmetro | Padrão | Descrição |
|---|---|---|
| GOOGLE_SHEETS_CLIENT_ID | O Client ID do Google API Console | |
| GOOGLE_SHEETS_CLIENT_SECRET | O Client secret do Google API Console | |
| NEXT_PUBLIC_GOOGLE_SHEETS_API_KEY | A API Key do Google API Console |
Gmail
Google Fonts
Usado na autenticação do builder e na etapa de integração com o Google Sheets.
| Parâmetro | Padrão | Descrição |
|---|---|---|
| NEXT_PUBLIC_GOOGLE_FONTS_API_KEY | A API Key do Google API Console |
GitHub (autenticação)
Usado para autenticar com o GitHub. Por padrão, usa as credenciais de um aplicativo de desenvolvimento.
Você pode criar seu próprio aplicativo OAuth do GitHub aqui. A URL de retorno da autorização deve ser $NEXTAUTH_URL/api/auth/callback/github
| Parâmetro | Padrão | Descrição |
|---|---|---|
| GITHUB_CLIENT_ID | Client ID do aplicativo. Também serve para verificar se está ativo no front | |
| GITHUB_CLIENT_SECRET | Segredo do aplicativo |
GitLab (autenticação)
Usado para autenticar com o GitLab.
Siga o guia oficial do GitLab para criar aplicações OAuth2 aqui.
A URL de retorno da autorização deve ser $NEXTAUTH_URL/api/auth/callback/gitlab
| Parâmetro | Padrão | Descrição |
|---|---|---|
| GITLAB_CLIENT_ID | Client ID do aplicativo. Também serve para verificar se está ativo no front | |
| GITLAB_CLIENT_SECRET | Segredo do aplicativo | |
| GITLAB_BASE_URL | https://gitlab.com | URL base da instância do GitLab |
| GITLAB_REQUIRED_GROUPS | Lista de grupos, separados por vírgula, dos quais o usuário precisa ser membro direto — por exemplo, foo,bar | |
| GITLAB_NAME | GitLab | Nome da instância do GitLab, usado no botão de login SSO |
Facebook (autenticação)
Você pode criar seu próprio aplicativo OAuth do Facebook aqui.
A URL de retorno da autorização deve ser $NEXTAUTH_URL/api/auth/callback/facebook
| Parâmetro | Padrão | Descrição |
|---|---|---|
| FACEBOOK_CLIENT_ID | Client ID do aplicativo. Também serve para verificar se está ativo no front | |
| FACEBOOK_CLIENT_SECRET | Segredo do aplicativo |
Azure AD (autenticação)
Se você usa o Azure Active Directory para autenticação, defina as variáveis de ambiente abaixo.
A URL de retorno da autorização deve ser $NEXTAUTH_URL/api/auth/callback/azure-ad
| Parâmetro | Padrão | Descrição |
|---|---|---|
| AZURE_AD_CLIENT_ID | Client ID do aplicativo | |
| AZURE_AD_CLIENT_SECRET | Segredo do aplicativo. Obtido no Portal do Azure. | |
| AZURE_AD_TENANT_ID | ID do tenant do Azure |
Keycloak (autenticação)
Usado para autenticar com o Keycloak. Siga o guia oficial do Keycloak para criar aplicações OAuth2 aqui.
| Parâmetro | Padrão | Descrição |
|---|---|---|
| KEYCLOAK_CLIENT_ID | Client ID do aplicativo. | |
| KEYCLOAK_CLIENT_SECRET | Segredo do aplicativo | |
| KEYCLOAK_REALM | Seu Realm do Keycloak | |
| KEYCLOAK_BASE_URL | URL base da instância do Keycloak |
Provedor OAuth personalizado (autenticação)
Seu provedor precisa suportar o padrão OpenID Connect.
| Parâmetro | Padrão | Descrição |
|---|---|---|
| CUSTOM_OAUTH_CLIENT_ID * | Client ID do OAuth. | |
| CUSTOM_OAUTH_CLIENT_SECRET * | Segredo do cliente OAuth. | |
| CUSTOM_OAUTH_ISSUER * | URL do emissor OAuth (por exemplo, https://auth.domain.com/openid) | |
| CUSTOM_OAUTH_NAME | Custom OAuth | Nome do provedor. Aparece no formulário de login. |
| CUSTOM_OAUTH_WELL_KNOWN_URL | CUSTOM_OAUTH_ISSUER/.well-known/openid-configuration | URL .well-known do provedor |
| CUSTOM_OAUTH_USER_ID_PATH | id | Usado para mapear o id no objeto de informações do usuário |
| CUSTOM_OAUTH_USER_NAME_PATH | name | Usado para mapear o nome no objeto de informações do usuário |
| CUSTOM_OAUTH_USER_EMAIL_PATH | Usado para mapear o e-mail no objeto de informações do usuário | |
| CUSTOM_OAUTH_USER_IMAGE_PATH | image | Usado para mapear a imagem no objeto de informações do usuário |
| CUSTOM_OAUTH_SCOPE | openid profile email | Escopo do OAuth |
Nos parâmetros *_PATH, você pode usar notação de ponto para acessar propriedades aninhadas (por exemplo, account.name).
A URL de retorno da autorização deve ser: $NEXTAUTH_URL/api/auth/callback/custom-oauth
Armazenamento S3 (envio de mídia)
Usado para enviar imagens, vídeos e afins. Pode ser qualquer serviço de armazenamento de objetos compatível com S3 (Minio, DigitalOcean Spaces, AWS S3 e outros).
| Parâmetro | Padrão | Descrição |
|---|---|---|
| S3_ACCESS_KEY | Chave de acesso do S3. Também serve para verificar se o envio de arquivos está ativo | |
| S3_SECRET_KEY | Chave secreta do S3. | |
| S3_BUCKET | typebot | Nome do bucket onde os arquivos serão enviados. |
| S3_PORT | Número da porta do host S3 | |
| S3_ENDPOINT | Endpoint do S3 (por exemplo, s3.domain.com). | |
| S3_SSL | true | Usar SSL ao estabelecer a conexão. |
| S3_REGION | Região do S3. | |
| S3_PUBLIC_CUSTOM_DOMAIN | Se a URL final usada para ler arquivos públicos for diferente de S3_ENDPOINT |
Para o AWS S3, o endpoint costuma ser: s3.<S3_REGION>.amazonaws.com
Para funcionar corretamente, seu bucket precisa estar configurado. Leia a documentação de configuração do S3.
Giphy (seletor de GIF)
Usado para buscar GIFs. Você pode criar um aplicativo Giphy aqui.
| Parâmetro | Padrão | Descrição |
|---|---|---|
| NEXT_PUBLIC_GIPHY_API_KEY | Chave de API do Giphy |
Unsplash (seletor de imagens)
Usado para buscar imagens. Você pode criar um aplicativo Unsplash aqui.
| Parâmetro | Padrão | Descrição |
|---|---|---|
| NEXT_PUBLIC_UNSPLASH_APP_NAME | Nome do aplicativo Unsplash | |
| NEXT_PUBLIC_UNSPLASH_ACCESS_KEY | Chave de API do Unsplash |
Pexels (seletor de vídeos)
Usado para buscar vídeos. Você pode criar um aplicativo Pexels aqui.
| Parâmetro | Padrão | Descrição |
|---|---|---|
| NEXT_PUBLIC_PEXELS_API_KEY | Chave de API do Pexels |
Tolgee (ferramenta de contribuição de tradução)
Se você quiser contribuir com a tradução, entre no servidor do Discord e peça acesso ao Tolgee no canal #contributors.
Defina estas variáveis de ambiente para habilitar a ferramenta de desenvolvimento do Tolgee.
| Parâmetro | Padrão | Descrição |
|---|---|---|
| NEXT_PUBLIC_TOLGEE_API_KEY | Sua chave de API do Tolgee | |
| NEXT_PUBLIC_TOLGEE_API_URL | https://tolgee.server.baptistearno.com | A URL base da API do Tolgee |
WhatsApp (pré-visualização)
Para testar seu bot no WhatsApp a partir do painel de pré-visualização, você precisa configurar um aplicativo do WhatsApp Business.
| Parâmetro | Padrão | Descrição |
|---|---|---|
| META_SYSTEM_USER_TOKEN | O token do usuário de sistema usado para enviar mensagens no WhatsApp | |
| WHATSAPP_PREVIEW_FROM_PHONE_NUMBER_ID | O ID do número de telefone a partir do qual a mensagem será enviada | |
| WHATSAPP_PREVIEW_APP_SECRET | O segredo do aplicativo Meta, usado para verificar as assinaturas do webhook de pré-visualização | |
| WHATSAPP_PREVIEW_TEMPLATE_NAME | O nome do modelo de mensagem que inicia a pré-visualização | |
| WHATSAPP_PREVIEW_TEMPLATE_LANG | en_US | O idioma do modelo de mensagem que inicia a pré-visualização |
| WHATSAPP_CLOUD_API_URL | https://graph.facebook.com | A URL base da WhatsApp Cloud API |
| WHATSAPP_INTERACTIVE_GROUP_SIZE | 3 | Quantidade de itens enviados à API em entradas de escolha. Não é possível usar um número maior que 3 com a URL oficial da Cloud API. |
Redis
No GG.chatbot, o Redis é opcional e serve para:
- Limitar a taxa de requisições de login por IP
- Habilitar o envio de várias mídias no WhatsApp
| Parâmetro | Padrão | Descrição |
|---|---|---|
| REDIS_URL | A URL do banco. Por exemplo, redis://<username>:<password>@<host>:<port> |
PartyKit
O PartyKit é opcional e faz o bloco de webhook funcionar. A configuração fica na pasta packages/partykit. Você publica o servidor em produção com bun deploy. Há mais informações sobre publicação na documentação oficial deles.
| Parâmetro | Padrão | Descrição |
|---|---|---|
| NEXT_PUBLIC_PARTYKIT_HOST | Host do PartyKit. Por exemplo, partykit.typebot.io |
Outros
As variáveis de ambiente a seguir estão listadas por completude, mas provavelmente não interessam a quem hospeda o GG.chatbot por conta própria.