Olá pessoal,
Hoje iremos analisar como fazer um projeto híbrido, utilizando fluxos no N8N e um projeto já existente (uma API). O projeto consiste em uma aplicação de cartões de memória, ou flashcards, no qual pode facilitar os estudos através da memorização por repetição.
Vamos começar conectando com o projeto e realizando operações mais simples. Iremos evoluir a tal ponto no qual podemos escolher e flexibilizar o modo de funcionamento dele.
O objetivo é chegar em um nível que uma mudança no projeto seja simples de ser feita, para isso vamos utilizar os subfluxos do N8N.
Tópicos
- Apresentação da aplicação
- Objetivos e funcionalidades
- Explicar subfluxo no N8N
- Primeiro Subfluxo – Requisições
- Analisando o subfluxo
- Links para Download
Apresentação da aplicação
O projeto disponível em GitHub é uma API dedicada à gestão de flashcards, projetada para facilitar o aprendizado por meio de revisões estruturadas.
Esta API oferece permitindo a criação e gerenciamento de usuários, cartões de memória, cadernos e sessões de revisão.
Uma das características mais notáveis deste projeto é sua inteligência integrada, que ajusta automaticamente as próximas sessões de revisão com base nas respostas dos usuários em cada sessão.
Isso significa que o sistema é capaz de personalizar a experiência de aprendizado, garantindo que os usuários revisem os conteúdos de forma mais eficiente e eficaz, maximizando a retenção de informações.
Você pode rodar o projeto através do docker utilizando:
docker pull marcelo3macedo/flashcards:latest
Objetivos e funcionalidades
O principal objetivo deste projeto é desenvolver uma arquitetura modular dentro da própria plataforma n8n, utilizando subfluxos para garantir flexibilidade, escalabilidade e integração eficiente com diferentes ferramentas e APIs.
Principais objetivos:
- Flexibilidade na Integração: permitir integrações com diferentes canais e serviços, como envio automático de cards via Telegram, armazenamento de dados e resumos no Google Sheets, e emissão de relatórios personalizados.
- Automação com Inteligência Artificial: viabilizar a criação automatizada de flashcards com auxílio de IA, a partir de textos livres, arquivos ou comandos estruturados, otimizando o tempo do usuário e enriquecendo o conteúdo gerado.
- Processamento Descentralizado: utilizar subfluxos no n8n para isolar responsabilidades e facilitar a reutilização de componentes, como fluxos de validação, transformação de dados e chamadas à API.
- Facilidade na Inserção de Conteúdo: permitir que usuários insiram cards de maneira intuitiva, seja através de upload de arquivos (como CSV ou TXT), ou diretamente via mensagem de texto.
Iremos criar uma estrutura no qual mesmo com o aumento de regras, funcionalidades e tudo mais, isso não cause um aumento na complexidade dos fluxos.
Com isso teremos no N8N algo fácil de entender e modificável.
Explicar subfluxo no N8N
Um subfluxo (ou Subworkflow) no n8n é como uma função reutilizável.
Pensa assim:
- Em vez de repetir os mesmos blocos de automação em vários fluxos, você cria um fluxo separado que faz uma tarefa específica (como validar dados, mandar um e-mail, gerar um resumo etc.).
- Esse fluxo separado vira um subfluxo.
- Depois, nos outros fluxos principais, você só chama esse subfluxo sempre que precisar daquela tarefa.
Exemplo prático:
Iremos chamar um subfluxo de requisição:
- Para isso adicionamos o “Execute Workflow” em nosso fluxo.
- A seguir aparecerão as variáveis necessárias para a execução do fluxo.

No subfluxo temos uma caixinha que especifica o que acontece quando ele é chamado por outro fluxo.
Nele está informado os parâmetros necessários, aqueles que são necessários para a execução do fluxo:

Veja que você pode criar um subfluxo só para fazer uma ação. E em vez de repetir a lógica várias vezes, você chama esse subfluxo nos fluxos principais com o node Execute Workflow
.
Primeiro Subfluxo – Requisições
Neste primeiro subfluxo, centralizamos todas as requisições feitas para a API. A ideia é ter um único lugar responsável por enviar dados, fazer buscas, atualizações ou qualquer outra comunicação com a API externa.
Essa abordagem traz várias vantagens:
- Reutilização: sempre que algum fluxo precisar acessar a API, ele simplesmente chama este subfluxo.
- Facilidade de manutenção: se algum dia for necessário mudar a URL base da API, um token de autenticação ou adicionar um cabeçalho novo, será preciso fazer isso apenas neste subfluxo, e não em todos os fluxos espalhados no projeto.
- Segurança e padronização: todas as requisições seguem o mesmo padrão de autenticação e formatação, reduzindo o risco de erro.

Analisando o subfluxo
Analisando mais a fundo, cada caixinha no fluxo vemos as seguintes caixinhas:
- When clicking ‘Test workflow’
- example_post
- exemple_get
Elas estão em uma etapa paralela a chamada de subfluxo, o motivo é permitir termos uma força de testar facilmente o subfluxo e validar seu funcionamento.
Como sabemos quais variáveis são necessárias para a execução do fluxo, podemos criar caixinha que simulem esses valores para vermos como o fluxo se comportará.
Essa flexibilidade do N8N permite simplificar e entender facilmente o que está acontecendo no fluxo e fazer ajustes se necessário.
Links para Download
Disponibilizamos abaixo o fluxo N8N para download, ele pode ser facilmente importado na sua aplicação.
Basta entrar em um novo fluxo do N8N selecionar “…”, escolher “Importar de arquivo” e selecionar o arquivo que você baixou.
Lembre-se de inserir as credenciais corretamente para que o fluxo funcione conforme esperado.