Pular para conteúdo

SHEETS_CREATE - Criar Nova Planilha Google Sheets

O que é este Node?

O SHEETS_CREATE é o node responsável por criar uma nova planilha Google Sheets programaticamente, incluindo definição de abas e estrutura inicial.

Por que este Node existe?

Criar planilhas automaticamente é útil para relatórios e organização. O SHEETS_CREATE existe para:

  1. Relatórios Automatizados: Gerar planilha mensal de vendas
  2. Projetos: Criar planilha para cada novo cliente
  3. Backups: Criar cópias de segurança periodicamente
  4. Templates: Instanciar estrutura pré-definida para novos casos

Como funciona internamente?

Quando o SHEETS_CREATE é executado, o sistema:

  1. Autentica: Valida tokens OAuth2
  2. Prepara estrutura: Define título e abas (sheets)
  3. Executa create: Chama spreadsheets.create()
  4. Retorna IDs: Devolve spreadsheetId e link da planilha
  5. Se erro: Lança exceção

Código interno (baseado na API Google Sheets):

case 'create':
  const createResult = await sheets.spreadsheets.create({
    requestBody: {
      properties: {
        title: data.title || 'Nova Planilha',
      },
      sheets: data.sheets || [{
        properties: {
          title: 'Sheet1',
        },
      }],
    },
  });

  return {
    success: true,
    spreadsheetId: createResult.data.spreadsheetId,
    spreadsheetUrl: createResult.data.spreadsheetUrl,
  };

Quando você DEVE usar este Node?

Use SHEETS_CREATE quando precisar gerar nova planilha dinamicamente:

Casos de uso

  1. Relatório Mensal: "Criar planilha 'Vendas_Janeiro_2025'"
  2. Cliente Novo: "Gerar planilha de controle para novo projeto"
  3. Backup: "Criar cópia de dados importantes"
  4. Template: "Instanciar estrutura padrão para novo caso"

Quando NÃO usar SHEETS_CREATE

  • Trabalhar em existente: Use outros nodes SHEETS_*
  • Criar aba em planilha existente: Use operação addSheet

Parâmetros

Campo Tipo Obrigatório Descrição
operation string Sim Deve ser "create"
title string Não Título da planilha (padrão: "Nova Planilha")
sheets array Não Array de definições de abas
accessToken string Sim Token OAuth2
refreshToken string Sim Token OAuth2 refresh

Exemplo 1: Criar Relatório Mensal

Objetivo: Gerar planilha de relatório do mês

JSON para Importar

{
  "name": "Criar Relatório Mensal",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "variable_1",
      "type": "variable",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Definir Título",
        "parameters": {
          "variableName": "titulo_relatorio",
          "value": "Relatório_Vendas_{{MONTH}}_{{YEAR}}"
        }
      }
    },
    {
      "id": "sheets_1",
      "type": "google_sheets",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Criar Planilha",
        "parameters": {
          "operation": "create",
          "title": "{{titulo_relatorio}}",
          "sheets": [
            { "properties": { "title": "Resumo" } },
            { "properties": { "title": "Detalhes" } },
            { "properties": { "title": "Gráficos" } }
          ],
          "accessToken": "{{google_access_token}}",
          "refreshToken": "{{google_refresh_token}}"
        }
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 700, "y": 100 },
      "data": {
        "label": "Enviar Link",
        "parameters": {
          "message": "📊 Relatório criado!\n\nAcesse: {{sheets_1.spreadsheetUrl}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 900, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "variable_1" },
    { "source": "variable_1", "target": "sheets_1" },
    { "source": "sheets_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Saída esperada:

Sistema: 📊 Relatório criado!

Acesse: https://docs.google.com/spreadsheets/d/ABC123XYZ/edit

Resposta do Node

{
  "success": true,
  "spreadsheetId": "1ABC123XYZ",
  "spreadsheetUrl": "https://docs.google.com/spreadsheets/d/1ABC123XYZ/edit"
}

Boas Práticas

SIM: - Use títulos descritivos e únicos - Crie múltiplas abas se necessário - Salve spreadsheetId para operações futuras - Configure permissões após criar

NÃO: - Não crie planilhas sem necessidade (custoso) - Não esqueça de compartilhar se for para outros usuários - Não deixe de salvar o ID retornado

Dicas

💡 Dica 1: Salve o spreadsheetId retornado em variável para usar em nodes SHEETS_WRITE, SHEETS_APPEND, etc.

💡 Dica 2: A planilha é criada na conta do usuário autenticado. Configure compartilhamento separadamente.

Próximo Node

SHEETS_WRITE - Escrever dados na planilha criada → SHEETS_FORMAT - Formatar a planilha