O problema dos relatórios manuais

Relatórios manuais consomem tempo valioso da equipe, são propensos a erros e não escalam com o crescimento do negócio. A automação com n8n e Google Sheets resolve esses problemas.

Configurando as integrações

1. Conectar n8n ao Google Sheets

Primeiro, você precisa autenticar o n8n com sua conta Google:

  1. Vá em Credentials no n8n
  2. Adicione uma nova credencial "Google Sheets OAuth2"
  3. Autorize o acesso às suas planilhas

2. Criar planilha de destino

Crie uma planilha Google Sheets com as colunas necessárias para seus relatórios.

Workflow básico: Relatório diário de vendas

Vamos criar um workflow que:

  • Busca dados de vendas da API
  • Processa e agrega os dados
  • Atualiza a planilha Google Sheets
  • Envia relatório por email

Passo 1: Trigger - Agendar execução diária

Use o nó "Schedule Trigger" para executar o workflow diariamente às 8h:

Cron: 0 8 * * *

Passo 2: Buscar dados da API

Use o nó "HTTP Request" para buscar dados da sua API de vendas:

Method: GET
URL: https://api.exemplo.com/vendas
Headers: 
  Authorization: Bearer {{ $env.API_TOKEN }}
Query Parameters:
  data: {{ $now.toISO().split('T')[0] }}

Passo 3: Processar dados

Use o nó "Function" para processar e agregar os dados:

const vendas = $input.all();
const resumo = {
    totalVendas: vendas.length,
    totalValor: vendas.reduce((sum, v) => sum + v.json.valor, 0),
    mediaTicket: 0,
    produtosVendidos: vendas.reduce((sum, v) => sum + v.json.quantidade, 0)
};
resumo.mediaTicket = resumo.totalValor / resumo.totalVendas;

return [{
    json: {
        data: $now.toISO().split('T')[0],
        ...resumo
    }
}];

Passo 4: Atualizar Google Sheets

Use o nó "Google Sheets" para adicionar uma nova linha:

Operation: Append
Spreadsheet: Relatório de Vendas
Sheet: Vendas Diárias
Columns: Data | Total Vendas | Total Valor | Média Ticket | Produtos Vendidos

Passo 5: Enviar email

Use o nó "Email" para enviar relatório:

To: equipe@exemplo.com
Subject: Relatório Diário de Vendas - {{ $now.toLocaleDateString() }}
Body: |
    Relatório de Vendas do Dia
    
    Total de Vendas: {{ $json.totalVendas }}
    Valor Total: R$ {{ $json.totalValor.toFixed(2) }}
    Média Ticket: R$ {{ $json.mediaTicket.toFixed(2) }}
    Produtos Vendidos: {{ $json.produtosVendidos }}

Workflow avançado: Sincronização em tempo real

Para sincronização em tempo real, use webhooks:

1. Webhook Trigger

Configure um webhook para receber dados quando uma venda acontecer.

2. Validação e transformação

Valide os dados recebidos e transforme para o formato da planilha.

3. Atualização incremental

Atualize apenas as linhas necessárias na planilha.

Relatórios com gráficos

Google Sheets pode gerar gráficos automaticamente a partir dos dados:

  1. Selecione os dados na planilha
  2. Vá em Inserir > Gráfico
  3. Configure o tipo de gráfico
  4. O gráfico será atualizado automaticamente com novos dados

Agregações e análises

Use fórmulas do Google Sheets para análises avançadas:

=SUMIF(A:A, ">="&TODAY()-7, C:C) // Vendas dos últimos 7 dias
=AVERAGEIF(B:B, ">1000", C:C) // Média de vendas acima de R$ 1000
=QUERY(A:C, "SELECT A, SUM(C) GROUP BY A") // Agregação por data

Enviando relatórios por múltiplos canais

Além de email, você pode enviar relatórios por:

  • Slack: Notificações em tempo real
  • WhatsApp: Via API do WhatsApp Business
  • Telegram: Bot do Telegram
  • PDF: Gere PDFs e anexe em emails

Casos de uso práticos

1. Relatório de estoque

Monitore níveis de estoque e alerte quando produtos estiverem baixos.

2. Análise de clientes

Rastreie comportamento de clientes e identifique tendências.

3. Relatório financeiro

Consolide dados de múltiplas fontes em um relatório único.

4. Métricas de marketing

Agregue dados de campanhas de múltiplas plataformas.

Dicas de performance

  • Use batch operations quando possível
  • Limite a quantidade de dados processados por vez
  • Cache dados frequentemente acessados
  • Use fórmulas do Sheets para cálculos pesados

Tratamento de erros

Sempre implemente tratamento de erros robusto:

  • Try-catch em funções JavaScript
  • Retry logic para APIs externas
  • Notificações de falhas
  • Logs detalhados

Dica profissional: Comece com relatórios simples e vá adicionando complexidade. Teste cada etapa antes de automatizar completamente.