> ## 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_nodes

> O percurso nó a nó de cada conversa pelo seu fluxo.

# fact\_treble\_session\_nodes

Cada linha é uma **etapa interativa** de uma conversa pelo seu fluxo: uma pergunta feita, uma etapa de IA, um WhatsApp Flow, uma chamada de integração — com a opção que o usuário escolheu ou o texto livre que digitou, e se ele deixou o tempo esgotar em vez de responder. Esta é a tabela para **funis** — ela não existia no warehouse anterior.

<Note>
  Etapas que apenas enviam uma mensagem e seguem adiante (sem interação) não geram linha aqui — o fluxo completo de mensagens, incluindo essas, está em [`fact_treble_session_messages`](/pt/docs/data-warehouse-v2/fact-treble-session-messages). A estrutura completa de cada fluxo, com todos os nós, está em [`dim_poll_nodes`](/pt/docs/data-warehouse-v2/dimensions#dim_poll_nodes).
</Note>

## Que perguntas ela responde?

* Qual é o funil etapa a etapa de um fluxo — quantos usuários chegam a cada nó e onde abandonam?
* Quais opções de resposta os usuários escolhem em cada pergunta?
* Quais perguntas expiram por timeout com mais frequência?
* Quais conversas passaram por nós de IA (join com `dim_poll_nodes.node_type`)?
* Quanto tempo os usuários levam para responder cada pergunta?

## Colunas

| Coluna               | Tipo       | Descrição                                                                                                                                                                                            |
| -------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `node_record_id`     | Int64      | Identificador único desta visita ao nó                                                                                                                                                               |
| `company_id`         | Int32      | Sua empresa (filtrada automaticamente)                                                                                                                                                               |
| `session_id`         | Int64      | O fluxo de conversa ao qual esta visita pertence                                                                                                                                                     |
| `poll_id`            | Int32      | Identificador do fluxo                                                                                                                                                                               |
| `poll_name`          | String     | Nome do fluxo                                                                                                                                                                                        |
| `cellphone`          | String     | Número de telefone do usuário                                                                                                                                                                        |
| `treble_id`          | String     | Identidade do contato (código do país + celular)                                                                                                                                                     |
| `node_id`            | Int32      | O nó do fluxo visitado (join com `dim_poll_nodes`)                                                                                                                                                   |
| `node_type`          | String     | Tipo da etapa: `QUESTION`, `AI_TASK_AUTOMATOR`, `AI_AGENT`, `AI_LEAD_QUALIFICATION`, `AI_OBJECTIVE_AGENT`, `WHATSAPP_FLOW`, `META_EVENTS`, `HELPDESK_INTEGRATION`; vazio quando o nó não existe mais |
| `hsm_id`             | Int32      | Template HSM enviado nesta etapa, se houver; `0` caso contrário                                                                                                                                      |
| `answer_option_id`   | Int32      | A opção predefinida com a qual a resposta do usuário correspondeu; `0` para respostas abertas                                                                                                        |
| `answer_option_text` | String     | Rótulo dessa opção predefinida                                                                                                                                                                       |
| `response_text`      | String     | O texto real da resposta do usuário                                                                                                                                                                  |
| `is_timeout`         | Bool       | `true` se o usuário nunca respondeu e a etapa expirou por timeout                                                                                                                                    |
| `entered_at`         | DateTime64 | Quando esta etapa foi enviada ao usuário                                                                                                                                                             |
| `responded_at`       | DateTime64 | Quando o usuário respondeu; `NULL` se não respondeu                                                                                                                                                  |
| `question_msg_id`    | Int64      | A mensagem que carregou a pergunta (`fact_treble_session_messages.message_id`)                                                                                                                       |
| `synced_at`          | DateTime64 | Quando esta linha foi gravada/corrigida pela última vez                                                                                                                                              |

## Exemplos de consultas

### Funil de um fluxo — alcance por nó

```sql theme={null}
SELECT
    node_id,
    any(node_type)            AS node_type,
    uniqExact(session_id)     AS conversations_reached,
    countIf(is_timeout)       AS timeouts
FROM fact_treble_session_nodes
WHERE poll_id = {your_poll_id}
  AND entered_at >= today() - 30
GROUP BY node_id
ORDER BY conversations_reached DESC
```

### Distribuição de respostas de uma pergunta

```sql theme={null}
SELECT answer_option_text, count() AS answers
FROM fact_treble_session_nodes
WHERE node_id = {your_node_id}
  AND entered_at >= today() - 30
  AND responded_at IS NOT NULL
GROUP BY answer_option_text
ORDER BY answers DESC
```

### Conversas que usaram IA

```sql theme={null}
SELECT uniqExact(session_id) AS ai_conversations
FROM fact_treble_session_nodes
WHERE node_type LIKE 'AI_%'
  AND entered_at >= today() - 7
```
