TEXTOS PARA COLAR, ENCONTRO 1
Na ordem da aula. Cada bloco diz em que exercício e passo entra, e se o
campo do n8n fica em Fixed (texto fixo) ou Expression (expressão).

==========================================================================
EXERCÍCIO 0, passo 4: Edit Fields (Set)
==========================================================================

Campo mensagem (Fixed):
Olá, Vale Verde. Este é o meu primeiro fluxo.

Campo quando (Expression):
{{ $now.toFormat("dd/LL/yyyy HH:mm") }}

==========================================================================
EXERCÍCIO 1, passos 2 a 6: On form submission
==========================================================================

Fuso do fluxo (menu de três pontos, Settings, Timezone), logo depois do nome:
America/Sao Paulo (a opção sem Default na frente)

Form Title:
Secretaria da Fazenda de Vale Verde: abrir protocolo

Form Description:
Preencha os campos e envie. Você recebe o número do protocolo na tela.

Form Elements (o + adiciona um elemento; Label e Element Type ficam à vista;
Custom Field Name e Required Field entram por + Add Attributes):
  Label                  Element Type   Custom Field Name   Required Field
  Nome completo          Text Input     nome                ligado
  E-mail                 Email          email               ligado
  Tipo de pedido         Dropdown       tipo                ligado
  Descrição do pedido    Textarea       descricao           ligado

Opções do Dropdown Tipo de pedido (Field Options, uma por Add Field Option):
Dúvida sobre IPTU
Certidão negativa
Parcelamento de débito
Reclamação
Outro

==========================================================================
EXERCÍCIO 1, passo 7: Edit Fields (Set)
==========================================================================

Include Other Input Fields: ligado. Input Fields to Include: Selected.
Fields to Include (cole):
nome, email, tipo, descricao

Nome do nó (clique no título Edit Fields, no alto do painel, e cole):
Número de protocolo

Campo protocolo (Expression):
VV-{{ $now.toFormat("yyyyLLdd-HHmmss") }}

Campo criado_em (Expression):
{{ $now.toFormat("dd/LL/yyyy HH:mm") }}

Campo status (Fixed):
novo

==========================================================================
EXERCÍCIO 1, passo 8: Data table, Insert row, tabela protocolos
==========================================================================

Mapping Column Mode: Map Automatically casa os campos com as colunas de mesmo
nome. Se preferir conferir um a um (Map Each Column Manually), arraste do INPUT
ou cole (Expression):
  protocolo   {{ $json.protocolo }}
  nome        {{ $json.nome }}
  email       {{ $json.email }}
  tipo        {{ $json.tipo }}
  descricao   {{ $json.descricao }}
  status      {{ $json.status }}
  criado_em   {{ $json.criado_em }}

==========================================================================
EXERCÍCIO 1, passo 9: n8n Form, Page Type Form Ending, Show Completion Screen
==========================================================================

Completion Title (Fixed):
Protocolo aberto

Completion Message (Expression). Troque o trecho entre colchetes pela sua frase:
[ESCREVA AQUI, COM AS SUAS PALAVRAS, UMA FRASE QUE DIGA AO CIDADÃO QUE O PEDIDO FOI RECEBIDO] O seu número de protocolo é {{ $('Número de protocolo').first().json.protocolo }}. Guarde este número para acompanhar o pedido.

Dados do teste (cidadão fictício):
  Nome: Marina Duarte
  E-mail: marina.duarte@exemplo.com.br
  Tipo: Certidão negativa
  Descrição: Preciso da certidão negativa de débitos municipais para um contrato.

==========================================================================
EXERCÍCIO 2, passo 2: On a schedule (Schedule Trigger)
==========================================================================

Trigger Interval: Days
Days Between Triggers: 1
Trigger at Hour: 8am
Trigger at Minute: 0
Fuso do fluxo (Settings, Timezone): America/Sao Paulo

==========================================================================
EXERCÍCIO 2, passo 3: Data Table, Get, tabela pedidos
==========================================================================

Conditions, Add Condition (Column, Condition, Value); Return All ligado:
  status   Equals   novo

==========================================================================
EXERCÍCIO 2, passo 4: If
==========================================================================

Condição (arraste tipo do INPUT para o primeiro valor):
  {{ $json.tipo }}   is equal to   Reclamação

==========================================================================
EXERCÍCIO 2, passo 5: Data Table, Update, tabela pedidos (dois nós)
==========================================================================

Conditions (Column, Condition, Value):
  protocolo   Equals   {{ $json.protocolo }}

Mapping Column Mode: Map Each Column Manually; em Values to Update, deixe só
status (Remove All Columns e depois Add Column to Send, status). Coluna vazia
aqui apaga o valor na tabela.
Na saída true:
  status   prioridade

Na saída false:
  status   fila

==========================================================================
EXERCÍCIO 3, passo 3: Gmail, Send a message
==========================================================================

To (Expression):
{{ $json.email }}

Subject (Expression):
Protocolo {{ $json.protocolo }} aberto

Email Type (vem HTML; troque):
Text

Message (Expression). Troque o trecho entre colchetes pelas suas duas linhas:
Olá, {{ $json.nome }}.

[ESCREVA AQUI, COM AS SUAS PALAVRAS, DUAS LINHAS DIZENDO QUE O PEDIDO FOI RECEBIDO E O QUE ACONTECE AGORA]

Número do protocolo: {{ $json.protocolo }}
Tipo do pedido: {{ $json.tipo }}
Aberto em: {{ $json.criado_em }}

Secretaria da Fazenda de Vale Verde
Esta mensagem foi enviada automaticamente. Não responda a este e-mail.

==========================================================================
EXERCÍCIO 4: nomes dos arquivos exportados
==========================================================================

01-protocolo-vale-verde.json
02-fila-do-dia.json
(desafio) 03-desafio.json
