Planilha + WhatsApp

Integrar WhatsApp com Google Sheets

O Google Sheets é o editor de planilhas online do Google, gratuito e colaborativo, que roda no navegador e guarda tudo no Google Drive. Além de fórmulas e tabelas, ele tem o Apps Script, um ambiente de código JavaScript embutido que permite ler linhas, reagir a edições e chamar APIs externas. É essa combinação de lista de contatos organizada em colunas mais scripts que transforma uma planilha comum em um pequeno motor de automação de WhatsApp.

Por que conectar

Quem trabalha com listas de leads, clientes ou pedidos quase sempre mantém tudo numa planilha do Google Sheets: nome numa coluna, telefone em outra, status ao lado. Conectar essa planilha à ZapZap API permite disparar mensagens de WhatsApp direto das linhas, sem copiar número por número no celular. Dá para avisar clientes sobre um agendamento, mandar confirmação de pedido ou fazer follow-up de uma lista de leads em minutos, marcando na própria coluna quem já recebeu. Como o envio sai de uma instância gerenciada com aquecimento em comunidade e recursos de anti-bloqueio, você reduz o risco de problemas ao disparar para vários contatos a partir da mesma planilha.

Passo a passo

  1. 1

    Monte a planilha com colunas claras

    No Google Sheets, crie uma aba com as colunas Nome, Telefone (no formato 5511999999999, com DDI e DDD), Mensagem e Status. Cada linha vira um contato que será disparado. A coluna Status serve para marcar Enviado depois de cada envio.

  2. 2

    Abra o Apps Script

    No menu superior, clique em Extensões e depois em Apps Script. Vai abrir o editor de código em uma nova aba, já vinculado a essa planilha. Apague o conteúdo padrão da função myFunction para começar limpo.

  3. 3

    Guarde suas credenciais em Propriedades do script

    No editor, vá em Configurações do projeto (ícone de engrenagem) e, na seção Propriedades do script, adicione ZAPZAP_KEY e ZAPZAP_SECRET com sua x-api-key e x-api-secret da ZapZap API. Assim as chaves não ficam escritas no código.

  4. 4

    Cole o script que lê as linhas e chama UrlFetchApp

    No editor, use SpreadsheetApp.getActiveSheet().getDataRange().getValues() para ler as linhas e UrlFetchApp.fetch() para enviar cada contato à ZapZap API, passando os headers x-api-key e x-api-secret. Percorra as linhas em um laço, pule quem já está com Status Enviado e escreva Enviado na coluna após cada resposta.

  5. 5

    Rode e crie um menu ou gatilho

    Clique em Executar e autorize o script no popup do Google (é normal na primeira vez). Para facilitar o uso diário, adicione um onOpen() que cria um menu personalizado na planilha, ou configure um Acionador em Acionadores para rodar em horário agendado. Confira a doc oficial da API em https://api.zapzapapi.com/llms.txt para os nomes exatos de rota e campos antes de subir para produção.

Exemplo

// Apps Script (Extensões > Apps Script) : exemplo ILUSTRATIVO
// Confira rota e campos exatos em https://api.zapzapapi.com/llms.txt
function enviarWhatsApp() {
  const props = PropertiesService.getScriptProperties();
  const sheet = SpreadsheetApp.getActiveSheet();
  const linhas = sheet.getDataRange().getValues();

  for (let i = 1; i < linhas.length; i++) {
    const [nome, telefone, mensagem, status] = linhas[i];
    if (status === 'Enviado' || !telefone) continue;

    UrlFetchApp.fetch('https://api.zapzapapi.com/messages/send', {
      method: 'post',
      contentType: 'application/json',
      headers: {
        'x-api-key': props.getProperty('ZAPZAP_KEY'),
        'x-api-secret': props.getProperty('ZAPZAP_SECRET')
      },
      // campos exatos na doc: https://api.zapzapapi.com/llms.txt
      payload: JSON.stringify({ number: String(telefone), text: mensagem })
    });

    sheet.getRange(i + 1, 4).setValue('Enviado');
    Utilities.sleep(4000); // espaça os envios
  }
}

Ilustrativo. Os campos e endpoints exatos estão na documentação.

Perguntas frequentes

Preciso saber programar para usar o Google Sheets com WhatsApp?

O básico ajuda, mas você não precisa criar nada do zero. O Apps Script fica dentro do próprio Google Sheets, em Extensões e Apps Script, e o exemplo desta página já traz a estrutura pronta: ler as linhas, chamar a ZapZap API e marcar a coluna Status. Basta colar, trocar as credenciais e ajustar os nomes das colunas.

A ZapZap API é oficial do WhatsApp?

Não. A ZapZap API é uma solução de WhatsApp não oficial, baseada em instâncias gerenciadas que você conecta ao seu próprio número. A autenticação é por x-api-key e x-api-secret, e o envio e recebimento acontecem via REST e webhooks por evento. Isso dá liberdade para integrar direto com o Google Sheets, sem processo de aprovação.

Corro risco de bloqueio ao disparar para vários contatos da planilha?

Todo envio em volume tem risco. As instâncias da ZapZap API passam por aquecimento em comunidade e contam com recursos de anti-bloqueio, o que reduz o risco. Ainda assim, o cuidado do lado da planilha importa: use a função Utilities.sleep para espaçar os envios, personalize o texto por linha e evite disparar centenas de mensagens iguais de uma vez.

Quanto custa para conectar o Google Sheets à ZapZap API?

O Google Sheets e o Apps Script são gratuitos. Na ZapZap API, o custo é de R$15 por número ativo por mês, no modelo pré-pago, e há crédito grátis para você testar a integração antes de colocar em produção.

Como sei os nomes exatos das rotas e campos da API?

O código desta página é ilustrativo, para mostrar o formato da chamada com os headers x-api-key e x-api-secret. Os nomes exatos de endpoint e dos campos do corpo da requisição estão na documentação em https://api.zapzapapi.com/llms.txt. Consulte ela antes de subir seu script para produção.

Comece com crédito grátis

Crie sua conta, conecte um número em minutos e teste a API com aquecimento e anti-bloqueio. R$15 por número ativo/mês, pré-pago, sem fidelidade.