Ir para o conteúdo

Coleta de dados

As etapas que suspendem a execução para obter um valor, como a plataforma julga esse valor e como ele fica disponível para as etapas seguintes.

Um processo quase sempre precisa de algo que só o contato tem, seja o número do pedido, o CPF, o motivo da troca ou apenas um sim. As quatro etapas da família Dados existem para isso, e todas compartilham um comportamento: elas suspendem a execução e esperam.

Suspender é diferente de travar. O procedimento fica em aberto, o agente segue conversando normalmente, e quando a resposta chega a execução retoma no ponto exato onde tinha parado, seja depois de dois minutos ou de dois dias.

As quatro etapas

EtapaQuando usarSaídas
Formuláriovocê precisa de um ou mais valores, e o caminho depois é o mesmo qualquer que seja a respostauma
Roteadoro valor coletado é a bifurcação, e cada opção segue por um caminho diferenteuma por opção
Confirmaçãoum sim ou não do contato decide o que vem depoisSim · Não
Aprovaçãoquem decide não é o contato, e sim alguém da sua equipeAprovado · Recusado

Formulário

Declara os campos de que precisa, até vinte, e espera até que todos os obrigatórios estejam preenchidos e válidos.

O contato não vê um formulário, ele conversa: "meu pedido é o 4471, comprei semana passada" preenche o campo de número do pedido sem que ninguém tenha pedido um formato. Se algum valor não passar, a etapa continua suspensa e o agente pede de novo apenas aquele, não todos.

Roteador

Coleta um único campo de opções fechadas, e cada opção é uma saída do grafo. Perguntar o motivo da devolução com as opções defeito, arrependimento e tamanho errado produz três caminhos, e o valor escolhido fica guardado como qualquer outro dado coletado.

Use quando a pergunta e a bifurcação são a mesma coisa. Se você precisa do valor mas o caminho não muda, é Formulário.

Confirmação

Uma pergunta de sim ou não, com duas saídas, que não declara campo nenhum porque o nome que você dá à etapa é a própria pergunta, e o que ela guarda é a resposta a ela. Uma etapa chamada Confirma o endereço de entrega já está inteiramente configurada.

Aprovação

É a única da família que não espera o contato, e sim alguém da sua equipe. Você declara o papel que pode decidir e a prioridade do pedido, e a execução fica suspensa até que uma pessoa aprove ou recuse, sendo as duas decisões saídas distintas.

Ela existe para o ponto que a empresa não quer automatizar, como um desconto acima do limite, um reembolso ou uma exceção de política. Não é uma falha de automação, e sim o lugar onde a automação para de propósito.

O campo

Todo valor coletado é declarado como um campo, e o campo é o contrato daquele valor. São oito tipos:

TipoAceita
stringtexto livre
numbernúmero
booleanverdadeiro ou falso
emailendereço de e-mail bem formado
urlendereço web bem formado
datedata
enumum valor de uma lista fechada que você declara
arrayuma lista, com o tipo dos itens declarado

Além do tipo, um campo declara:

  • Descrição, que diz o que aquele valor significa e orienta o agente a reconhecê-lo no meio de uma frase. É o campo mais subestimado dos seis.
  • Obrigatório, e se não for, a execução segue mesmo sem o valor.
  • Sensível, que marca o valor como dado a não expor onde não precisa.
  • Valor padrão, o que o campo vale quando ninguém informou.
  • Validações, até dez regras somadas ao tipo, entre tamanho mínimo e máximo, valor mínimo e máximo, apenas inteiro, apenas positivo e correspondência a um padrão.
  • Transformação, que normaliza o que chegou antes de guardar, ajustando caixa, capitalização ou substituindo por padrão.

O modelo interpreta, o código julga

Essa é a divisão que faz a coleta conversacional funcionar, e vale entendê-la porque ela se repete na plataforma inteira.

De um lado, a interpretação é generosa: o agente extrai o valor de qualquer redação e, ao devolvê-lo, pode nomear o campo do jeito que o leu, com acento ou sem, em outra caixa, com espaço no lugar do traço, e nada disso quebra, porque a plataforma reconhece o campo que ele quis dizer. Do outro, o julgamento é indiferente, já que o valor é conferido contra o campo declarado e um CPF com dígito faltando é recusado com a mesma frieza tenha ele vindo de uma conversa ou de uma API.

O resultado é a garantia que interessa: nenhum valor entra no seu processo sem passar pela regra que você escreveu. O agente pode ser flexível na porta justamente porque não é ele quem decide o que entra.

Variáveis: o que uma etapa deixa para as próximas

Todo valor coletado vira uma variável, e é por variáveis que as etapas seguintes se referem ao que já aconteceu. Elas vêm de três origens:

OrigemO que éVive
Etapaos campos que uma etapa anterior coletou ou produziudurante a execução
Workspacevalores da equipe, definidos em Configurações, inclusive segredospermanente
Sistemavalores que a plataforma injeta, como Agora, a data e hora atuaissempre

A regra que governa as variáveis de etapa vale a pena entender, porque só existem as etapas que vêm antes. A plataforma percorre o grafo para trás a partir de onde você está e oferece apenas o que aquele caminho já produziu, de modo que uma etapa de um ramo paralelo não aparece, já que ela pode não ter rodado. Um valor que pode não existir é a origem silenciosa da maioria dos fluxos que funcionam no teste e falham em produção.

Onde um campo aceita variável, como o corpo de uma requisição, o texto de um template ou uma condição, você a insere por um seletor: escolhe pelo nome, mas o que fica gravado é o identificador, e é por isso que renomear uma etapa não quebra nada que a referencie.

Quando o contato não responde

Toda etapa que suspende declara o que fazer com o silêncio, dizendo se insiste, por quanto tempo espera e o que acontece ao desistir. Os padrões são mais conservadores do que a maioria das pessoas imagina, e vale conhecê-los antes de publicar o primeiro procedimento, em Falhas e retentativas.