> For the complete documentation index, see [llms.txt](https://help.hyperflow.global/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.hyperflow.global/docs/builder-hyperflow/gerenciamento-de-aplicativos/fluxos/integracao/consulta-em-banco-de-dados.md).

# Consulta em banco de dados

O módulo **Consulta em Banco de Dados** executa uma consulta SQL diretamente em um banco de dados relacional da sua empresa (SQL Server, MySQL ou PostgreSQL), sem sair do fluxo. É útil para buscar, inserir ou atualizar informações em sistemas próprios durante o atendimento.

## 🧭 Como acessar

1. No menu lateral, clique em **Gerenciamento de aplicativos**.
2. Em seguida, clique em **Fluxos**.
3. Abra ou crie um fluxo e acesse a área de trabalho do fluxo.
4. No painel de módulos, localize a categoria **Integração** (identificada pela cor azul).
5. Arraste o módulo **Consulta em Banco de Dados** para a área de trabalho do fluxo.

{% hint style="warning" %}
**Antes de usar este módulo:** você precisa ter em mãos os dados de acesso ao banco de dados (endereço, porta, usuário, senha e nome do banco) — diferente de outros módulos de integração, este não usa uma credencial cadastrada previamente; os dados de conexão são preenchidos direto no módulo.
{% endhint %}

## 🔍 Conhecendo o módulo

Ao clicar duas vezes no módulo na área de trabalho do fluxo, um painel de configuração é aberto na lateral da tela.

### 🔌 Tipo de banco e conexão

| Campo                    | O que preencher                                                          |
| ------------------------ | ------------------------------------------------------------------------ |
| **Tipo**                 | O banco de dados usado: **SQL Server**, **MySQL** ou **PostgreSQL**      |
| **Host**                 | Endereço do servidor do banco de dados                                   |
| **Porta**                | Porta de conexão do banco de dados                                       |
| **Usuário**              | Usuário de acesso ao banco                                               |
| **Senha**                | Senha de acesso ao banco                                                 |
| **Nome do banco**        | Nome do banco de dados a ser acessado                                    |
| **Nome da instância**    | Usado apenas em bancos SQL Server com instância nomeada (opcional)       |
| **Criptografar conexão** | Disponível apenas para SQL Server; ative para usar conexão criptografada |

{% hint style="warning" %}
A opção **PLSQL** aparece na lista de tipos, mas não está funcionando no momento — qualquer consulta configurada com esse tipo sempre falha, independentemente dos dados de conexão informados. Para bancos Oracle, use o módulo **Oracle DB**.
{% endhint %}

{% hint style="warning" %}
Evite digitar a senha do banco diretamente neste campo. Sempre que possível, cadastre-a como uma **variável de ambiente marcada como secreta** e use a variável aqui — assim ela não fica visível no histórico de execução do fluxo.
{% endhint %}

### 📝 Consulta SQL

No campo de consulta, escreva o comando SQL a ser executado. Você pode usar variáveis do fluxo dentro da consulta.

Exemplo:

```sql
SELECT * FROM clientes WHERE telefone = '{{input.phone}}'
```

{% hint style="danger" %}
**Nunca insira um texto digitado pelo cliente diretamente dentro da consulta SQL sem validação.** Isso pode permitir que alguém manipule a consulta para ler, alterar ou apagar dados que não deveriam ser acessados. Sempre que possível, valide ou trate o valor da variável antes de usá-lo na consulta (por exemplo, aceitando apenas números em um campo de telefone).
{% endhint %}

### 🔀 Saídas do módulo

O módulo tem duas saídas:

* **Sucesso** — a consulta foi executada, com o resultado (uma lista de registros) disponível para os próximos módulos do fluxo.
* **Erro** — não foi possível executar a consulta (por exemplo, erro de conexão, credenciais inválidas ou erro de sintaxe na consulta).

## 💡 Caso de uso

**Cenário:** uma empresa quer consultar o status de um pedido, armazenado em um banco de dados próprio, para informar o cliente durante o atendimento.

**Configuração:**

1. Adicione o módulo **Consulta em Banco de Dados** ao fluxo.
2. Preencha os dados de conexão com o banco de dados da empresa.
3. Na consulta SQL, escreva: `SELECT status FROM pedidos WHERE codigo = '{{input.codigoPedido}}'`.
4. Conecte a saída **Sucesso** a um módulo que use o resultado na conversa com o cliente.

**Resultado:** o fluxo consulta automaticamente o status do pedido informado pelo cliente e pode usar essa informação na resposta.

## 📌 Dicas úteis

* Sempre teste a consulta com dados reais antes de publicar o fluxo em produção.
* Evite consultas que possam alterar ou apagar muitos registros de uma vez sem uma condição bem definida.
* Sempre conecte a saída **Erro** a algum tratamento, já que operações de banco de dados podem falhar por diversos motivos.
* Guarde os dados de conexão (host, usuário, senha) em variáveis de ambiente sempre que possível, em vez de digitá-los diretamente no módulo.

## 📝 Resumo

* O módulo **Consulta em Banco de Dados** executa uma consulta SQL em um banco relacional (SQL Server, MySQL ou PostgreSQL).
* Os dados de conexão são preenchidos diretamente no módulo, sem credencial centralizada.
* Nunca insira texto do cliente diretamente na consulta sem validação, para evitar manipulação indevida do banco de dados.
* O módulo tem uma saída de **Sucesso**, com o resultado disponível para o fluxo, e uma saída de **Erro**.
