Freela Agente de IA – Ganhe R$800 Criando Automações com n8n

Crie seu primeiro Freela Agente de IA! Aprenda a criar projetos automatizados no n8n e ganhe dinheiro com isso no mercado de freelancers.

Introdução

Fala, impressionador!

Quer ganhar dinheiro com automações no n8n?

Neste guia, construir um agente de IA que:

  • Monitora e-mails recebidos com faturas em anexo
  • Usa inteligência artificial para extrair dados das faturas
  • Classifica automaticamente como fatura pessoal ou corporativa
  • Salva os arquivos organizados no Google Drive
  • Registra todas as informações em uma planilha do Google Sheets

Este é um projeto real que você pode encontrar em plataformas como upwork que conecta profissionais a empresas ou pessoas que precisam de serviços pontuais ou projetos específicos.

Ficou interessado(a), então, vem comigo!

Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:

Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.

Conhecendo o n8n

O n8n é uma ferramenta NoCode/LowCode para automatizar tarefas por meio de workflows visuais, conectando diferentes aplicativos e serviços sem trabalho manual. Cada automação funciona a partir de um gatilho (como um horário, e-mail ou atualização em planilha) e executa ações definidas em sequência (enviar e-mails, filtrar dados, atualizar sistemas etc.).

Seu principal diferencial é a integração com inteligência artificial, permitindo que IA's como o Chat GPT não apenas respondam, mas executem ações automaticamente dentro dos fluxos.

O n8n é usado para:

  • Eliminar tarefas repetitivas;
  • Integrar várias ferramentas (Gmail, Sheets, WhatsApp, Slack, entre outras);
  • Adicionar inteligência aos processos;
  • Criar automações de forma visual e intuitiva.

Para começar, é possível usar o n8n Cloud (pago, com teste gratuito) ou instalar via Docker gratuitamente. Após o login, basta criar um novo workflow pela interface principal.

Quando você abrir o n8n pela primeira vez, vai encontrar a interface principal onde pode criar seus workflows. Clique em "Create Workflow" (ou "Criar novo fluxo de trabalho") para começar.

Tela principal do n8n após o Login. Na lateral esquerda temos um menu lateral com alguns ícones, ao centro temos todos os projetos criados e no canto superior direito da tela, temos o botão Create workflow em destaque

Criando o primeiro nó: Gmail

O primeiro passo é configurar o gatilho da automação, ou seja, quando receber um novo e-mail com a fatura ele precisa ativar o fluxo. Para isso:

  1. No canvas do n8n, clique no botão Add first step
  2. Busque por "Gmail"
  3. Selecione "On Message Received"
Interface de automação mostrando a criação de um fluxo com Gmail: à esquerda, botão “Add first step” destacado em vermelho (1); à direita, painel do Gmail selecionado (2) com a opção de gatilho “On message received” destacada (3)
  1. No campo Credential to connect with  clique em Create a new credential;
Tela de parâmetros exibindo o campo “Credential to connect with” com a opção “Select Credential” e o botão “+ Create new credential” destacado em vermelho, identificado pelo marcador 4
  1. Faça login com sua conta Google. Caso tenha dúvidas, você pode consultar o vídeo Configurando OAuth Google (Entrar com Gmail)
Captura de tela da interface de configuração de uma conta Gmail via API OAuth2. No centro, o botão azul 'Sign in with Google' está destacado por um retângulo vermelho e acompanhado pelo número 5 em um círculo vermelho, indicando a próxima etapa da configuração
  1. No campo Mode selecione a opção Every Minute para garantir que a automação rode a cada minuto quando estiver ativada;
  2. Desabilite o campo Simplify para garantir que o máximo de informações sejam coletadas pelo nó de Gmail Trigger;
Interface de configuração de gatilho (trigger). O campo 'Mode' está definido como 'Every Minute' e destacado com um retângulo vermelho acompanhado do número 6. Abaixo, a opção 'Simplify' está com a chave seletora desligada, também destacada em vermelho e acompanhada pelo número 7
  1. Na seção de Option, clique no botão Add option e selecione a opção Download Attachments e habilite essa opção para que o gatilho baixe todos os anexos enviados na mensagem.
Seção 'Options' da configuração, onde a chave seletora para 'Download Attachments' está ligada (na cor verde). A opção está destacada por um retângulo vermelho e acompanhada pelo número 8 dentro de um círculo vermelho

Em seguida, vamos executar um teste para garantir que o gatilho está funcionando corretamente. Para isso, podemos usar os arquivos na pasta "Invoices" que podem ser acessados neste link.

Envie um e-mail para o endereço que você utilizou para cadastrar a credencial do gatilho da automação com o assunto "Fatura Maio" e a mensagem "Olá, bom dia. Segue em anexo a invoice solicitada.". Anexe na mensagem o arquivo "fatura_D.pdf" que é referente ao mês de maio.

Após o envio do e-mail ,aguarde alguns segundos, volte para a tela do n8n, clique no botão Fetch Test Event e na seção de Output veja o resultado.

Captura de tela da área de saída de dados (Output) de uma automação. No canto superior esquerdo, o botão 'Fetch Test Event' está destacado por um retângulo vermelho. Abaixo, em uma tabela com um item, a coluna 'snippet' também está destacada em vermelho, exibindo o texto: 'Olá, bom dia. Segue em anexo a invoice solicitada'

Verificando se o e-mail contém fatura

Nem todo e-mail recebido tem uma fatura anexada, por isso, precisamos adicionar uma verificação condicional:

  1. Clique no botão de adicionar ao lado do nó Gmail Trigger;
  2. Busque e selecione por If.
Interface de automação em tema escuro mostrando um fluxo com um “Gmail Trigger” à esquerda. Um botão de adicionar em destaque destacado, e à direita aparece o painel “What happens next?” com a opção “If” selecionada

Na configuração dos parâmetros precisaremos:

  1. Na seção Conditions no campo value1, digite o código { {$binary.attachment_0 }}. Lembre-se de mudar o campo para Expression para garantir que a expressão seja interpretada corretamente;
  2. Mude a condição para exists que se encontra dentro do menu de Objects.
Tela de configuração de condições em tema escuro mostrando a expressão {{ $binary.attachment_0 }} no campo à esquerda e o operador “exists” selecionado à direita, indicando uma verificação da existência de um anexo

Não iremos fazer nada caso a condição que implementamos no nó If  seja falsa. Por isso, podemos deixar esse caminho em branco ou adicionar um nó de nothing para garantir compreensão do fluxo e evitar confusões. Para isso:

  1. No caminho false do nó If, clique no ícone de adicionar;
  2. Busque e selecione a opção No operation, do nothing.
Editor de fluxo em tema escuro mostrando um nó “If” com dois caminhos: “true” e “false”. O caminho “false” está destacado, e à direita aparece a opção “No Operation, do nothing”

Extraindo dados com Inteligência Artificial

O próximo passo é usar a IA para ler e extrair informações do PDF da fatura. Nesta automação usaremos o Gemini do Google, pois ele tem um nível gratuito, perfeito para testes e projetos pessoais, mas você pode usar a IA que preferir.

  1. No caminho True do nó If, clique no ícone de adicionar;
  2. Busque por Google Gemini;
  3. Selecione a opção Analyse Document;
Interface do n8n em tema escuro mostrando um bloco condicional “If”. À esquerda, o caminho “true” está destacado e marcado com o número 1 em vermelho. À direita, um painel de opções do Google Gemini e a opção Analyse Document em destaque com o número 3 em vermelho

Na configuração dos parâmetros, precisaremos:

  1. Criar a credencial no campo Credential to connect with. Neste caso, a criação da credencial é diferente da que aplicamos no nó Gmail Trigger, é necessário criar uma chave de API no Google AI Studio. Caso tenha dúvidas, você pode consultar o vídeo Criando a Credencial do Gemini no n8n;
  2. O próximo passo é selecionar o modelo de linguagem que será utilizado pelo agente de IA no campo Model. Por exemplo: "models/gemini-2.5-flash";
  3. Na sequência vamos inserir no campo Text Input o prompt que vai instruir o modelo a atuar como um extrator de dados de faturas/recibos em PDF, retornando apenas um JSON válido com campos padronizados para planilha. Vamos utilizar o prompt que está no arquivo "Prompt.docx" que está nos arquivos utilizados neste projeto;
  4. Em Input Type selecione a opção Binary File(s) para lidar com o arquivo anexado no e-mail;
  5. Já em Input Data Field Name(s) adicione o nome do arquivo, neste caso "attachments_0".
  6. Clique em Execute step para testar o nó;
  7. Veja o resultado no formato de texto na seção de Output.
Captura de tela de uma interface de automação/IA para análise de documentos, com anotações numeradas em vermelho. À esquerda, o painel “Parameters” mostra: (1) credencial selecionada “Google Gemini (PaLM) API account”; (2) modelo escolhido “models/gemini-2.5-flash”; (3) campo de texto com o prompt “Você é um assistente de extração de dados”; (4) tipo de entrada definido como “Binary File(s)”; (5) nome do campo de dados “attachment_0”; e (6) botão “Execute step” no topo. À direita, o painel “Output” exibe a resposta do modelo em formato JSON, contendo dados extraídos de uma fatura (data, fornecedor, valor, moeda, impostos, número da fatura, categoria, tipo, método de pagamento e arquivo sugerido), com o resultado final destacado pelo marcador (7)
Ícone Agentes de IA e n8nAgentes de IA e n8n Impressionador

Crie agentes de IA que trabalham por você e automações que rodam sozinhas, sem escrever uma linha de código. Aprenda o n8n do zero, conecte WhatsApp, e-mail, planilhas e os sistemas que a empresa já usa, e monte projetos reais como agente de atendimento, de cobrança e de triagem de currículos.

Começar agoraSeta para a direita
Fundo Agentes de IA e n8nTelas Agentes de IA e n8n

Convertendo JSON em campos separados

A IA retorna um texto JSON. Precisamos separar esses dados para usar individualmente. Para isso:

  1. Clique no ícone de adicionar à direita do nó Analyse Document;
  2. Busque e selecione a opção Edit Fields (Set);
Captura de tela de um fluxo de automação mostrando o bloco “Analyze document” concluído (com ícone verde) e, à sua direita, um ícone de adicionar, destacado com o marcador (1). No painel lateral direito, aparece o campo de busca com o texto “edit fields” e a opção “Edit Fields (Set), destacada pelo marcador (2)

Na configuração dos parâmetros:

  1. Arraste a informação text do nó Analyse Document da seção de Input  para o campo Field to set;
  2. Selecione a opção Object para garantir a separação do texto em partes como indicado pelo formato JSON;
  3. Clique no botão Execute step para testar o passo e veja o resultado na seção de Output.
Captura de tela de uma interface de automação mostrando a transformação de um JSON em texto para campos estruturados. À esquerda, no painel “Input”, o bloco “Analyze document” exibe um JSON bruto com dados de uma fatura, destacado pelo marcador (1). No centro, o painel “Parameters” do passo “Edit Fields (Set)” mostra o modo “Manual Mapping”, com o campo content.parts[0].text configurado como “Object” e preenchido usando a expressão {{ $json.content.parts[0].text }}, indicado pelo marcador (2). No topo, o botão “Execute step” aparece destacado pelo marcador (3). À direita, no painel “Output”, os dados já aparecem mapeados em campos individuais organizados e destacados em vermelho

Classificando e salvando no Google Drive

Para salvar os arquivos no Google Drive, precisamos:

  • Criar a estrutura de pastas: "Corporativa" e "Pessoal" dentro de uma pasta do projeto;
  • Identificar se o arquivo é pessoal ou corporativo através de uma condição;
  • Mesclar os dados que separamos no bloco Edit Field (Set) com o arquivo que está no gatilho Gmail Trigger através de um nó chamado Merge;
  • Usar o nó Upload file do Google Drive para armazenar os arquivos nas respectivas pastas.

Vamos começar com a criação das pastas:

  1. Acesse o Google Drive;
  2. Clique no botão Novo;
  3. Selecione a opção Nova pasta;
  4. Dê um nome, por exemplo, "Análise de faturas" e clique em Criar;
  5. Dentro da pasta "Análise de faturas" crie duas pastas, uma chamada "Pessoal" e outra com o título "Corporativa".

O próximo passo é identificar o tipo de arquivo através do nó If:

  1. Clique no ícone de adicionar à direita do bloco Edit Fields;
  2. Busque e selecione pela opção If.
Captura de tela do n8n. À esquerda, o bloco “Edit Fields” aparece concluído (com marca verde) e, ao lado, o ícone de adicionar, destacado pelo marcador (1). À direita, o painel de seleção de ações mostra o campo de busca com o termo “If” e a opção “If destacada pelo marcador (2)
  1. Arraste a informação tipo do nó Edit Fields da seção de Input  para o campo value1;
  2. Mantenha a condição como is equal to;
  3. Preencha o campo value2 com "corporativo".
Interface de configuração de condições mostrando a variável “tipo” com valor “corporativo”, comparada usando a condição “is equal to”, com setas e marcações numeradas destacando onde o campo é selecionado e onde o valor é comparado

Na sequência, vamos mesclar os dados coletados do arquivo e o arquivo em si:

  1. No caminho True, clique no ícone de adicionar à direita do bloco If1;
  2. Busque e selecione pela opção Merge.
ela de editor de fluxo mostrando um nó condicional “If1” com a saída “true” conectada a um item, destacada por marcação numerada, e à direita o painel de busca exibindo o bloco “Merge"
  1. No campo Mode selecione Combine para juntar as informações em apenas uma;
  2. Em Combine By selecione Position para basear os dados que serão mesclados na posição;
  3. No campo Number of Inputs preencha com 2 que representam o Gmail Trigger e o Edit Fields;
Painel de parâmetros exibindo as configurações de um nó Merge, com o modo definido como “Combine”, a opção “Combine By” ajustada para “Position” e o número de entradas configurado como 2, todos destacados por marcações numeradas
  1. No fluxo da automação, como primeiro input do nó Merge, já teremos a informação do bloco If que carrega os dados do Edit Fields, mas precisamos arrastar o Gmail Trigger para o input 2 do nó para acessar o arquivo anexado ao e-mail.
Fluxo de automação mostrando o nó “Gmail Trigger” enviando um item diretamente para o nó “Merge”, com a conexão destacada em vermelho e identificada como entradas Input 1 e Input 2. Abaixo, um caminho alternativo do fluxo inclui os nós “If”, “Analyze document”, “Edit Fields” e “If1”, indicando processamento condicional antes da junção no Merge

O último passo é fazer o upload do arquivo no Google Drive:

  1. Clique no ícone adicionar à direita do bloco Merge;
  2. Busque por Google Drive;
  3. Selecione a opção Upload file;
Editor de fluxo mostrando o nó “Merge” com um item de saída e o botão de adicionar etapa destacado. À direita, o painel de ações exibe o conector “Google Drive”, com a busca por “Upload” e a ação “Upload file” selecionada
  1. Crie uma credencial no campo Credential to connect with. Caso tenha dúvidas, você pode consultar o vídeo Configurando OAuth Google (Entrar com Gmail);
  2. Preencha o Input Data Field Name com o nome do arquivo, que neste caso é "attachment_0";
  3. Arraste a informação arquivo_sugerido do nó Merge da seção de Input  para o campo Field Name;
  4. Em Parent Drive mantenha a opção My Drive;
  5. Já em Parent Folder, selecione a pasta na qual o arquivo será armazenado.Como estamos fazendo o caminho de uma fatura corporativa vamos selecionar a pasta "Corporativa";
  6. Por fim, clique em Execute step e verifique se o arquivo foi enviado para a pasta no Drive.
Tela de configuração da ação “Upload file” do Google Drive em um editor de automação. À esquerda, o painel de entrada mostra os dados do nó Merge, incluindo campos como valor, fornecedor, número da fatura e o campo “arquivo_sugerido” com o nome do PDF. À direita, os parâmetros exibem a credencial “Google Drive account”, operação “Upload”, o campo de dados de entrada definido como “attachment_0”, o nome do arquivo preenchido por uma expressão dinâmica baseada em “arquivo_sugerido”, o drive “My Drive”, a pasta “Corporativas” e o botão “Execute step” no topo

Repita os passos de criação do nó Merge e Upload file, no caminho false  do nó If1,fazendo apenas a alteração no campo Parent Folder para inserir a pasta "Pessoal", pois quando a nota não for corporativa ela vai seguir esse fluxo e salvar o arquivo na pasta pessoal.

Editor de fluxo exibindo dois conjuntos de nós destacados em vermelho. No conjunto superior, o nó “Merge” (combine) está conectado ao nó “Upload file” do Google Drive, ambos ativos e processando um item. No conjunto inferior, há uma configuração semelhante com os nós “Merge1” e “Upload file1”, mostrados como uma alternativa ou duplicação do fluxo

Registrando na planilha Google Sheets

A etapa final é centralizar todas as informações em uma planilha de controle. Para isso precisamos inicialmente cria uma planilha no Google:

  1. No navegador digite sheets.new;
  2. Dê um nome para a planilha. Por exemplo: "Análise de faturas";
  3. Crie as colunas:
    • Data da Fatura
    • Fornecedor
    • Valor
    • Moeda
    • Impostos
    • Número da Fatura
    • Categoria
    • Corporativo/Pessoal
    • Método de Pagamento
    • URL do Arquivo
    • E-mail de Origem

Em seguida, vamos criar o nó para enviar as informações para a planilha:

Em seguida, vamos criar o nó para enviar as informações para a planilha:

  1. Clique no ícone adicionar à direita do bloco Upload File;
  2. Busque por Google Sheets;
  3. Selecione a opção Append row in sheet;
Editor de fluxo mostrando o nó “Upload file” com o botão de adicionar etapa destacado. À direita, o painel de ações exibe o conector “Google Sheets”, com a busca por “append” e a ação “Append row in sheet” selecionada entre as opções disponíveis
  1. No campo Credential to connect with, crie uma credencial. Caso tenha dúvidas, você pode consultar o vídeo Configurando OAuth Google (Entrar com Gmail);
  2. No campo Document selecione a planilha "Análise de faturas";
  3. Em Sheet selecione a página na qual as informações serão adicionadas. Como temos apenas uma página na planilha, vamos selecioná-la;
Painel de configuração da ação “Append Row” do Google Sheets, mostrando a credencial “Google Sheets account”, o recurso “Sheet Within Document”, o documento selecionado como “Análise de faturas” e a planilha “Página1”, com os campos destacados por marcações numeradas
  1. Volte para o fluxo completo e conecte o nó Upload file1 ao nó Append row in sheet;
Editor de fluxo exibindo dois nós “Upload file” e “Upload file1” conectados ao nó “Append row in sheet” do Google Sheets. A conexão inferior está destacada por uma seta vermelha
  1. Para cada coluna da planilha, arraste o campo correspondente:
    • Data da Fatura: {{ $('Edit Fields').item.json.content.parts[0].text.data_fatura }}
    • Fornecedor: {{ $('Edit Fields').item.json.content.parts[0].text.fornecedor }}
    • Valor: {{ $('Edit Fields').item.json.content.parts[0].text.valor }}
    • Moeda: {{ $('Edit Fields').item.json.content.parts[0].text.moeda }}
    • Impostos: {{ $('Edit Fields').item.json.content.parts[0].text.impostos }}
    • Número da Fatura: {{ $('Edit Fields').item.json.content.parts[0].text.numero_fatura }}
    • Categoria: {{ $('Edit Fields').item.json.content.parts[0].text.categoria }}
    • Corporativo ou/ Pessoal: {{ $('Edit Fields').item.json.content.parts[0].text.tipo }}
    • Método de Pagamento:{{ $('Edit Fields').item.json.content.parts[0].text.metodo_pagamento }}
    • URL do Arquivo: como pode vir de dois nós diferentes (corporativo ou pessoal), podemos implementar a seguinte expressão: {{ $json.webViewLink }} || {{ $json.webViewLink }}. O operados ||significa "ou" e vai pegar o link do qual estiver preenchido.
    • E-mail de Origem: {{ $('Gmail Trigger').item.json.from.value[0].address }}
  2. Clique em Execute step e veja os dados inseridos na planilha.

Pronto, finalizamos a automação!

Podemos realizar outros testes com as faturas da pasta "Invoices" e usar o botão Execute workflow para executar todo o fluxo.

Visão geral de um fluxo de automação iniciado por um “Gmail Trigger”. O e-mail segue por uma etapa condicional “If”; quando verdadeiro, o documento é analisado, os campos são editados e uma nova condição decide o caminho. Os dados são então combinados em nós “Merge” ou “Merge1”, enviados para o Google Drive por “Upload file” ou “Upload file1” e, por fim, registrados no Google Sheets por “Append row in sheet”. Há também um caminho alternativo que não executa nenhuma ação

Conclusão

Você acabou de construir um agente de IA completo que automatiza todo o fluxo de processamento de faturas, desde o e-mail até a planilha, passando por classificação inteligente e organização no Drive.

Esse conhecimento abre portas para dezenas de outros projetos de automação, como processamento de pedidos, triagem de e-mails, análise de documentos e muito mais.

Continue praticando e explorando automações. Cada projeto é uma oportunidade de aprender e, quem sabe, criar sua própria renda como freelancer de automação!

Quer se aprofundar ainda mais? Temos um mini curso gratuito de Chat GPT e um curso completo de Inteligência Artificial. Além disso, se preferir esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Hashtag Treinamentos

Para acessar outras publicações de No Code, clique aqui!


Quer aprender mais sobre Inteligência Artificial com um minicurso básico gratuito?

Posts mais recentes de No Code

Posts mais recentes da Hashtag Treinamentos