[Nome do Fluxo]
Visão Geral
[Descrição sucinta do fluxo em 2-4 linhas. O que ele faz, quando é acionado, qual o contexto de uso.]
Objetivo
[Descrição detalhada do problema de negócio que o fluxo resolve. Pode incluir:
- Qual dor de negócio atende
- Que valor gera
- Métricas que impacta
- Casos de uso principais]
Diagrama de Fluxo
graph TD A[id-do-no<br/>Tipo do Nó] --> B{id-condicional<br/>Condição?} B -->|Sim| C[id-proximo<br/>Tipo] B -->|Não| D[id-alternativo<br/>Tipo] %% Adicionar styling se necessário classDef inicio fill:#e1f5ff classDef decisao fill:#ffe1e1 class A inicio class B decisao
Variáveis do Fluxo
Variáveis de Entrada (Input)
| Variável | Origem | Tipo | Obrigatório | Descrição | Uso no Fluxo |
|---|---|---|---|---|---|
variable_name | input.source | string|boolean|number|object|array | Sim|Não (default: valor) | Descrição clara do propósito | Onde e como é utilizada |
Variáveis Internas (Flow Variables)
| Variável | Criada em | Tipo | Fonte | Descrição | Dependências |
|---|---|---|---|---|---|
flow.variable_name | Nó X | string|boolean|number | input.field | Hardcoded | Computada | Para que serve | Quais nós/variáveis dependem dela |
Variáveis do Usuário (User Context)
| Variável | Origem | Tipo | Descrição | Uso no Fluxo |
|---|---|---|---|---|
user.property | Contexto do usuário | string|object | Propriedade do usuário | Como é utilizada |
Variáveis Computadas
| Expressão | Local de Uso | Tipo Resultante | Descrição |
|---|---|---|---|
{{expression}} | Nós X, Y, Z | string|number|boolean | O que a expressão calcula/extrai |
Propriedades Externas Manipuladas
Sistema: [HubSpot|Salesforce|Outro]
| Propriedade | Ação | Valor | Nó Responsável | Fluxo/API Relacionado |
|---|---|---|---|---|
property_name | READ|UPDATE|CREATE|DELETE | Valor atribuído ou critério | id-do-no | Fluxo ou endpoint relacionado |
Entrada (Input)
Estrutura Esperada
{
"campo1": "tipo e descrição",
"campo2": {
"subcampo": "estrutura aninhada"
},
"campo_opcional": "tipo | undefined"
}Validações
campo_obrigatorio: Descrição da validaçãocampo_com_formato: Formato esperado (ex: YYYY-MM-DD, regex, enum)campo_condicional: Obrigatório se condição X
Fluxo Detalhado
Fase 1: [Nome da Fase]
Nós: id-primeiro-no → id-segundo-no → id-terceiro-no
Ações:
- Descrição da primeira ação
- Descrição da segunda ação
- Descrição da terceira ação
Variáveis criadas:
flow.variable1: Valor/origemflow.variable2: Valor/origem
Variáveis usadas:
input.variable: Como é usadaflow.variable_anterior: Como é usada
Fase 2: [Nome da Fase com Decisão]
Nós: id-no-decisao
Condição: {{expressao_avaliada}}
Variável avaliada:
flow.variable_name(tipo, valores possíveis)
Decisões:
- TRUE: Caminho A - Descrição do que acontece
- FALSE: Caminho B - Descrição do que acontece
Branch A: [Nome do Branch TRUE]
Nós: id-no-1 → id-no-2
Nó [id-no-1]: [Nome/Propósito]
Tipo: [Chat|HTTP Request|Jump|Label|Etc]
Configuração: [Detalhes específicos do tipo de nó]
Variáveis usadas:
variable_name: Como é usada
Variáveis criadas:
variable_name: Valor/origem
Ação: Descrição do que o nó faz
Nó [id-no-2]: [Nome/Propósito]
Tipo: [Tipo do Nó]
[Repetir estrutura]
Branch B: [Nome do Branch FALSE]
[Repetir estrutura similar ao Branch A]
Fase 3: [Próxima Fase]
[Continuar estrutura]
Dependências Externas
Fluxos Chamados (Jumps)
| Fluxo | Nó | Propósito | Dados Enviados | Retorno Esperado |
|---|---|---|---|---|
| Nome do Fluxo Externo | id-do-no | Para que serve | {campo: valor} | Estrutura do retorno |
Webhooks / APIs
[Nome do Webhook/API]
- Endpoint:
METHOD https://url.com/path - Query Params:
param1={{value}}¶m2={{value}} - Nó: id-do-no
- Fluxo relacionado: [se houver]
- Headers:
Header-Name: value
- Body:
{
"campo": "{{variavel}}"
}- Resposta esperada:
{
"campo_resposta": "tipo"
}- Critérios/Regras: Descrição de filtros ou lógica aplicada
Fluxos Relacionados (Não Chamados Diretamente)
| Fluxo | Tipo de Relação | Descrição |
|---|---|---|
| nome-do-fluxo | Disparado por webhook|Gatilho HubSpot|Evento|Outro | Como se relacionam |
Saída (Output)
Cenários de Finalização
Cenário 1: [Nome do Cenário]
Caminho: Fase X → Branch Y → Conclusão Z
Estado final:
- Rótulos aplicados: [lista]
- Propriedades alteradas: [lista]
- Eventos registrados: [lista]
- Status do atendimento: [encerrado|transferido|aguardando]
- Escala para humano: [sim|não]
Variáveis finais:
variable_name: Valor final
Condição de ativação: Descrição do que leva a este cenário
Cenário 2: [Outro Cenário]
[Repetir estrutura]
Eventos de Analytics
Eventos Sempre Disparados
| Evento | Nó | Momento | Payload |
|---|---|---|---|
event.type.name | id-do-no | Quando ocorre | Campos enviados |
Eventos Condicionais
| Evento | Condição | Nó | Payload Adicional |
|---|---|---|---|
event.type.name | Quando ocorre | id-do-no | Campos adicionais específicos desta condição |
Rótulos/Tags Aplicados
| Rótulo | Nó | Condição | Significado |
|---|---|---|---|
| Nome do Rótulo | id-do-no | Quando é aplicado | O que representa no contexto do negócio |
Métricas e Tempos
| Métrica | Valor | Descrição |
|---|---|---|
| Tempo de espera [X] | N minutos/horas/dias | Descrição do timeout ou delay |
| Janela de verificação | N horas/dias | Para que serve esta janela |
| SLA esperado | N minutos | Tempo esperado de conclusão |
| Taxa de sucesso esperada | N% | Baseado em histórico |
Notas Técnicas
Sobre Variáveis
- variable_name: Observações sobre formato, tratamento de edge cases, possíveis valores nulos
- expression_name: Como funciona a expressão, possíveis falhas
Sobre Condições
- condition_name: Valores esperados, tipo exato, comportamento com valores não previstos
Sobre Sincronicidade
- Descrição de processos paralelos
- Tratamento de race conditions (se houver)
- Ordem de execução crítica
Sobre Integrações
- Detalhes de autenticação
- Rate limits
- Retry policies
- Tratamento de erros
Limitações Identificadas
- Limitação 1: Descrição e possível impacto
- Limitação 2: Descrição e possível impacto
- Edge case não tratado: Descrição
Melhorias Sugeridas
- Sugestão 1: Descrição e benefício
- Sugestão 2: Descrição e benefício
Troubleshooting
Erros Comuns
| Erro | Causa Provável | Solução |
|---|---|---|
| Descrição do erro | Por que ocorre | Como resolver |
Logs Relevantes
- Onde procurar logs
- Palavras-chave para buscar
- Ferramentas de monitoramento
Changelog
| Data | Versão | Alteração | Autor |
|---|---|---|---|
| YYYY-MM-DD | 1.0 | Descrição da mudança | Nome |
Referências
- Link para documentação técnica relacionada
- Link para Jira/tickets relacionados
- Link para discussões ou decisões de arquitetura
- Link para dashboards de monitoramento