AWS S3
☁️ Módulo AWS S3
O módulo AWS S3 permite que o seu chatbot faça upload de arquivos para um bucket do Amazon S3 durante uma conversa. Com ele, você pode publicar arquivos coletados no fluxo (documentos, imagens, áudios) diretamente em um bucket S3, com opção de gerar uma URL assinada e privada para acesso controlado — tudo de forma automática, enquanto o atendimento acontece.
📷 Inserir print: visão geral do nó AWS S3 no canvas do Builder
🗂️ Como acessar
No menu lateral, clique em Aplicativo.
Em seguida, clique em Fluxos.
Abra o fluxo desejado ou crie um novo.
No canvas do Builder, clique no botão + para adicionar um novo nó.
Localize e selecione AWS - S3 na lista de módulos disponíveis.
📷 Inserir print: lista de módulos com o item "AWS - S3" destacado
Pré-requisito: Para usar este módulo, é necessário ter uma integração com a AWS configurada na plataforma com permissão de publicação no S3. Caso não exista nenhuma integração disponível no campo Nome da integração, acesse as configurações de integrações, cadastre as credenciais da AWS e retorne para configurar o módulo.
🧩 Conhecendo o módulo
Ao adicionar o módulo ao fluxo, um painel de configuração é aberto. Nele, você define qual bucket S3 receberá o arquivo, qual arquivo será enviado e como ele ficará acessível após o upload.
📷 Inserir print: painel de configuração do módulo AWS S3 aberto
🔧 Configurações do módulo
Campos obrigatórios
Nome da integração
Selecione a integração AWS cadastrada que o bot deve usar para se conectar ao S3. A integração precisa ter permissão de publicação (s3:PutObject). Campo obrigatório.
S3 Bucket
Informe o nome do bucket de destino (ex.: minha-empresa-arquivos). Aceita variáveis do fluxo (ex.: {{config.bucket}}).
S3 Region
Informe a região AWS onde o bucket está hospedado (ex.: us-east-1, sa-east-1). Aceita variáveis do fluxo.
File
Informe o conteúdo ou a referência do arquivo a ser enviado. Aceita variáveis do fluxo que apontem para o arquivo coletado durante a conversa (ex.: {{input.arquivo}}).
File name
Informe o nome (e caminho, se necessário) que o arquivo terá dentro do bucket (ex.: uploads/2024/documento.pdf). Aceita variáveis do fluxo (ex.: {{input.nomeArquivo}}).
📷 Inserir print: painel com os campos obrigatórios preenchidos
Opções avançadas
Clique em Advanced options para exibir configurações adicionais de controle de acesso e metadados.
ACL — Sign Private URL
Desativado (padrão)
O arquivo é enviado com as permissões padrão do bucket. O acesso segue as políticas de ACL definidas no bucket S3.
Ativado
O arquivo é enviado como privado e o módulo gera automaticamente uma URL assinada para acesso temporário.
Quando a opção ACL - Sign Private URL está ativada, um campo adicional é exibido:
Tempo (segundos)
Informe por quantos segundos a URL assinada ficará válida após a geração. Padrão sugerido: 30. Após esse prazo, o link expira e o arquivo não poderá mais ser acessado pela URL gerada.
Use a URL assinada quando o arquivo contiver dados sensíveis (ex.: documentos pessoais, comprovantes) e você não quiser que ele fique publicamente acessível no S3. A URL gerada fica disponível como variável nos próximos nós do fluxo.
Headers
Campo de editor JSON para enviar metadados ou cabeçalhos HTTP personalizados junto com o upload. Útil para definir Content-Type, tags ou outros metadados aceitos pela API do S3.
Exemplo:
Aceita variáveis do fluxo dentro dos valores.
📷 Inserir print: painel de opções avançadas com ACL ativado e campo de tempo preenchido
🔀 Saídas do módulo no fluxo
Após a execução, o módulo AWS S3 direciona o fluxo por dois caminhos:
OK
O upload foi realizado com sucesso. Os resultados da operação (incluindo a URL assinada, se configurada) ficam disponíveis como variáveis para os próximos nós.
ERR
Ocorreu um erro ao executar o upload (ex.: credenciais inválidas, bucket inexistente, arquivo não encontrado, permissão negada).
Conecte cada saída ao próximo nó conforme a lógica do seu fluxo — por exemplo, enviar a URL do arquivo no caminho OK ou exibir uma mensagem de erro no caminho ERR.
📷 Inserir print: nó AWS S3 no canvas com as saídas OK e ERR conectadas a nós diferentes
💡 Dicas úteis
Variáveis do fluxo: A maioria dos campos aceita variáveis dinâmicas com a sintaxe
{{nome.da.variavel}}. Use isso para preencher o nome do arquivo, o bucket e o conteúdo do arquivo com dados coletados durante a conversa.Caminho no bucket: O campo File name aceita subdiretórios usando
/como separador (ex.:documentos/cpf/{{input.cpf}}.pdf). Use isso para organizar os arquivos dentro do bucket.URL assinada: Quando ACL - Sign Private URL está ativado, o módulo retorna uma URL temporária de acesso ao arquivo. Essa URL fica disponível como variável e pode ser enviada ao cliente via mensagem.
Tempo de expiração: O campo Tempo (segundos) define por quantos segundos a URL assinada será válida. Calcule o tempo necessário para o cliente usar a URL antes de configurar esse valor (ex.:
3600para 1 hora,86400para 24 horas).Permissões da integração: A integração AWS usada precisa ter pelo menos a permissão
s3:PutObjectno bucket de destino. Para gerar URLs assinadas, a permissãos3:GetObjecttambém é necessária.Headers e Content-Type: Se o arquivo enviado for de um tipo específico (PDF, imagem, áudio), defina o
Content-Typecorreto no campo Headers para garantir que o navegador interprete o arquivo corretamente ao acessar a URL.
📋 Caso de uso
Cenário: Uma empresa de seguros usa um chatbot no WhatsApp para coletar documentos de clientes durante o processo de abertura de sinistro. O bot recebe fotos e documentos enviados pelo cliente e os armazena com segurança em um bucket S3, gerando uma URL assinada para que o time interno possa acessá-los no sistema de gestão.
Configuração principal:
Adicione o módulo AWS S3 ao fluxo, após o nó que recebe o arquivo enviado pelo cliente.
Selecione a integração AWS com as credenciais do ambiente de produção.
No campo S3 Bucket, informe
seguros-sinistros-docs.No campo S3 Region, informe
sa-east-1.No campo File, use a variável do arquivo recebido:
{{input.arquivo}}.No campo File name, use um caminho dinâmico:
sinistros/{{input.protocolo}}/{{input.nomeArquivo}}.Em Opções avançadas, ative ACL - Sign Private URL e defina o tempo de expiração como
3600(1 hora).No campo Headers, adicione:
Conecte a saída OK a um nó que registra a URL gerada no CRM e envia uma confirmação ao cliente.
Conecte a saída ERR a um nó que informa ao cliente que não foi possível receber o documento e solicita o reenvio.
Resultado esperado no fluxo: O chatbot recebe o documento do cliente, faz o upload seguro no S3 organizando por número de protocolo, gera uma URL temporária de acesso e disponibiliza essa URL para o sistema de gestão, sem intervenção humana.
✅ Resumo
O módulo AWS S3 conecta o chatbot ao Amazon S3 para fazer upload de arquivos durante o atendimento.
A operação é sempre de publicação (upload) — o módulo envia um arquivo para o bucket especificado.
Os campos Bucket, Region, File e File name são obrigatórios e aceitam variáveis dinâmicas do fluxo.
Em Opções avançadas, é possível ativar o ACL - Sign Private URL para tornar o arquivo privado e gerar uma URL assinada com tempo de expiração configurável em segundos.
O campo Headers permite adicionar metadados e cabeçalhos HTTP customizados ao upload, no formato JSON.
O módulo possui duas saídas: OK (upload com sucesso, URL disponível como variável) e ERR (falha no upload), que devem ser conectadas a nós diferentes conforme a lógica do fluxo.
Last updated