Cartas de ação
Atualizado
por Matheus Enrique Alves
Depois de entender um pouco mais sobre o que são Cartas de ação na nossa Introdução a fluxos, agora iremos avançar sobre quais cartas existem e o que podemos fazer com cada uma delas.
Para facilitar a navegação por esse artigo, caso queira ir diretamente para uma carta de ação especifica, basta clicar no nome dela abaixo:
- Send the contact a message
- Send somebody else a message
- Label the incoming message
- Add a URN for the contact
- Add the contact to a group
- Remove the contact from a group
- Update the contact
- Send an email
- Save a result for this flow
- Enter another flow
- Start somebody else in a flow
Send the contact a message
A carta de ação mais conhecida e mais utilizada da plataforma. Sua função é a de mandar uma mensagem para o contato. Essa mensagem será recebida independente do canal que o usuário está conversando, basta escreve-la na caixa de texto.

- Quick Replies
Existe a possibilidade de enviar quick replies (botões de texto) para os usuários, assim facilitando a resposta e servindo como uma possibilidade de guia para sua conversa. Atualmente, você pode adicionar até 10 botões de texto por carta.

- Attachments
Também é possível enviar attachments (anexos) para um usuário. Esses anexos podem ser fotos, videos, áudios e documentos. Para enviar esses anexos, basta colocar o link das mídias, ou escolher o arquivo pelo seletor de arquivos do seu computador. Atualmente, você pode adicionar até 3 anexos por carta.

- Advanced
A opção Advanced (Configuração avançada) permite ativarmos o envio de mensagens para todos os destinos, ou seja, enviar mensagens para todos os canais que o contato possui vinculo, e não apenas para o canal preferencial. Depois disso, o canal escolhido pelo usuário para responder virará o canal preferencial para aquela conversa.
Ou seja, caso seu canal preferencial seja o Whatsapp, ao marcar a opção de todos os destinos, o contato receberá a mensagem em todos os canais que ele possui, e caso ele responda pelo SMS, o SMS se tornará o novo canal preferencial do contato e o fluxo continuará por lá.

Send somebody else a message
Podemos mandar uma mensagem para um contato ou grupo diferente do que está executando o fluxo. Essa mensagem será exibida para o contato/grupo sem afetar qualquer fluxo ou conversa que possa estar em execução para ele no momento.

Label the incoming message
Você pode marcar a última mensagem enviada pelo contato com uma Label (rótulo). Todas as mensagens rotuladas vão para um grupo de mensagens com o mesmo nome do rótulo. Você pode aprender mais sobre mensagens e rótulos no artigo de mensagens

Add a URN for the contact
É possível adicionar novas URNs para o seu contato. Você pode selecionar o tipo da URN que vai ser adicionada (Phone Number, Whatsapp, SMS, Telegram, etc) e informar o novo valor, utilizando algum valor fixo ou uma variável de fluxo. Para entender um pouco mais sobre URN, você pode visitar o artigo sobre o assunto

Add the contact to a group
Você consegue adicionar o contato em um grupo estático. Caso o grupo não exista na aba de contatos, você pode criar digitando o nome que deseja para o grupo no campo de seleção. Para entender um pouco mais sobre grupos, visite o artigo de contatos

Remove the contact from a group
Você pode remover o contato de algum grupo estático. Além disso, você tem a opção de marcar para remover o contato de todos os grupos que ele faz parte, sem distinção. Para entender um pouco mais sobre grupos, visite o artigo de contatos

Update the contact
Para preencher os campos do contato, basta utilizar o Update Contact. Nele, você seleciona o campo de contato que deseja atualizar, e depois disso pode inserir um valor fixo ou um resultado de fluxo. Caso o campo do contato ainda não exista, basta escrever o nome que você deseja para ele. Para saber mais sobre os campos de contato, visite o artigo de contatos

Send an email
Aqui você pode enviar um e-mail para alguém. Esse e-mail pode ser tanto do contato que está executando o fluxo, como qualquer outro. Lembrando que o e-mail não é um canal de conversa no push, ou seja, caso alguém responda o e-mail enviado, ele irá cair na caixa de entrada do e-mail configurado na organização (para saber mais, visite o artigo de configurações da organização).
Para enviar o e-mail, basta colocar o destinatário, o assunto e o corpo da mensagem nos campos correspondentes.

Save a result for this flow
Conseguimos simular um resultado de fluxo com essa carta de ação. Criando do zero, sem a necessidade de um input ou passar por alguma carta de decisão. Sendo assim, basta escolher o nome do resultado de fluxo, colocar o seu valor e caso queira, uma categoria. Além disso, podemos atualizar o valor de alguns resultados de fluxo já existentes. Para entender um pouco mais sobre resultados de fluxo e suas estruturas, visite a seção sessão de resultados no artigo de cartas de decisão

Enter another flow
Aqui, podemos iniciar novo fluxo para o usuário. Quando o usuário entra em um novo fluxo, o fluxo em que ele estava antes (que agora pode ser chamado de fluxo pai), fica em espera até a conclusão. Enquanto isso, o usuário irá executar o fluxo novo (que agora pode ser chamado de fluxo filho) e no final da execução, retornará para o ponto de onde parou no fluxo pai. Para funcionar, basta escolher o nome do fluxo que deseja entre em opções existentes.

Quando a execução do fluxo filho é encerrada, a carta de enter a flow nos da a oportunidade de duas rotas, sendo assim a única carta de ação que utiliza esse conceito (para entender o conceito de rota, visite o artigo de cartas de decisão). Essas duas rotas possíveis, são baseadas em como o fluxo filho terminou. Caso ele tenha sido completado sem nenhum problema o fluxo irá tomar a rota de Complete e caso o fluxo filho tenha expirado, o fluxo pai utilizará a rota de Expired.

Start somebody else in a flow
Da mesma forma que podemos mandar uma mensagem para um contato/grupo que não é o atual, nós também podemos começar um novo fluxo.
Para decidir quem vai ser iniciado pelo fluxo, podemos escolher entre três opções:
- Definir manualmente os contatos/grupos que serão iniciados no novo fluxo;
- Criar uma regra lógica (normalmente baseada em campos de contato) para filtrar os contatos que devem entrar no fluxo;
- Criar um novo contato, e esse contato ser iniciado no fluxo;
Depois de decidir sobre essas opções, basta selecionar um fluxo para ser iniciado. Diferentemente do Enter another flow, esse card não cria opções de rota, afinal, ele não espera o fim dos fluxos filhos para continuar a execução do fluxo pai.
