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

***

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

<figure><img src="https://3829578295-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRWteFkm020DS5IbXoSgj%2Fuploads%2Fw9AQ6qOCRXgFTsDmTdLv%2F01-painel-busca.png?alt=media&amp;token=96aadf2d-605b-4872-9dd2-4b9d2c136ee5" alt=""><figcaption><p>Imagem 1 - Módulo Variável compartilhada localizado no painel de busca, na categoria Ação.</p></figcaption></figure>

***

### 🔍 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 %}

<figure><img src="https://3829578295-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRWteFkm020DS5IbXoSgj%2Fuploads%2F7xvtJhzd7BIP6ZYkncz8%2F02-painel-config.png?alt=media&amp;token=ce00e780-fb3b-45a4-b832-cf906fc52207" alt=""><figcaption><p>Imagem 2 - Painel de configuração do módulo Variável compartilhada aberto.</p></figcaption></figure>

***

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

***

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

<figure><img src="https://3829578295-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRWteFkm020DS5IbXoSgj%2Fuploads%2FrL4lc6SLd9Z94rrHkUlf%2Fimage.png?alt=media&amp;token=84e0c59f-8c55-41bb-8331-8645c732c4f5" alt=""><figcaption><p>Imagem 3 - Campo Operação em destaque, com a opção "Remover variável" pré-selecionada.</p></figcaption></figure>

***

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

***

#### 💾 Valor

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

***

#### 🔀 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).

<figure><img src="https://3829578295-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRWteFkm020DS5IbXoSgj%2Fuploads%2F8B5cu25aKMmiqdPIo6ho%2F04-canvas-sucesso-erro.png?alt=media&amp;token=ce856c10-24ec-4151-8251-e6d2f61553f7" alt=""><figcaption><p>Imagem 4 - Módulo no diagrama com as saídas Sucesso e Erro conectadas a módulos diferentes.</p></figcaption></figure>

***

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

<figure><img src="https://3829578295-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRWteFkm020DS5IbXoSgj%2Fuploads%2FN84t8nO2lyBhCyCt9zz4%2F05-guardar-preenchido.png?alt=media&amp;token=ce468432-a407-47c7-acf2-4384b9cf22f6" alt=""><figcaption><p>Imagem 5 - Painel de configuração com a operação "Guardar variável" selecionada e os campos Chave e Valor preenchidos.</p></figcaption></figure>

***

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

<figure><img src="https://3829578295-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRWteFkm020DS5IbXoSgj%2Fuploads%2FwbUadyHgaiTUxcR6EBXG%2F06-ler-preenchido.png?alt=media&amp;token=ba534126-1f33-43f2-9387-44fa71e6700f" alt=""><figcaption><p>Imagem 6 - Painel de configuração com a operação "Ler variável" selecionada e o campo Chave preenchido.</p></figcaption></figure>

***

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

<figure><img src="https://3829578295-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRWteFkm020DS5IbXoSgj%2Fuploads%2FM68vpYuU02WitAWCRSES%2F07-remover-preenchido.png?alt=media&amp;token=de63a763-24ab-4809-95fe-9f864e758f94" alt=""><figcaption><p>Imagem 7 - Painel de configuração com a operação "Remover variável" selecionada e o campo Chave preenchido.</p></figcaption></figure>

***

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

***

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