> 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/acao/variavel-compartilhada.md).

# Variável compartilhada

O módulo **Variável Compartilhada** salva, lê ou apaga informações que ficam disponíveis para **todos os fluxos e todas as conversas** do aplicativo — não apenas para um contato ou um fluxo específico. É o módulo ideal para guardar dados globais, como contadores, configurações dinâmicas ou informações que precisam ser acessadas por diferentes fluxos ao mesmo tempo.

**📷 Inserir print:** visão geral do módulo Variável Compartilhada na área de trabalho do fluxo

***

### 🧭 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 **Ação** (identificada pela cor vermelha).
5. Arraste o módulo **Variável Compartilhada** para a área de trabalho do fluxo.

**📷 Inserir print:** painel de módulos com a categoria Ação expandida e o módulo Variável Compartilhada visível

***

### 🔍 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.

{% hint style="warning" %}
Como o valor é compartilhado por todo o aplicativo, use nomes de chave (campo **Chave**) bem específicos para evitar que fluxos diferentes acabem lendo ou sobrescrevendo o mesmo valor sem querer.
{% endhint %}

**📷 Inserir print:** painel de configuração do módulo Variável Compartilhada aberto

***

#### 📋 Campos de configuração

| Campo        | O que preencher                                                                                                                                                                             |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Operação** | O que este módulo vai fazer: **Escrever**, **Ler** ou **Apagar**.                                                                                                                           |
| **Chave**    | O nome que identifica a informação compartilhada. Pode ser um valor fixo ou uma variável do fluxo. A mesma chave deve ser usada em todos os módulos que precisarem acessar essa informação. |
| **Valor**    | O conteúdo que será salvo. Aparece apenas quando a operação selecionada é **Escrever**. Pode ser um valor fixo ou uma variável do fluxo.                                                    |

**📷 Inserir print:** painel de configuração com os campos Operação, Chave e Valor visíveis

***

#### 🧩 Operação

Escolha o que este módulo vai fazer:

* **Escrever** — salva ou atualiza um valor.
* **Ler** — busca o valor salvo anteriormente.
* **Apagar** — remove o valor salvo.

**📷 Inserir print:** campo Operação com as três opções disponíveis

***

#### 🔑 Chave

No campo **Chave**, defina o nome que identifica essa informação compartilhada. Você pode usar um valor fixo ou uma variável do fluxo. A mesma chave deve ser usada em todos os módulos que precisarem acessar essa informação.

**📷 Inserir print:** campo Chave preenchido

***

#### 💾 Valor

Este campo aparece apenas quando a operação é **Escrever**. Defina aqui o conteúdo que será salvo, podendo usar variáveis do fluxo.

**📷 Inserir print:** campo Valor preenchido, com a operação Escrever selecionada

***

#### 🔀 Saídas do módulo

O módulo tem duas saídas:

* **Sucesso** — a operação foi concluída. No caso de **Ler**, o valor encontrado fica disponível para os próximos módulos do fluxo.
* **Erro** — a operação não pôde ser concluída (por exemplo, ao tentar **Ler** ou **Apagar** uma chave que não existe).

**📷 Inserir print:** módulo na área de trabalho do fluxo mostrando as saídas Sucesso e Erro

***

#### 1️⃣ Escrever

**🎯 Propósito**

Salvar ou atualizar uma informação que poderá ser acessada por qualquer fluxo ou conversa do aplicativo.

**✅ Como fazer na tela**

1. No painel de configuração do módulo, no campo **Operação**, selecione **Escrever**.
2. No campo **Chave**, digite o nome que vai identificar essa informação (ex.: `promocao_ativa`). Você também pode usar uma variável do fluxo.
3. No campo **Valor**, que aparece somente para esta operação, digite o conteúdo que será salvo. Você pode usar um valor fixo ou uma variável do fluxo.
4. Clique em **Salvar mudanças** para confirmar a configuração do módulo.

**📌 Resultado esperado**

Quando o fluxo passar por este módulo, o valor informado é gravado com a chave escolhida e passa a ficar disponível para qualquer outro fluxo que consulte a mesma chave. A execução segue pela saída **Sucesso**.

**📷 Inserir print:** painel de configuração com a operação Escrever selecionada e os campos Chave e Valor preenchidos

***

#### 2️⃣ Ler

**🎯 Propósito**

Buscar uma informação salva anteriormente para usá-la em outro ponto do fluxo.

**✅ Como fazer na tela**

1. No campo **Operação**, selecione **Ler**.
2. No campo **Chave**, digite exatamente o mesmo nome usado quando o valor foi salvo.
3. Clique em **Salvar mudanças**.

**📌 Resultado esperado**

Ao executar este módulo, o valor salvo para essa chave fica disponível para os próximos módulos do fluxo, e a execução segue pela saída **Sucesso**. Se a chave não existir, a execução segue pela saída **Erro**.

**📷 Inserir print:** painel de configuração com a operação Ler selecionada e o campo Chave preenchido

***

#### 3️⃣ Apagar

**🎯 Propósito**

Apagar definitivamente uma informação que não é mais necessária, liberando a chave para uso futuro.

**✅ Como fazer na tela**

1. No campo **Operação**, selecione **Apagar**.
2. No campo **Chave**, digite o nome da informação que deseja apagar.
3. Clique em **Salvar mudanças**.

**📌 Resultado esperado**

Ao executar este módulo, o valor salvo para essa chave é apagado e deixa de estar disponível para qualquer fluxo do aplicativo. A execução segue pela saída **Sucesso**; se a chave não existir, segue pela saída **Erro**.

**📷 Inserir print:** painel de configuração com a operação Apagar selecionada e o campo Chave preenchido

***

### 💡 Caso de uso

**Cenário:** uma empresa quer controlar, em todos os fluxos, se uma promoção está ativa no momento, sem precisar editar cada fluxo manualmente.

**Configuração:**

1. Em um fluxo de controle, adicione o módulo **Variável Compartilhada** com a operação **Escrever**, chave `promocao_ativa` e valor `true` (ou `false`, quando quiser desativar).
2. Em qualquer outro fluxo que precise saber se a promoção está ativa, adicione o módulo **Variável Compartilhada** com a operação **Ler** e a mesma chave `promocao_ativa`.
3. Use o valor lido em um módulo **Condicional** para decidir se a mensagem promocional deve ser exibida.

**Resultado:** basta atualizar o valor em um único lugar para que todos os fluxos que consultam essa chave reflitam a mudança.

**📷 Inserir print:** dois fluxos diferentes, um com o módulo configurado para Escrever e outro para Ler, usando a mesma chave `promocao_ativa`

***

### 📌 Dicas úteis

* Use nomes de chave descritivos e específicos, para evitar conflitos entre fluxos diferentes.
* Use a operação **Apagar** para limpar informações que não são mais necessárias.
* Diferente das Variáveis de Usuário e de Fluxo, este módulo pode falhar (por exemplo, ao ler uma chave inexistente) — sempre conecte a saída **Erro** a um caminho adequado do fluxo.
* Use este módulo apenas para informações que realmente precisam ser globais — para dados específicos de um contato ou de um fluxo, prefira **Variável de Usuário** ou **Variável de Fluxo**.

***

### 📝 Resumo

* O módulo **Variável Compartilhada** salva, lê ou apaga informações acessíveis por todos os fluxos e conversas do aplicativo.
* A operação é escolhida entre **Escrever**, **Ler** e **Apagar**, sempre identificada por uma **Chave**.
* O campo **Valor** só aparece na operação **Escrever**.
* O módulo tem uma saída de **Sucesso** e uma de **Erro** — importante para tratar casos como leitura de uma chave inexistente.
