Ir para o conteúdo
Automação com IA no n8nTurma em andamento
Encontro 01: A primeira automação: gatilho, ação e dado

Exercício 01 · Encontro 01 · 45 minutos

O protocolo que se registra sozinho

O que você vai aprender

Você vai criar uma tabela de dados, um formulário público, um nó que gera o número do protocolo, um nó que grava a linha na tabela e uma tela de confirmação com as suas palavras. Depois publica o fluxo e abre o formulário no celular. É a primeira automação completa da formação, funcionando na sua conta.

Como começar

Onde
A conta do n8n, na tela Overview. Um fluxo novo será criado no passo 2.
Conversa
O chat da reunião, para os sinais.
Pasta
Nenhuma. O kit fica na Área de Trabalho, para o plano B.
Vem de
Exercício 0: você sabe executar e ler a saída.
Leva para
Exercício 2: uma tabela com vinte pedidos e um fluxo que trabalha em lote.

Baixe antes de começar

Situação

Um cidadão quer abrir um pedido na Secretaria da Fazenda de Vale Verde. Hoje ele manda um e-mail, alguém lê, anota num livro, dá um número e responde. Vamos fazer isso acontecer sozinho: ele preenche, o número nasce, a linha é gravada e a confirmação aparece na tela dele.

Gatilho, ação, dado: formulário, protocolo, tabela.

Tenha o kit aberto na Área de Trabalho (o arquivo 02-textos-para-colar.txt) e o celular por perto. Dados do teste: use um nome e um e-mail inventados; o cidadão fictício de hoje é Marina Duarte, marina.duarte@exemplo.com.br.

Passo a passo

11 passos · 45 min
  1. A tabela primeiro

    6 minutos. A tabela existe antes do fluxo: é nela que cada pedido vai ser gravado. Sete colunas, sem acento, tudo minúsculo.

    Por que este passo: A tabela é a memória do fluxo: é onde cada pedido fica guardado depois que a tela some. Ela precisa existir antes do nó que grava nela, e os nomes das colunas precisam ser exatamente os nomes dos campos que vão chegar.

    Deve aparecer: A tabela protocolos vazia, com sete colunas, na ordem: protocolo, nome, email, tipo, descricao, status, criado_em. Sinal no chat: TABELA.

    • Algum nome saiu com acento ou maiúscula? Clique no nome da coluna e corrija agora: depois de gravar, muda mais difícil.

    O que acabou de acontecer: Sete colunas para sete campos: quatro vêm do formulário (nome, email, tipo, descricao) e três o fluxo vai criar (protocolo, criado_em, status). O n8n cria sozinho mais três, id, createdAt e updatedAt: não mexa nelas. Ninguém digita nesta tabela: quem escreve nela é o fluxo.

  2. O formulário: título e descrição

    Caixinha 1 de 4: Formulário (gatilho)

    4 minutos. Um fluxo novo, cujo gatilho é o formulário público.

    Por que este passo: O gatilho deste fluxo é um formulário público: o cidadão preenche, e o fluxo acorda. Título e descrição são o que ele lê antes dos campos.

    Deve aparecer: O painel do gatilho com o título e a descrição preenchidos. Deixe o painel aberto: os campos vêm nos próximos passos. Sinal no chat: TÍTULO.

    • Pulou o fuso? O número do protocolo e a data vão sair com três horas a mais. Dá para acertar a qualquer momento antes do teste do passo 10: menu de três pontos, Settings, Timezone.

    O que acabou de acontecer: Test URL e Production URL são o mesmo formulário em dois momentos: o ensaio (enquanto você constrói) e a estreia (depois de publicar).

  3. O primeiro campo: Nome completo

    Caixinha 1 de 4: Formulário (gatilho)

    2 minutos. Cada campo do formulário é um elemento em Form Elements (elementos do formulário). Um elemento mostra Label (rótulo: o que o cidadão lê) e Element Type (tipo); os outros dois ficam escondidos no botão + Add Attributes: Custom Field Name (o nome curto que o fluxo usa) e Required Field (obrigatório).

    Por que este passo: Cada elemento do formulário vira um campo do pacote de dados. O Label é para o cidadão; o Custom Field Name é para o fluxo, e por isso é curto, minúsculo e sem acento: é o nome que a tabela espera.

    Deve aparecer: O primeiro elemento com Label Nome completo, Element Type Text Input, Custom Field Name nome e Required Field ligado. Siga para o próximo passo.

    O que acabou de acontecer: Guarde a dupla: Label é o que a pessoa lê, Custom Field Name é o que a máquina usa. Toda vez que o nome de um campo não bater com o de uma coluna, a gravação falha.

  4. O segundo campo: E-mail

    Caixinha 1 de 4: Formulário (gatilho)

    1 minuto. O mesmo caminho, com o tipo Email.

    Por que este passo: O tipo Email faz o próprio formulário conferir se o que foi digitado parece um e-mail. É validação sem programar.

    Deve aparecer: O segundo elemento pronto: E-mail, Email, email, Required Field ligado. Siga para o próximo passo.

    O que acabou de acontecer: Required Field ligado é a regra mais barata do dia: o pedido não entra incompleto.

  5. O terceiro campo: Tipo de pedido, com as cinco opções

    Caixinha 1 de 4: Formulário (gatilho)

    2 minutos. Um campo de lista: o cidadão escolhe uma das cinco opções.

    Por que este passo: Uma lista fechada é o que permite ao fluxo decidir depois: no Exercício 2, o If separa as reclamações porque o tipo vem de cinco opções fixas, não de texto livre.

    Deve aparecer: O terceiro elemento com as cinco opções, Custom Field Name tipo e Required Field ligado. Siga para o próximo passo.

    O que acabou de acontecer: Texto livre serve para descrever; lista serve para decidir. Quando um campo vai virar condição, faça dele uma lista.

  6. O quarto campo: Descrição do pedido

    Caixinha 1 de 4: Formulário (gatilho)

    1 minuto. Um campo de texto longo, para o cidadão explicar o pedido.

    Por que este passo: A descrição é o campo que hoje só uma pessoa lê. No próximo encontro, a inteligência artificial vai ler este campo e dizer do que o pedido trata.

    Deve aparecer: O gatilho do formulário na tela. Clique em Execute workflow, embaixo: o formulário abre numa aba nova, com os quatro campos. Não envie ainda; feche a aba. Sinal no chat: FORMULÁRIO.

    • O formulário não abriu? O Chrome pode ter bloqueado a aba (ícone no fim da barra de endereço): permita. Ou abra o nó, copie a Test URL (endereço de teste), no alto do painel, e cole em outra aba.

    O que acabou de acontecer: O formulário está pronto e já funciona sozinho no navegador. Tudo o que vem depois é o que acontece com o pacote de dados que ele envia.

  7. O número de protocolo

    Caixinha 2 de 4: Número de protocolo (Edit Fields)

    7 minutos. O nó que cria o número do protocolo, a data e o status, e leva junto o que veio do formulário.

    Por que este passo: Sem este nó, o pedido chegaria à tabela sem número, sem data e sem status. O Edit Fields acrescenta ao pacote o que o formulário não sabe: o número e a data são calculados na hora (expressões), o status é fixo. E ele escolhe o que segue adiante: só os quatro campos do formulário, para a tabela não receber campo que não é coluna.

    Deve aparecer: Duas caixinhas ligadas por uma seta: o formulário e o Número de protocolo. Sinal no chat: PROTOCOLO.

    • Esqueceu o Include Other Input Fields? No próximo passo a tabela grava só três colunas. Volte e ligue.
    • Deixou Input Fields to Include em All? O passo 10 vai dar erro unknown column name submittedAt. Volte, escolha Selected e cole os quatro nomes.
    • A caixinha ainda se chama Edit Fields? Abra, clique no título e cole Número de protocolo. Sem esse nome, a confirmação não acha o número.

    O que acabou de acontecer: Repare na prévia embaixo de cada expressão. O número usa data e hora até o segundo e serve para o exercício. Dois envios no mesmo segundo podem repetir o número; um protocolo real precisa de identificador único.

  8. Gravar na tabela

    Caixinha 3 de 4: Data table: gravar

    7 minutos. O nó que grava uma linha na tabela protocolos a cada pedido.

    Por que este passo: Este é o nó que faz a memória: a cada pedido, uma linha nova na tabela protocolos. Map Automatically casa cada campo do pacote com a coluna de mesmo nome, e é por isso que os nomes tinham que ser iguais.

    Deve aparecer: Três caixinhas em fila. A nova aparece no desenho com o nome Insert row. Sinal no chat: GRAVOU.

    • A lista Data table não mostra protocolos? Clique no ícone de atualizar ao lado do campo. A tabela precisa existir antes (passo 1).
    • No teste, o nó ficou vermelho com unknown column name? Chegou um campo que não é coluna (submittedAt, formMode). Abra o Número de protocolo do passo 7: Input Fields to Include em Selected, com os quatro nomes.

    O que acabou de acontecer: Inserir, buscar e atualizar são as três operações da tabela. Hoje só inserimos; no Exercício 2 vamos buscar e atualizar vinte linhas de uma vez.

  9. A confirmação, com as suas palavras

    Caixinha 4 de 4: n8n Form: a confirmação

    5 minutos. A tela que o cidadão vê depois de enviar. O texto é seu.

    Por que este passo: O cidadão precisa de uma resposta na hora. A mensagem lê o protocolo diretamente do nó Número de protocolo, mesmo quando outros nós mudarem o pacote de dados. O texto é seu porque a máquina não sabe como a sua repartição fala.

    Deve aparecer: Quatro caixinhas: On form submission, Número de protocolo, Insert row e Form (a confirmação). Sinal no chat: CONFIRMAÇÃO e a sua frase, em uma linha.

    O que acabou de acontecer: O fluxo agora vai do gatilho ao fim: recebe, cria, grava e responde. Quatro caixinhas, nenhum clique humano no meio. Isso é automação.

  10. Testar como cidadão

    5 minutos. O primeiro pedido de verdade, enviado por você, com um cidadão fictício.

    Por que este passo: Testar como cidadão é a única prova de que o fluxo inteiro funciona: a tela de confirmação mostra o fim, a linha na tabela mostra o meio.

    Deve aparecer: A confirmação com o número VV- e a data; uma linha na tabela com os sete campos preenchidos. Sinal no chat: TESTEI e o número do protocolo.

    • A linha gravou com campos vazios? Confira o Selected do passo 7 (nome, email, tipo, descricao, separados por vírgula) e se as colunas da tabela têm exatamente esses nomes. Reexecute.
    • Depois de enviar apareceu uma mensagem padrão, sem a sua frase? O Form Ending não está ligado depois do Data table, ou a mensagem ficou em Fixed. Confira a seta e o Expression.

    O que acabou de acontecer: Repare: você não clicou em nada depois de enviar. O gatilho acordou, três nós trabalharam e a tabela ganhou uma linha.

  11. Publicar e abrir no celular

    5 minutos. Até aqui o formulário só funciona enquanto o fluxo executa na sua tela. Publicar é colocá-lo no ar.

    Por que este passo: Até aqui o formulário só existia enquanto o fluxo executava na sua tela. Publicar é dizer ao n8n que este fluxo trabalha sozinho, a qualquer hora, pelo endereço de produção.

    Deve aparecer: O botão Published com o ponto verde e o formulário funcionando no celular, sem o n8n aberto. Sinal no chat: NO CELULAR.

    • No celular apareceu que o formulário não está registrado? O fluxo não foi publicado, ou você copiou a Test URL. Confira que o botão no alto à direita diz Published e copie de novo a Production URL, no On form submission (a primeira caixinha da esquerda).

    O que acabou de acontecer: O que roda em produção é a versão publicada, não o que você está editando. Mudou algo, publicou de novo: é o que o Exercício 3 faz com o e-mail.

O que você deve ver

  • A tabela protocolos com duas linhas, uma do computador e uma do celular.
  • O fluxo Protocolo Vale Verde publicado, com quatro caixinhas verdes.
  • A confirmação com a sua frase e o número do protocolo.
  • A execução do celular na aba Executions.

Checagem obrigatória

  • O número do protocolo começa com VV- e muda a cada envio.
  • A linha da tabela tem os sete campos preenchidos, inclusive status novo.
  • A frase da confirmação é sua, não a do esqueleto.
  • O endereço que abriu no celular é a Production URL.
Se travarabrir
O formulário não abre ao executar.
Abra o gatilho (a primeira caixinha da esquerda, On form submission), em Form URLs copie a Test URL e cole em outra aba, com o fluxo em execução. Se o Chrome bloqueou a aba, permita no ícone da barra de endereço.
O nó Data Table não mostra a tabela protocolos.
Clique no campo Data table e escolha na lista, ou clique no ícone de atualizar ao lado. A tabela precisa existir antes (passo 1).
A tabela gravou só protocolo, status e criado_em.
O Include Other Input Fields do nó Número de protocolo está desligado. Ligue, escolha Selected e cole os quatro nomes; reexecute.
O Insert row ficou vermelho: unknown column name submittedAt (ou formMode).
O Map Automatically manda o item inteiro, e a tabela recusa campo que não é coluna. No Número de protocolo, Input Fields to Include em Selected, com nome, email, tipo, descricao. Reexecute.
A confirmação deu erro de nó que não existe (Referenced node doesn't exist) ou mostrou o protocolo vazio.
O nome da caixinha do passo 7 não é exatamente Número de protocolo (acento no Ú, espaços). Abra a caixinha, clique no título e cole o nome de novo.
O Publish está cinza.
Não há mudança para publicar, ou há um nó com erro (um ponto vermelho). Abra o nó com erro e corrija o campo que ele aponta.
Cinco minutos travado.
Plano B: em Overview, Create workflow; no menu de três pontos ao lado do nome do fluxo (no alto à esquerda), Import (importar) e From file (de arquivo), escolha 04-protocolo-vale-verde.json do kit. Abra o nó Gravar na tabela e selecione a tabela protocolos. Siga do passo 10. O arquivo importado ganha o nome do fluxo que está dentro dele: para não ficar com dois de mesmo nome, arquive antes o seu fluxo travado (menu de três pontos, Archive).
Se você terminou antesabrir

Não avance para o próximo passo. Faça um destes testes na resposta que já tem:

  • Adicione um campo Telefone (Text Input, não obrigatório, Custom Field Name telefone) ao formulário, uma coluna telefone na tabela e acrescente telefone em Fields to Include, no Número de protocolo. Envie de novo.
  • Nas opções do gatilho, mude Button Label (rótulo do botão) para Abrir protocolo e ligue Ignore Bots (ignorar robôs).

Leve para o seu trabalho

  • A tabela antes do fluxo
  • Custom Field Name (em Add Attributes) é o nome que o fluxo usa
  • Include Other Input Fields leva o resto junto
  • Nomes iguais: o Data Table mapeia sozinho
  • Publish liga a Production URL

Registre o método

Complete na folha ou num bloco de notas. É o que fica quando a aula acaba.

  1. O meu número de protocolo de teste foi:
  2. A frase de confirmação que eu escrevi:
  3. O que muda entre a Test URL e a Production URL: