> ## Documentation Index
> Fetch the complete documentation index at: https://help.treble.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# fact_treble_session_variables

> Variáveis capturadas ou definidas durante cada fluxo de conversa.

# fact\_treble\_session\_variables

Cada linha é uma variável de um fluxo de conversa: dados capturados das respostas do usuário, definidos pela lógica do fluxo ou passados quando a conversa foi criada via API. Faça join com `fact_treble_sessions` através de `session_id` para adicionar contexto de fluxo, contato e resultado.

## Que perguntas ela responde?

* Quais valores os usuários forneceram para um determinado campo (email, número do pedido, cidade…)?
* Quais sessões carregam uma determinada variável, e com qual valor?
* Como os resultados variam conforme o valor de uma variável (join de volta com as sessões)?

## Colunas

| Coluna           | Tipo       | Descrição                                               |
| ---------------- | ---------- | ------------------------------------------------------- |
| `session_id`     | Int64      | O fluxo de conversa ao qual esta variável pertence      |
| `company_id`     | Int32      | Sua empresa (filtrada automaticamente)                  |
| `variable_name`  | String     | Nome da variável como definido no fluxo                 |
| `variable_value` | String     | Valor atual (a última gravação prevalece)               |
| `created_at`     | DateTime64 | Quando a variável foi definida pela primeira vez        |
| `updated_at`     | DateTime64 | Quando foi atualizada pela última vez                   |
| `synced_at`      | DateTime64 | Quando esta linha foi gravada/corrigida pela última vez |

<Note>
  Quando um fluxo sobrescreve uma variável, a linha existente é atualizada no lugar — você vê o valor **mais recente**. Em casos raros, um fluxo registra o mesmo nome de variável como entradas separadas; quando isso importar, mantenha a linha com o maior `updated_at` (como faz o exemplo abaixo).
</Note>

## Exemplos de consultas

### Pivotar variáveis em colunas para um fluxo

```sql theme={null}
SELECT
    session_id,
    argMaxIf(variable_value, updated_at, variable_name = 'email')    AS email,
    argMaxIf(variable_value, updated_at, variable_name = 'order_id') AS order_id
FROM fact_treble_session_variables
WHERE session_id IN (
    SELECT session_id FROM fact_treble_sessions
    WHERE poll_id = {your_poll_id} AND created_at >= today() - 30
)
GROUP BY session_id
```

### Sessões pelo valor de uma variável

```sql theme={null}
SELECT variable_value AS city, count() AS sessions
FROM fact_treble_session_variables
WHERE variable_name = 'city'
  AND created_at >= today() - 30
GROUP BY city
ORDER BY sessions DESC
```
