Como integrar validação de CPF em Monday.com com automações

Aprenda a integrar a API de consulta de CPF da CPFHub.io no Monday.com usando automações customizadas e integrações HTTP.

Redação CPFHub.io
Redação CPFHub.io
··7 min de leitura
Como integrar validação de CPF em Monday.com com automações

Para integrar validação de CPF em Monday.com com automações, configure um webhook que dispara quando o status de um item muda, envie o CPF para a API da CPFHub.io via servidor intermediário ou Make, e atualize as colunas do board com o nome validado, gênero e data de nascimento retornados pela API.

Introdução

O Monday.com é uma plataforma de gestão de trabalho amplamente adotada por equipes de vendas, operações e compliance. Quando o fluxo de trabalho envolve validação de dados de clientes como CPF, automatizar essa verificação diretamente no Monday.com elimina etapas manuais e agiliza processos que antes dependiam de conferência individual.


1. Estrutura do board no Monday.com

Crie um board com as seguintes colunas:

ColunaTipoDescrição
ItemNameNome ou identificador do cliente
CPFTextCPF do cliente (somente números)
Nome ValidadoTextPreenchido pela automação
GêneroTextPreenchido pela automação
Data de NascimentoTextPreenchido pela automação
StatusStatusPendente / Validado / Erro

2. Automação via webhook intermediário

O Monday.com permite automações do tipo "When status changes, send a webhook". Para consultar a API da CPFHub.io, a abordagem recomendada é usar um servidor intermediário (webhook receiver) que recebe a notificação do Monday.com, consulta a CPFHub.io e atualiza o board via API do Monday.

Fluxo da automação

  1. Usuário altera o status do item para "Pendente".
  2. Monday.com envia um webhook para seu servidor.
  3. O servidor consulta a API da CPFHub.io com o CPF.
  4. O servidor atualiza o item no Monday.com via API GraphQL.

3. Servidor webhook com Node.js

Crie um servidor Express que recebe webhooks do Monday.com:

const express = require('express');
const app = express();
app.use(express.json());

const MONDAY_API_TOKEN = process.env.MONDAY_API_TOKEN;
const CPFHUB_API_KEY = process.env.CPFHUB_API_KEY;

async function consultarCpf(cpf) {
    const controller = new AbortController();
    const timeoutId = setTimeout(() => controller.abort(), 5000);

    try {
    const response = await fetch(`https://api.cpfhub.io/cpf/${cpf}`, {
    method: 'GET',
    headers: {
    'x-api-key': CPFHUB_API_KEY,
    'Accept': 'application/json'
    },
    signal: controller.signal
    });

    clearTimeout(timeoutId);

    if (!response.ok) {
    throw new Error(`HTTP ${response.status}`);
    }

    return await response.json();
    } catch (error) {
    clearTimeout(timeoutId);
    throw error;
    }
}

async function atualizarItemMonday(itemId, dados) {
    const columnValues = JSON.stringify({
    'texto_nome': dados.name,
    'texto_genero': dados.gender === 'M' ? 'Masculino' : 'Feminino',
    'texto_nascimento': dados.birthDate,
    'status': { label: 'Validado' }
    });

    const query = `mutation {
    change_multiple_column_values(
    board_id: ${process.env.MONDAY_BOARD_ID},
    item_id: ${itemId},
    column_values: ${JSON.stringify(columnValues)}
    ) { id }
    }`;

    await fetch('https://api.monday.com/v2', {
    method: 'POST',
    headers: {
    'Content-Type': 'application/json',
    'Authorization': MONDAY_API_TOKEN
    },
    body: JSON.stringify({ query })
    });
}

app.post('/webhook/monday', async (req, res) => {
    // Responder ao challenge do Monday.com
    if (req.body.challenge) {
    return res.json({ challenge: req.body.challenge });
    }

    const { itemId, cpf } = req.body.event || {};

    if (!cpf) {
    return res.status(400).json({ error: 'CPF não informado' });
    }

    const cpfLimpo = cpf.replace(/\D/g, '');

    try {
    const resultado = await consultarCpf(cpfLimpo);

    if (resultado.success) {
    await atualizarItemMonday(itemId, resultado.data);
    console.log(`Validado: ${cpfLimpo} - ${resultado.data.name}`);
    }

    res.json({ success: true });
    } catch (error) {
    console.error(`Erro: ${error.message}`);
    res.status(500).json({ error: error.message });
    }
});

app.listen(3000, () => console.log('Webhook server rodando na porta 3000'));

4. Alternativa com Make (Integromat)

Se você prefere uma solução no-code, o Make (antigo Integromat) conecta Monday.com à CPFHub.io sem servidor próprio:

  1. Trigger — Monday.com > Watch Column Value Changes (coluna Status).
  2. HTTP Module — Fazer uma requisição GET para https://api.cpfhub.io/cpf/{CPF} com os headers x-api-key e Accept.
  3. Monday.com Module — Change Column Values para atualizar Nome, Gênero e Status.

Configure o timeout do módulo HTTP para 5 segundos para acomodar a latência da API (~900ms) com margem confortável.


5. Exemplo de resposta da API

A API da CPFHub.io retorna um JSON estruturado com os dados do titular do CPF:

{
    "success": true,
    "data": {
    "cpf": "12345678900",
    "name": "João da Silva",
    "nameUpper": "JOÃO DA SILVA",
    "gender": "M",
    "birthDate": "15/06/1990",
    "day": 15,
    "month": 6,
    "year": 1990
    }
}

6. Consulta direta via API do Monday.com

Para cenários mais avançados, você pode usar a API GraphQL do Monday.com para buscar itens pendentes e processá-los em lote:

async function buscarItensPendentes() {
    const query = `{
    boards(ids: [${process.env.MONDAY_BOARD_ID}]) {
    items_page(limit: 50) {
    items {
    id
    column_values {
    id
    text
    }
    }
    }
    }
    }`;

    const response = await fetch('https://api.monday.com/v2', {
    method: 'POST',
    headers: {
    'Content-Type': 'application/json',
    'Authorization': MONDAY_API_TOKEN
    },
    body: JSON.stringify({ query })
    });

    const data = await response.json();
    return data.data.boards[0].items_page.items;
}

7. Boas práticas

  • Timeout — Configure timeout de 5 segundos nas requisições HTTP para evitar travamentos.

  • Volume — No plano gratuito, você tem 50 consultas mensais. Ao ultrapassar, a API cobra R$0,15 por consulta extra — sem bloqueio. Para automações de alto volume, o plano Pro oferece 1.000 consultas por R$149/mês.

  • Segurança — Use variáveis de ambiente para armazenar tokens do Monday.com e a chave da CPFHub.io. Nunca exponha credenciais no código.

  • Webhook verification — Sempre responda ao challenge do Monday.com para validar a integração.

  • Logs — Registre cada consulta para auditoria e depuração. A ANPD orienta que operações com dados pessoais devem ter rastreabilidade adequada.


Perguntas frequentes

Como configurar o webhook no Monday.com para disparar a validação de CPF?

Acesse o board, clique em "Automate", selecione "Create custom automation" e configure a regra "When status changes to [Pendente], send webhook to [URL do seu servidor]". No payload do webhook, inclua o ID do item e o valor da coluna CPF. O servidor recebe, consulta a API e atualiza o board via API GraphQL.

O plano gratuito da CPFHub.io funciona para testar a integração com Monday.com?

Sim. O plano gratuito oferece 50 consultas por mês sem cartão de crédito — volume suficiente para montar e testar toda a automação. Ao ultrapassar o limite, a API não bloqueia: cobra R$0,15 por consulta extra. Para equipes que validam CPFs regularmente, o plano Pro inclui 1.000 consultas mensais por R$149.

Posso usar Make (Integromat) em vez de um servidor próprio?

Sim. O Make conecta Monday.com à CPFHub.io sem necessidade de servidor próprio. Configure um trigger no Monday.com, um módulo HTTP para a requisição GET na API e um módulo do Monday.com para atualizar as colunas com o resultado. É a opção mais rápida para equipes sem recursos de desenvolvimento.

Como garantir conformidade com a LGPD ao validar CPFs no Monday.com?

Armazene apenas os dados necessários no board (ex: status de validação, não o CPF bruto se não for indispensável), defina quem pode acessar a coluna de CPF com controle de permissões do Monday.com, e documente a finalidade do tratamento. Isso atende ao princípio da necessidade previsto na Lei nº 13.709/2018 (LGPD).


Conclusão

Integrar a validação de CPF da CPFHub.io ao Monday.com transforma um processo manual e sujeito a erros em uma automação confiável, auditável e escalável. Seja via servidor Node.js ou via Make sem código, a integração está ao alcance de qualquer equipe em poucas horas.

Comece com o plano gratuito: 50 consultas mensais, sem cartão de crédito. Quando o volume crescer, o plano Pro cobre 1.000 consultas por R$149/mês, com excedente a R$0,15 por consulta — sem interrupção no fluxo. Crie sua conta em cpfhub.io e valide o primeiro CPF ainda hoje.

CPFHub.io

Pronto para integrar a API?

50 consultas gratuitas para testar agora. Sem cartão de crédito. Acesso imediato à documentação.

Redação CPFHub.io

Sobre a redação

Redação CPFHub.io

Time editorial especializado em APIs de CPF, identidade digital e compliance no mercado brasileiro. Produzimos guias técnicos, análises regulatórias e tutoriais sobre LGPD e KYC para desenvolvedores e líderes de produto.

WhatsAppFale conosco via WhatsApp