Como Conectar Google Sheets ao n8n do Zero (Passo a Passo)

Atualizado em 3/10/2026 16 min de leitura Iniciante
Gatilho

Manual Trigger

Nó 2

HTTP Request

Nó 3

Edit Fields

Nó 4

Google Sheets

4 nós · Google Sheets · JSON para importar no fim do artigo.

Planilha é o lugar onde muita gente guarda tudo: gastos, clientes, estoque, cotações. Neste tutorial você vai ensinar o n8n a escrever no Google Sheets sozinho. O exemplo é simples e útil: cada vez que o workflow roda, ele busca a cotação do dólar numa API pública e acrescenta uma linha nova na sua planilha, com data, valor de compra, valor de venda e variação do dia.

A parte do n8n é rápida. O que costuma travar quem está começando é a conexão com a conta Google, e é nela que este guia vai mais devagar, campo a campo. Se você instalou o n8n no seu computador com Docker, como no tutorial n8n do zero com Docker, o caminho certo passa pelo Google Cloud Console, e ele está explicado inteiro aqui.

O que você vai construir

Um workflow de quatro nós, ligados em sequência:

  • Manual Trigger (aparece como “When clicking ‘Execute workflow’”): dá a partida quando você clica no botão Execute workflow.
  • HTTP Request: consulta a cotação do dólar na AwesomeAPI, a mesma API pública usada no tutorial do dólar no e-mail.
  • Edit Fields (Set): separa só os quatro dados que interessam e já converte os valores para número.
  • Google Sheets: acrescenta esses dados como uma linha nova no fim da planilha (operação Append Row).
Editor do n8n com o workflow Dólar na planilha: os nós When clicking Execute workflow, HTTP Request, Edit Fields e Append row in sheet ligados em sequência
O workflow completo “Dólar na planilha” no editor do n8n (versão 2.40.7), com os quatro nós em sequência.

No fim, você também vai ver como trocar o clique manual por um horário fixo, para a planilha se preencher sozinha todo dia.

Diferente dos outros tutoriais da série: aqui é preciso uma conta Google e um projeto gratuito no Google Cloud. A cotação continua vindo de uma API sem cadastro, mas escrever na sua planilha exige que você autorize o n8n, e essa autorização é feita com uma credencial OAuth2. Os nomes de botões estão em inglês, como aparecem no n8n e no Google Cloud.

Pré-requisitos


Por que não basta clicar em “Sign in with Google”?

Muitos tutoriais mostram a credencial do Google sendo criada com um único clique em Sign in with Google. Isso existe, mas só no n8n Cloud, a versão paga hospedada pela própria empresa. Lá, o n8n já tem um aplicativo registrado no Google (o chamado Managed OAuth2) e usa as chaves dele.

No n8n self-hosted, que é o caso de quem instalou com Docker, esse atalho não existe. A documentação oficial do n8n é direta sobre isso: você precisa criar o seu próprio aplicativo no Google Cloud Console e copiar dois valores para o n8n, o Client ID e o Client Secret. Eles não são gerados pelo n8n; quem gera é o Google, quando você cria o aplicativo.

Pense no Client ID como o “nome de usuário” do seu aplicativo junto ao Google e no Client Secret como a “senha” dele. Com os dois, o n8n consegue pedir ao Google: “o dono desta conta autorizou este aplicativo a mexer nas planilhas dele?”. Você responde “sim” uma única vez, na tela de login do Google, e a partir daí o n8n guarda a autorização.

Cuidado: o Client Secret é uma senha. Não cole em fórum, não mande por mensagem e não publique print com ele aparecendo. Se ele vazar, apague o cliente OAuth no Google Cloud e crie outro.


Parte 1: prepare a planilha

  1. Abra o Google Sheets e crie uma planilha em branco.
  2. Dê a ela o nome Cotação do dólar (clique em “Planilha sem título”, no canto superior esquerdo).
  3. Na primeira linha, escreva os cabeçalhos, um por coluna: data em A1, compra em B1, venda em C1 e variacao em D1.
  4. Deixe a aba com o nome padrão, Página1.

Escreva os cabeçalhos exatamente assim, em minúsculas e sem acento. Mais adiante o n8n vai casar cada campo com a coluna de mesmo nome, e qualquer diferença (um “Compra” com C maiúsculo, um espaço sobrando) faz o dado ir para uma coluna nova em vez da certa.


Parte 2: crie o aplicativo no Google Cloud Console

Tudo nesta parte acontece em console.cloud.google.com, entrando com a mesma conta Google dona da planilha. O uso que vamos fazer é gratuito: não é preciso cadastrar cartão de crédito para ativar as APIs do Google Sheets e do Google Drive.

2.1 Crie um projeto

  1. No topo da página, clique no seletor de projetos (ao lado do logotipo do Google Cloud) e depois em New project.
  2. Em Project name, escreva algo fácil de reconhecer, como n8n-local.
  3. Em Location, deixe No organization (é o normal para contas pessoais).
  4. Clique em Create e espere alguns segundos.
  5. Confira no seletor do topo se o projeto n8n-local está selecionado. Todos os passos seguintes valem para o projeto que estiver selecionado ali.

2.2 Ative as APIs do Google Sheets e do Google Drive

Um projeto novo não pode usar nenhuma API até você ativá-la. Vamos ativar duas:

  1. No menu lateral, vá em APIs & Services > Library.
  2. Pesquise por Google Sheets API, abra o resultado e clique em Enable.
  3. Volte à Library, pesquise por Google Drive API, abra e clique em Enable.

Por que o Drive, se vamos usar só o Sheets? Porque é pela API do Drive que o n8n lista as suas planilhas para você escolher numa lista, em vez de colar o endereço. A documentação do n8n pede as duas para o nó do Google Sheets.

2.3 Configure a tela de consentimento

A tela de consentimento é aquela janela do Google que pergunta “o aplicativo X quer acessar sua conta, permitir?”. Mesmo sendo um aplicativo só seu, ela precisa existir.

  1. No menu lateral, vá em APIs & Services > OAuth consent screen. O Google abre a área chamada Google Auth Platform; clique em Get started.
  2. App information: em App name, escreva n8n local; em User support email, escolha o seu e-mail. Clique em Next.
  3. Audience: escolha External. (A opção Internal só aparece para contas de empresa no Google Workspace.) Clique em Next.
  4. Contact Information: informe o seu e-mail para o Google avisar sobre mudanças no projeto. Clique em Next.
  5. Finish: marque a concordância com a política de dados do Google, clique em Continue e depois em Create.

Como você escolheu External, o aplicativo nasce em modo de teste (Testing). Nesse modo, só as contas cadastradas como usuários de teste conseguem autorizar. Então cadastre a sua:

  1. Ainda na Google Auth Platform, abra Audience no menu lateral.
  2. Em Test users, clique em Add users, digite o seu Gmail (o mesmo da planilha) e salve.

Se você pular este passo, o login do Google vai terminar num erro de acesso bloqueado (access_denied). É o erro mais comum de todo o processo.

2.4 Pegue a URL de retorno no n8n

Antes de criar o cliente OAuth, você precisa de um endereço que só o n8n sabe dizer: a OAuth Redirect URL, para onde o Google devolve você depois do login. Deixe o Google Cloud aberto numa aba e, em outra, abra o n8n:

  1. No n8n, clique em Create (ou no + do menu lateral) e escolha Credential.
  2. Pesquise por Google Sheets OAuth2 API e selecione.
  3. No topo do formulário aparece o campo OAuth Redirect URL. Clique nele para copiar.
Janela Add new credential do n8n com a busca Google Sheets e a opção Google Sheets OAuth2 API em destaque na lista
Em Add new credential, pesquise “Google Sheets” e escolha Google Sheets OAuth2 API (não a versão Trigger).

Numa instalação como a do nosso tutorial de Docker, o endereço é este:

http://localhost:5678/rest/oauth2-credential/callback
Formulário da credencial Google Sheets OAuth2 API no n8n com a OAuth Redirect URL http://localhost:5678/rest/oauth2-credential/callback e os campos Client ID e Client Secret vazios
A OAuth Redirect URL aparece no topo da credencial. O Client ID e o Client Secret ainda estão vazios: eles vêm do Google, no passo 2.5.

O Google aceita localhost como endereço de retorno em ambiente de desenvolvimento, então você não precisa de domínio, HTTPS nem abrir portas no roteador. Se o seu n8n roda em outro endereço (um servidor com domínio, por exemplo), use o endereço que o seu n8n mostrar, e não o do exemplo. Deixe essa aba do n8n aberta; vamos voltar a ela.

2.5 Crie o cliente OAuth (Client ID e Client Secret)

  1. No Google Cloud, vá em APIs & Services > Credentials.
  2. Clique em + Create credentials > OAuth client ID.
  3. Em Application type, escolha Web application.
  4. Em Name, troque o nome automático por algo como n8n local.
  5. Em Authorized redirect URIs, clique em + Add URI e cole a URL copiada do n8n.
  6. Deixe Authorized JavaScript origins em branco; não é usado aqui.
  7. Clique em Create.

O Google mostra uma janela com o Client ID (um texto longo terminado em .apps.googleusercontent.com) e o Client Secret. Mantenha essa janela aberta para copiar os dois no próximo passo. Se fechar sem querer, os dados ficam em Credentials > nome do cliente.

Campo no Google CloudO que colocarPor que
Application typeWeb applicationO n8n funciona como um site que pede autorização e recebe a resposta numa URL; é o tipo que aceita URL de retorno.
Namen8n localSó para você reconhecer depois. O usuário não vê esse nome.
Authorized JavaScript origins(vazio)Serve para apps que rodam inteiros no navegador. Não é o nosso caso.
Authorized redirect URIshttp://localhost:5678/rest/oauth2-credential/callbackPrecisa ser idêntica à do n8n, letra por letra, com http e a porta 5678. Qualquer diferença gera o erro redirect_uri_mismatch.

Parte 3: termine a credencial no n8n

Volte à aba do n8n, onde a credencial Google Sheets OAuth2 API ficou aberta, e preencha:

Campo no n8nO que colocarObservação
OAuth Redirect URL(já preenchido)É só para copiar. Não altere.
Client IDo Client ID do GoogleCopie e cole; cuidado com espaços no começo ou no fim.
Client Secreto Client Secret do GoogleFica guardado criptografado no n8n, com a chave de criptografia da sua instalação.
Custom ScopesdesligadoO n8n já pede as permissões certas para o nó do Google Sheets. Só mexa nisso se souber o que está fazendo.
Credencial Google Sheets OAuth2 API preenchida com um Client ID fictício e o Client Secret mascarado, com o aviso Connect your account e o botão Sign in with Google
Com o Client ID e o Client Secret colados, surge o botão Sign in with Google. Os valores deste print são fictícios.

Agora clique em Sign in with Google. Uma janela do Google vai abrir:

  1. Escolha a conta Google que você cadastrou como usuário de teste.
  2. Vai aparecer o aviso “Google hasn’t verified this app” (o Google não verificou este app). É esperado: o aplicativo é seu e está em modo de teste. Clique em Continue.
  3. Revise as permissões pedidas: ver, editar, criar e excluir as suas planilhas; ver informações (nome, data, pasta) dos arquivos do Drive, que é como o n8n monta a lista de planilhas; e acessar os arquivos que você usar com o app. Se aparecerem caixas de seleção, marque todas e clique em Continue.
  4. A janela fecha e o n8n mostra Account connected. Clique em Save e dê um nome à credencial, como Google Sheets (minha conta).

Sobre o modo de teste: com o aplicativo em Testing e público External, o Google faz a autorização expirar depois de 7 dias. Quando isso acontecer, o workflow passa a falhar com erro de autenticação; basta abrir a credencial e clicar de novo em Sign in with Google. Para estudar e testar, isso é suficiente.


Parte 4: monte o workflow, nó por nó

Crie um workflow novo e chame-o de Dólar na planilha. Vamos adicionar os quatro nós na ordem.

Editor do n8n com o workflow vazio Dólar na planilha e o botão Add first step no meio do canvas
O workflow novo “Dólar na planilha”, ainda vazio: o primeiro nó entra pelo Add first step.

Nó 1: Manual Trigger

No meio do canvas, clique em Add first step e escolha Trigger manually. Ele não tem nenhum parâmetro: só entrega um item vazio para dar a partida, como no tutorial da Selic, CDI e IPCA.

Nó 2: HTTP Request (cotação do dólar)

Clique no + à direita do primeiro nó, procure HTTP Request e configure:

CampoValorPor que assim
MethodGETSó queremos ler um dado.
URLhttps://economia.awesomeapi.com.br/json/last/USD-BRLEndereço da AwesomeAPI que devolve a última cotação do dólar comercial em reais.
AuthenticationNoneA API é pública, sem chave.
Send Query Parameters / Headers / BodydesligadosNão são necessários nesta consulta.
Nó HTTP Request com Method GET, URL da AwesomeAPI e Authentication None; à direita, a saída em JSON com o objeto USDBRL e os campos bid, ask, pctChange e create_date
HTTP Request configurado. À direita (OUTPUT, modo JSON), a resposta da AwesomeAPI com o objeto USDBRL.

Clique em Execute step. No painel OUTPUT, em modo JSON, a resposta tem um objeto chamado USDBRL com vários campos. Os que vamos usar são estes:

CampoO que significa
bidValor de compra
askValor de venda
pctChangeVariação do dia, em porcentagem
create_dateData e hora da cotação, no horário de Brasília

Repare que os números chegam entre aspas, como "5.1866". Para a API eles são texto. Se você mandar texto para a planilha, ela pode não reconhecer como número (no Brasil, o separador decimal é a vírgula). Por isso o próximo nó converte.

Nó 3: Edit Fields (Set)

Adicione o nó Edit Fields (Set). Em Mode, deixe Manual Mapping e crie quatro campos com Add Field. Em cada campo, escolha o tipo à direita do nome e cole a expressão no valor:

NomeTipoValor (expressão)
dataString{{ $json.USDBRL.create_date }}
compraNumber{{ Number($json.USDBRL.bid) }}
vendaNumber{{ Number($json.USDBRL.ask) }}
variacaoNumber{{ Number($json.USDBRL.pctChange) }}

Deixe a opção Include Other Input Fields desligada: assim, só esses quatro campos seguem adiante, e os nomes deles são iguais aos cabeçalhos da planilha. A função Number() transforma o texto "5.1866" no número 5,1866. Clique em Execute step e confira, na saída, um único item com os quatro campos (os números aparecem sem aspas).

Nó Edit Fields em Manual Mapping com os campos data, compra, venda e variacao e suas expressões; à direita, a saída com um item e os números sem aspas
Edit Fields com os quatro campos. Na saída, compra, venda e variacao já aparecem como números, sem aspas.

Nó 4: Google Sheets (Append Row)

Adicione o nó Google Sheets e, na lista de ações, escolha Append row in sheet. Preencha:

CampoValorExplicação
Credential to connect withGoogle Sheets (minha conta)A credencial criada na Parte 3.
ResourceSheet Within DocumentVamos trabalhar dentro de uma aba de uma planilha.
OperationAppend RowAcrescenta uma linha nova depois da última linha preenchida.
DocumentFrom list > Cotação do dólarA lista vem do Google Drive. Se não aparecer, troque para By URL e cole o endereço da planilha.
SheetFrom list > Página1A aba onde estão os cabeçalhos.
Mapping Column ModeMap AutomaticallyO n8n procura, para cada coluna, um campo de mesmo nome na entrada. Como o Edit Fields já criou data, compra, venda e variacao, tudo se encaixa.
Nó Google Sheets Append row in sheet com Resource Sheet Within Document, Operation Append Row, Document Cotação do dólar, Sheet Página1 e Mapping Column Mode Map Automatically
O nó Google Sheets (Append row in sheet) configurado. Print do n8n de teste, sem conta Google conectada: no seu, escolha a sua credencial e a sua planilha.

Se preferir controlar coluna por coluna, escolha Map Each Column Manually: o n8n lê os cabeçalhos da planilha e mostra um campo para cada um, onde você pode arrastar o dado vindo do nó anterior.

Teste

Clique em Execute workflow, na parte de baixo do canvas. Os quatro nós ficam verdes e, na planilha, aparece a linha 2 com a data, a compra, a venda e a variação. Rode de novo e surge a linha 3: o Append Row nunca sobrescreve, sempre acrescenta no fim.


Parte 5 (opcional): preencher a planilha todo dia sozinho

  1. Apague o Manual Trigger (selecione e tecle Delete).
  2. Adicione um Schedule Trigger e ligue-o ao HTTP Request.
  3. Em Trigger Interval, escolha Days; em Days Between Triggers, 1; em Trigger at Hour, por exemplo 6pm; e em Trigger at Minute, 0.
  4. Clique em Publish, no topo do editor, para o workflow passar a rodar sozinho.

O horário segue o fuso configurado no n8n. Na instalação do nosso tutorial de Docker, ele já está em America/Sao_Paulo, pela variável GENERIC_TIMEZONE. O computador precisa estar ligado e o Docker rodando no horário marcado; se estiver desligado, aquela execução não acontece. Quer receber um aviso no celular quando o dólar passar de um valor? Veja o tutorial Alerta de dólar no celular com n8n e combine os dois.


Erros comuns e como resolver

Erro 400: redirect_uri_mismatch

A URL de retorno cadastrada no Google não é idêntica à do n8n. Copie de novo a OAuth Redirect URL da credencial e confira no cliente OAuth (Credentials > nome do cliente): http e não https, porta 5678, sem barra sobrando no fim. Depois de salvar no Google, espere uns minutos antes de tentar de novo.

Erro 403: access_denied

A conta com que você tentou entrar não está na lista de usuários de teste. Volte em Google Auth Platform > Audience > Test users e adicione exatamente o mesmo Gmail.

Erro invalid_client

O Client ID ou o Client Secret no n8n não batem com o Google. Copie os dois de novo, com cuidado para não levar espaços junto.

“Google Sheets API has not been used in project… or it is disabled”

A API não foi ativada, ou foi ativada em outro projeto. Confira o seletor de projetos no topo do Google Cloud e ative a Google Sheets API no projeto certo. A ativação pode levar alguns minutos para valer.

A planilha não aparece na lista do campo Document

Normalmente falta ativar a Google Drive API. Outra saída é trocar From list por By URL e colar o endereço da planilha.

Os dados foram para colunas novas, à direita

Algum cabeçalho da planilha está diferente do nome do campo no Edit Fields. Compare os dois lados letra por letra (maiúsculas, acentos e espaços contam). Corrija e apague as colunas extras.

Os valores aparecem como texto ou com o número errado

Confira se os três campos numéricos do Edit Fields estão com o tipo Number e com a função Number() na expressão. Se a coluna ainda mostrar o valor alinhado à esquerda, como texto, selecione a coluna no Sheets e aplique Formatar > Número.

Funcionava e, uma semana depois, parou

É a expiração de 7 dias do modo de teste. Abra a credencial no n8n e clique em Sign in with Google outra vez.


Segurança e privacidade

  • O aplicativo que você criou só funciona para as contas da lista de usuários de teste. Ninguém mais consegue usá-lo.
  • Não publique prints da credencial com o Client Secret, nem da planilha com dados pessoais.
  • Para revogar o acesso a qualquer momento, abra a sua Conta do Google, vá em Segurança e procure a seção de conexões com apps e serviços de terceiros; lá, remova o “n8n local”. Se quiser recomeçar do zero, apague também o cliente OAuth no Google Cloud.

Workflow pronto para importar

Prefere pular a montagem dos nós? Baixe o workflow pronto. No n8n, crie um workflow novo, abra o menu … (três pontinhos) no topo do editor, vá em Import e depois em From file para abrir o arquivo.

O download é um arquivo .zip com o dolar-na-planilha.json dentro; descompacte antes de importar. Por segurança, o arquivo não traz nenhuma credencial nem planilha: depois de importar, abra o nó Append row in sheet e escolha a sua credencial (Parte 3), o Document e a Sheet.

Recapitulando

  • No n8n self-hosted, a conexão com o Google exige um aplicativo seu no Google Cloud Console; o botão de um clique só existe no n8n Cloud.
  • O caminho é: projeto, APIs do Sheets e do Drive, tela de consentimento com você como usuário de teste e cliente OAuth do tipo Web application com a URL de retorno do n8n.
  • O Client ID e o Client Secret vêm do Google e vão para a credencial Google Sheets OAuth2 API no n8n.
  • O nó Edit Fields prepara os dados com os mesmos nomes dos cabeçalhos, e o Google Sheets com Append Row e Map Automatically grava uma linha nova a cada execução.

Com a credencial pronta, você pode reaproveitá-la em qualquer workflow: guardar respostas de formulários, montar um histórico de CEPs consultados ou registrar os feriados do ano numa aba.

Fontes

Documentação oficial consultada para este tutorial:

Nó de saída · continue aprendendo

Siga a trilha Criar do zero

Instale o n8n no seu computador e monte workflows simples, de 2 a 5 nós, usando APIs públicas brasileiras que não pedem cadastro. Cada tutorial tem vídeo, prints e o JSON para importar.