GG.chatbot

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âmetroPadrãoDescriçã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_EMAILO 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_PLANFREEPlano 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_SIGNUPfalseDesativa novos cadastros. Usuários convidados ainda conseguem se cadastrar.
NEXT_PUBLIC_ONBOARDING_TYPEBOT_IDID do bot usado na apresentação inicial. A página é pulada se não for informado.
TYPEBOT_DEBUGfalseQuando ativado, o servidor imprime registros úteis para diagnosticar problemas de configuração.
NEXT_PUBLIC_BOT_FILE_UPLOAD_MAX_SIZELimita o tamanho de cada arquivo que pode ser enviado nos bots (por exemplo, 10 limita o envio a 10 MB)
CHAT_API_TIMEOUTTempo 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âmetroPadrãoDescrição
SMTP_USERNAMEUsuário do SMTP
SMTP_PASSWORDSenha do SMTP
SMTP_HOSTServidor SMTP (por exemplo, smtp.host.com)
SMTP_PORT25Porta do SMTP
NEXT_PUBLIC_SMTP_FROMNome e e-mail do remetente (por exemplo, 'GG.chatbot Notifications' <notifications@host.com>)
SMTP_SECUREfalseSe 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_TLSundefinedSe verdadeiro e SMTP_SECURE for falso, o TLS não é usado na conexão, mesmo que o servidor suporte STARTTLS.
SMTP_AUTH_DISABLEDfalseDesativa a autenticação por e-mail, mas mantém a configuração para as notificações.

Google Auth

ParâmetroPadrãoDescrição
GOOGLE_AUTH_CLIENT_IDO Client ID do Google API Console
GOOGLE_AUTH_CLIENT_SECRETO Client secret do Google API Console

Google Sheets

ParâmetroPadrãoDescrição
GOOGLE_SHEETS_CLIENT_IDO Client ID do Google API Console
GOOGLE_SHEETS_CLIENT_SECRETO Client secret do Google API Console
NEXT_PUBLIC_GOOGLE_SHEETS_API_KEYA 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âmetroPadrãoDescrição
NEXT_PUBLIC_GOOGLE_FONTS_API_KEYA 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âmetroPadrãoDescrição
GITHUB_CLIENT_IDClient ID do aplicativo. Também serve para verificar se está ativo no front
GITHUB_CLIENT_SECRETSegredo 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âmetroPadrãoDescrição
GITLAB_CLIENT_IDClient ID do aplicativo. Também serve para verificar se está ativo no front
GITLAB_CLIENT_SECRETSegredo do aplicativo
GITLAB_BASE_URLhttps://gitlab.comURL base da instância do GitLab
GITLAB_REQUIRED_GROUPSLista de grupos, separados por vírgula, dos quais o usuário precisa ser membro direto — por exemplo, foo,bar
GITLAB_NAMEGitLabNome 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âmetroPadrãoDescrição
FACEBOOK_CLIENT_IDClient ID do aplicativo. Também serve para verificar se está ativo no front
FACEBOOK_CLIENT_SECRETSegredo 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âmetroPadrãoDescrição
AZURE_AD_CLIENT_IDClient ID do aplicativo
AZURE_AD_CLIENT_SECRETSegredo do aplicativo. Obtido no Portal do Azure.
AZURE_AD_TENANT_IDID 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âmetroPadrãoDescrição
KEYCLOAK_CLIENT_IDClient ID do aplicativo.
KEYCLOAK_CLIENT_SECRETSegredo do aplicativo
KEYCLOAK_REALMSeu Realm do Keycloak
KEYCLOAK_BASE_URLURL base da instância do Keycloak

Provedor OAuth personalizado (autenticação)

Seu provedor precisa suportar o padrão OpenID Connect.

ParâmetroPadrãoDescriçã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_NAMECustom OAuthNome do provedor. Aparece no formulário de login.
CUSTOM_OAUTH_WELL_KNOWN_URLCUSTOM_OAUTH_ISSUER/.well-known/openid-configurationURL .well-known do provedor
CUSTOM_OAUTH_USER_ID_PATHidUsado para mapear o id no objeto de informações do usuário
CUSTOM_OAUTH_USER_NAME_PATHnameUsado para mapear o nome no objeto de informações do usuário
CUSTOM_OAUTH_USER_EMAIL_PATHemailUsado para mapear o e-mail no objeto de informações do usuário
CUSTOM_OAUTH_USER_IMAGE_PATHimageUsado para mapear a imagem no objeto de informações do usuário
CUSTOM_OAUTH_SCOPEopenid profile emailEscopo 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âmetroPadrãoDescrição
S3_ACCESS_KEYChave de acesso do S3. Também serve para verificar se o envio de arquivos está ativo
S3_SECRET_KEYChave secreta do S3.
S3_BUCKETtypebotNome do bucket onde os arquivos serão enviados.
S3_PORTNúmero da porta do host S3
S3_ENDPOINTEndpoint do S3 (por exemplo, s3.domain.com).
S3_SSLtrueUsar SSL ao estabelecer a conexão.
S3_REGIONRegião do S3.
S3_PUBLIC_CUSTOM_DOMAINSe 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âmetroPadrãoDescrição
NEXT_PUBLIC_GIPHY_API_KEYChave de API do Giphy

Unsplash (seletor de imagens)

Usado para buscar imagens. Você pode criar um aplicativo Unsplash aqui.

ParâmetroPadrãoDescrição
NEXT_PUBLIC_UNSPLASH_APP_NAMENome do aplicativo Unsplash
NEXT_PUBLIC_UNSPLASH_ACCESS_KEYChave de API do Unsplash

Pexels (seletor de vídeos)

Usado para buscar vídeos. Você pode criar um aplicativo Pexels aqui.

ParâmetroPadrãoDescrição
NEXT_PUBLIC_PEXELS_API_KEYChave 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âmetroPadrãoDescrição
NEXT_PUBLIC_TOLGEE_API_KEYSua chave de API do Tolgee
NEXT_PUBLIC_TOLGEE_API_URLhttps://tolgee.server.baptistearno.comA 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âmetroPadrãoDescrição
META_SYSTEM_USER_TOKENO token do usuário de sistema usado para enviar mensagens no WhatsApp
WHATSAPP_PREVIEW_FROM_PHONE_NUMBER_IDO ID do número de telefone a partir do qual a mensagem será enviada
WHATSAPP_PREVIEW_APP_SECRETO segredo do aplicativo Meta, usado para verificar as assinaturas do webhook de pré-visualização
WHATSAPP_PREVIEW_TEMPLATE_NAMEO nome do modelo de mensagem que inicia a pré-visualização
WHATSAPP_PREVIEW_TEMPLATE_LANGen_USO idioma do modelo de mensagem que inicia a pré-visualização
WHATSAPP_CLOUD_API_URLhttps://graph.facebook.comA URL base da WhatsApp Cloud API
WHATSAPP_INTERACTIVE_GROUP_SIZE3Quantidade 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âmetroPadrãoDescrição
REDIS_URLA 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âmetroPadrãoDescrição
NEXT_PUBLIC_PARTYKIT_HOSTHost 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.

On this page