Sim, dá para salvar automaticamente anexos recebidos no Gmail em uma pasta do Google Drive usando n8n. O fluxo básico usa o Gmail Trigger para encontrar a mensagem, baixa os anexos como arquivos binários e passa cada arquivo ao nó do Google Drive.
É uma automação útil para notas fiscais, contratos, comprovantes, currículos e documentos enviados por clientes. O ponto mais importante é filtrar o e-mail antes de baixar qualquer coisa: sem uma busca como has:attachment, a caixa de entrada vira um gatilho barulhento e o n8n pode processar mensagens que não deveriam entrar no fluxo.

Como funciona a automação
O desenho fica assim:
Gmail Trigger → Google Drive (File > Upload)
O Gmail Trigger consulta a conta no intervalo escolhido e dispara quando encontra uma nova mensagem. A documentação do n8n informa que esse gatilho trabalha por polling, ou seja, ele verifica a caixa periodicamente; não é um webhook instantâneo. O nó também aceita filtros de busca do Gmail, como remetente, assunto, marcador e has:attachment.
Quando o download de anexos está habilitado, o n8n grava os arquivos em propriedades binárias. O prefixo padrão é attachment_, então o primeiro anexo costuma aparecer como attachment_0. O Google Drive recebe o nome dessa propriedade no campo Input Data Field Name e envia o conteúdo para a pasta escolhida.
O que você precisa antes de começar
- Uma conta do Gmail com pelo menos uma mensagem de teste contendo arquivo anexado.
- Uma conta do Google Drive com permissão para criar arquivos na pasta de destino.
- Uma instância do n8n, na nuvem ou instalada por você.
- Uma credencial Google configurada no n8n para Gmail e Drive.
A autenticação é a etapa que mais costuma confundir. Use a credencial Google/OAuth2 indicada pela documentação do n8n e conecte a mesma conta que receberá os e-mails e armazenará os arquivos. Se a sua instalação pedir uma configuração no Google Cloud, siga o fluxo de OAuth2 da própria documentação em vez de copiar credenciais de terceiros.
Se você está em dúvida entre n8n e Make para esse tipo de tarefa, vale comparar o modelo de operação, hospedagem e limite de execuções no nosso guia sobre n8n ou Make. Aqui, o n8n é interessante porque permite ajustar o fluxo com expressões e código quando a regra ficar mais complexa.
Passo 1: configure o Gmail Trigger
- Crie um workflow novo e adicione o nó Gmail Trigger.
- Em Event, escolha Message Received.
- Selecione ou crie a credencial Google.
- Escolha o intervalo de polling em Poll Times.
- Em Filters > Search, comece com
has:attachment. - Abra as opções avançadas, deixe Download Attachments ativado e mantenha o prefixo
attachment_.
Para restringir ainda mais a automação, use uma busca combinada. Por exemplo:
from:financeiro@empresa.com subject:(nota fiscal) has:attachment
O Gmail usa a mesma sintaxe de pesquisa da caixa de entrada. Você também pode combinar from:, subject:, label: e períodos como newer_than:1d. Quanto mais específica for a busca, menor o risco de salvar um arquivo errado.
Nas versões atuais do nó, as opções de anexo ficam disponíveis quando a resposta completa é usada, não apenas a versão simplificada. Se o seu editor esconder Download Attachments, desative Simplify e abra novamente as opções do nó. A própria implementação do Gmail Trigger usa o prefixo para nomear os binários e acrescenta um índice a cada arquivo.
Passo 2: envie o anexo para o Google Drive
- Adicione um nó Google Drive depois do Gmail Trigger.
- Em Resource, escolha File.
- Em Operation, selecione Upload.
- No campo Input Data Field Name, informe
attachment_0. - Escolha a unidade e a pasta de destino em Parent Drive e Parent Folder.
- Em File Name, use a expressão
{{$binary.attachment_0.fileName}}para preservar o nome recebido. - Salve o workflow.
O nó do Google Drive documenta exatamente esse caminho: recurso File, operação Upload e um campo de entrada que aponta para o dado binário. Se o teste retornar “binary property not found”, abra a saída do Gmail Trigger e confira o nome real da propriedade. Ele pode mudar se você alterar o prefixo ou se outro nó renomear o arquivo.
Como lidar com mais de um anexo
O fluxo mínimo acima envia o primeiro arquivo, attachment_0. Se uma mensagem tiver vários anexos, você precisa transformar cada propriedade binária em um item separado antes do upload. Uma forma prática é inserir um nó Code entre o Gmail Trigger e o Google Drive:
const saida = [];
for (const item of $input.all()) {
for (const [nome, arquivo] of Object.entries(item.binary ?? {})) {
saida.push({
json: { ...item.json, propriedadeAnexo: nome },
binary: { data: arquivo },
});
}
}
return saida;
Depois desse nó, configure o Google Drive para usar data em Input Data Field Name e {{$binary.data.fileName}} em File Name. Assim, cada item chega ao upload com um único arquivo binário. Teste primeiro com dois anexos pequenos para confirmar o comportamento da sua versão do n8n.
Como testar sem bagunçar a pasta
- Crie uma pasta de teste no Google Drive.
- Envie para a conta do Gmail uma mensagem com um PDF ou uma imagem pequena.
- Execute o workflow manualmente ou aguarde o próximo polling.
- Abra a execução e confirme que surgiu a propriedade
attachment_0. - Verifique se o arquivo apareceu na pasta correta, com nome e extensão preservados.
- Só depois troque a pasta de teste pela pasta definitiva e ative o workflow.
Se a execução funcionar, mas o arquivo não aparecer no Drive, confira a pasta selecionada e a conta usada na credencial. Não basta o usuário conseguir abrir a pasta no navegador: a conta autorizada no n8n precisa ter permissão para criar arquivos nela.
Erros comuns e como corrigir
O workflow dispara para qualquer e-mail
Adicione has:attachment no campo de busca e restrinja por remetente, assunto ou marcador. Também confira o status de leitura escolhido. O Gmail Trigger permite trabalhar com mensagens não lidas, lidas ou ambas.
O anexo não aparece na saída
Verifique se Download Attachments está ligado e se o modo simplificado foi desativado quando necessário. Depois, abra a execução e copie o nome exato da propriedade binária para o campo do Google Drive.
A automação consome muita memória
Anexos são dados binários. Baixar mensagens completas e arquivos grandes aumenta o uso de memória, principalmente quando o polling encontra várias mensagens de uma vez. Reduza o escopo da busca, limite a quantidade por polling e evite manter o corpo completo do e-mail se ele não for necessário.
O mesmo arquivo é salvo mais de uma vez
Crie uma regra de idempotência. Você pode aplicar um marcador no Gmail depois do upload, usar uma busca que exclua mensagens já processadas ou gravar o ID da mensagem em uma base. O importante é não depender apenas do nome do arquivo: duas mensagens diferentes podem trazer um documento com o mesmo nome.
A credencial Google retorna erro
Reconecte a credencial no n8n e confirme que a conta autorizada é a mesma que possui acesso à caixa de entrada e à pasta. Em ambientes corporativos, um administrador pode limitar quais aplicativos têm permissão para acessar o Google Workspace.
Cuidados de segurança
Automatizar anexos não significa que todos os arquivos devam ir para o mesmo lugar. Separe pastas por cliente ou tipo de documento, limite o compartilhamento do Drive e use filtros estreitos no Gmail. Para documentos sensíveis, evite pastas públicas e revise quem pode baixar ou editar os arquivos.
Também não ative o fluxo direto na caixa de entrada inteira. Comece por um marcador como para-drive ou por um remetente conhecido. É mais fácil ampliar uma automação segura do que descobrir depois que ela despejou dados pessoais em uma pasta compartilhada.
Vale a pena usar n8n para isso?
Para um fluxo simples, sim. Você monta a automação sem escrever código, mas ainda pode usar expressões e um nó Code quando precisar tratar vários anexos, padronizar nomes ou separar pastas por remetente. A principal limitação é que o Gmail Trigger trabalha por consulta periódica, e o download de anexos aumenta o consumo de recursos.
Se você precisa apenas guardar alguns arquivos por semana, salvar manualmente pode ser mais rápido do que configurar OAuth e testar regras. O n8n começa a fazer sentido quando o volume é recorrente, o arquivo precisa ser classificado ou existe uma segunda ação depois do upload, como avisar uma equipe, registrar o documento em uma planilha ou iniciar uma aprovação.
Perguntas frequentes
Preciso programar para salvar anexos do Gmail no Drive?
Não para o fluxo básico. Depois de configurar as credenciais, Gmail Trigger e Google Drive funcionam por campos e menus. Código só ajuda quando há vários anexos ou regras de tratamento mais específicas.
O Gmail Trigger salva todos os anexos da mensagem?
Com o download habilitado, os anexos são expostos como propriedades binárias com prefixo e índice, como attachment_0 e attachment_1. O Google Drive, porém, recebe uma propriedade por operação; para vários arquivos, use um loop ou o nó Code mostrado neste tutorial.
O arquivo é enviado para o Drive na mesma hora?
Não necessariamente. O Gmail Trigger consulta a caixa no intervalo definido em Poll Times. A mensagem será processada na próxima verificação que atender aos filtros.
Posso salvar anexos só de um remetente?
Sim. Use o filtro from: junto de has:attachment, como from:cliente@exemplo.com has:attachment. Você também pode filtrar pelo assunto ou por um marcador do Gmail.