npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-syncro-crm

v2.0.1

Published

n8n community node for Syncro CRM — leads, tasks, WhatsApp, nurture sequences, custom fields, webhook triggers (real-time events)

Readme

n8n-nodes-syncro-crm

Pacote oficial de nodes n8n para integrar com o Syncro CRM.

Oferece:

  • Action Node Syncro CRM — CRUD de leads, tasks, pipelines + operações de WhatsApp, nurture sequences e campos personalizados.
  • Trigger Node Syncro CRM Trigger — dispara workflows em tempo real quando eventos acontecem no CRM (lead criado, mudou de etapa, tarefa concluída, etc). Zero polling.

Instalação

Self-hosted n8n

Settings → Community Nodes → instalar n8n-nodes-syncro-crm.

npm (dev local)

cd ~/.n8n/custom
npm i n8n-nodes-syncro-crm

Credenciais

  1. No Syncro CRM: /configuracoes/api-keys → criar API Key com os scopes necessários:

    • leads:read, leads:write — pra manipular leads
    • pipelines:read — sempre necessário (pro loadOptions do node)
    • tasks:read, tasks:write — pra manipular tarefas
    • custom_fields:read — pra popular custom fields no create/upsert
    • sequences:read — pra listar nurture sequences
    • whatsapp:read, whatsapp:write — pra enviar mensagens e templates
    • webhooks:read, webhooks:writeobrigatório pro Trigger Node
    • Ou * pra dar todos
  2. No n8n: Credentials → New → Syncro CRM API:

    • Base URL: https://app.syncro.chat (ou sua instância)
    • API Key: cola o token (crm_xxxxxxx...)

Recursos & Operações (Action Node)

Lead

| Operação | Descrição | |---|---| | Criar | Cria novo lead (valida limites de plano) | | Criar ou Atualizar | Upsert por email/phone — retorna created: true/false | | Listar | Filtros: pipeline, stage, assigned_to, source, tags, query (nome/email/phone), updated_since, criados de/até + paginação | | Buscar | Retorna 1 lead com relations | | Atualizar Etapa | Move o lead no funil (valida tarefas obrigatórias) | | Marcar como Ganho | Cria Sale, valida pending tasks | | Marcar como Perdido | Cria LostSale com reason_id opcional | | Adicionar Tags | CSV de tags → attachTagsByName | | Remover Tag | Por nome | | Inscrever em Sequência | Enroll idempotente (reusa NurtureSequenceService::enroll) | | Desinscrever de Sequência | Marca exited | | Enviar WhatsApp | Texto ou imagem, reusa Foundation SOLID (ChatIdResolver + WindowChecker + Factory + Persister) | | Enviar Template HSM | Cloud API, variáveis posicionais, header media opcional | | Deletar | Remove permanente |

Tarefa

CRUD completo + Marcar como Feita/Pendente (toggle). Filtros por status, type, priority, lead_id, assigned_to, due_from/to.

Pipeline

Listar Tudo — retorna funis com stages + lost_reasons em árvore.

Campo Personalizado

Listar Definições — útil pra montar custom_fields no create/upsert de lead.

Sequência de Nutrição

Listar — enroll/unenroll rodam em Lead, não aqui.

WhatsApp

Listar Instâncias — mostra WAHA + Cloud API com flags de capability (supports_templates, has_window_restriction). Listar Templates HSM — com filtro por status/instance/language.


Trigger Node (tempo real)

Registra uma webhook subscription no Syncro CRM automaticamente. Quando o evento acontece, o CRM faz POST na URL do n8n. Sem polling, sem delay, sem queimar rate limit.

Eventos suportados

  • lead.created
  • lead.updated
  • lead.stage_changed
  • lead.won
  • lead.lost
  • lead.deleted
  • task.created
  • task.updated
  • task.completed
  • conversation.message_received

Segurança

O CRM assina cada payload com HMAC-SHA256 usando um secret gerado na criação da subscription. O trigger node valida o header X-Syncro-Signature com timing-safe comparison antes de disparar o workflow. Pode desativar a validação (não recomendado).

Lifecycle

  • Ao ativar o workflow: POST /api/v1/webhooks cria a subscription no CRM
  • Ao desativar: DELETE /api/v1/webhooks/{id} remove automaticamente
  • Re-attach: se a URL do webhook já existe no CRM (activation+deactivation repetido), reaproveita

Formato do payload

{
  "event": "lead.stage_changed",
  "tenant_id": 260,
  "emitted_at": "2026-04-23T16:30:00-03:00",
  "data": {
    "id": 12602,
    "name": "Maria Silva",
    "email": "[email protected]",
    "previous_stage_id": 4,
    "new_stage_id": 7,
    "new_stage_name": "Proposta enviada",
    // ... demais campos do lead
  }
}

Exemplos de workflow

1. Sincronizar lead novo pro Google Sheets

Syncro CRM Trigger (lead.created)
  → Set (map fields)
  → Google Sheets: Append Row

2. Enviar WhatsApp quando lead vira "Proposta enviada"

Syncro CRM Trigger (lead.stage_changed)
  → IF {{ $json.data.new_stage_name === 'Proposta enviada' }}
  → Syncro CRM (Lead > Enviar Template HSM)

3. Importar contatos de um CDP externo (upsert em batch)

HTTP Request (GET contatos CDP)
  → Split In Batches
  → Syncro CRM (Lead > Criar ou Atualizar, match_by: email)

4. Criar tarefa de follow-up quando lead não responde

Syncro CRM Trigger (conversation.message_received)
  → Wait 24h
  → IF (lead ainda não respondeu)
  → Syncro CRM (Tarefa > Criar)

Changelog

2.0.0 (2026-04-23)

  • BREAKING: remove resource Campaign (módulo Campanhas foi removido do Syncro em abr/2026)
  • Adiciona resources: Task, Custom Field, Nurture Sequence, WhatsApp
  • Adiciona ~15 novas operations em Lead: list (com filtros + updated_since), upsert, addTags, removeTag, enrollSequence, unenrollSequence, sendWhatsapp, sendWhatsappTemplate
  • Novo node de trigger Syncro CRM Trigger — webhook em tempo real com HMAC
  • Refactor completo: monolito de 678 linhas virou main node enxuto + descriptions por resource + GenericFunctions.ts
  • tsconfig strict, zero any, types completos
  • Helper syncroApiRequest com retry exponencial em 408/429/5xx
  • Cache de loadOptions (pipelines) in-memory — 1 chamada em vez de 5 ao abrir o form
  • README, ESLint, Prettier, GitHub-friendly

1.0.1

  • CRUD básico de Lead, Campaign (deprecated), Pipeline

License

MIT


Links