Bem-vindo ao YaClin
O que é o YaClin
O YaClin é um CRM feito exclusivamente para clínicas médicas, odontológicas e estéticas. Ele centraliza toda a comunicação com pacientes (WhatsApp, Instagram, Messenger, Email), gerencia leads em funis Kanban, automatiza tarefas repetitivas e oferece relatórios completos para você tomar decisões com dados.
Criando sua conta
- Acesse app.yaclin.com/registro
Preencha seu nome, email, telefone e crie uma senha. - Confirme seu email
Verifique sua caixa de entrada e clique no link de confirmação. - Configure sua empresa
Insira o nome da clínica, CNPJ (opcional), especialidade e endereço. - Comece a usar
Você será redirecionado ao dashboard principal. O teste gratuito de 14 dias já está ativo.
Visão geral do Dashboard
O dashboard principal mostra em tempo real:
- Leads novos — quantidade de leads captados hoje, na semana e no mês
- Conversas ativas — mensagens pendentes e tempo médio de resposta
- Funil de vendas — resumo visual das etapas do funil
- Tarefas — tarefas vencendo hoje e atrasadas
- Métricas de campanhas — investimento, leads e custo por lead (se integrações ativas)
- Ranking da equipe — gamificação com pontos, streaks e conquistas
Primeiros Passos
Configurando sua empresa
Acesse Configurações > Empresa para preencher os dados da sua clínica:
- Nome da empresa e CNPJ
- Endereço completo
- Logo (recomendado: 256x256px, PNG ou JPG)
- Especialidades oferecidas
- Fuso horário
Adicionando membros da equipe
Em Configurações > Equipe, você pode convidar membros:
- Clique em "Convidar Membro"
Insira o email do colaborador. - Selecione a função
Função Permissões ADMINAcesso total: configurações, financeiro, equipe, todas as funcionalidades MANAGERGerencia leads, chat, funis, relatórios. Sem acesso a cobrança e equipe AGENTAtende chat, gerencia leads atribuídos, cria tarefas VIEWERSomente visualização de dashboards e relatórios - O membro recebe um convite por email
Ele cria a senha e já acessa o sistema.
Configurando horário comercial
Em Configurações > Atendimento, defina os horários de funcionamento da clínica para cada dia da semana. Mensagens recebidas fora do horário comercial ativam a resposta automática configurada.
Configurando feriados
Na mesma área de Atendimento, você pode:
- Feriados nacionais — ative os feriados brasileiros pré-cadastrados
- Feriados personalizados — adicione datas específicas da sua cidade ou clínica (ex: aniversário da cidade, recesso)
Nos feriados, o sistema se comporta como fora do horário comercial — envia resposta automática e não atribui leads automaticamente.
O YaClin suporta 5 provedores de WhatsApp. Os dois principais são a Evolution API (não-oficial, via QR Code) e a API Oficial do Meta (Cloud API). Você pode ter múltiplas conexões ativas simultaneamente.
Evolution API
A Evolution API é a forma mais rápida de conectar seu WhatsApp ao YaClin. Funciona escaneando um QR Code, similar ao WhatsApp Web. É uma solução open-source e self-hosted.
Requisitos
| Requisito | Detalhes |
|---|---|
| Instância Evolution API | Versão 1.x ou 2.x rodando e acessível via URL pública (ex: https://evolution.suaempresa.com) |
| API Key | Chave de autenticação configurada na sua instância Evolution (campo AUTHENTICATION_API_KEY no .env da Evolution) |
| Número de WhatsApp | Um número de telefone com WhatsApp ativo para conectar via QR Code |
Opção 1 — Conexão rápida (servidor YaClin)
- Acesse Conexões WhatsApp
No menu lateral, clique em "Conexões WhatsApp". - Clique em "Conectar Número"
Selecione o provedorEvolution API. - Preencha nome e telefone
O nome é apenas para identificação interna (ex: "Comercial", "Recepção"). Os campos URL, API Key e Nome da Instância serão preenchidos automaticamente. - Clique em "Conectar"
A instância será criada automaticamente no servidor. - Escaneie o QR Code
Abra o WhatsApp no celular > Dispositivos conectados > Conectar dispositivo > Escaneie o QR exibido.
Opção 2 — Sua própria instância (self-hosted)
Se você já possui uma instância Evolution API rodando no seu servidor, pode conectá-la diretamente ao YaClin.
- Acesse Conexões WhatsApp
No menu lateral, clique em "Conexões WhatsApp". - Clique em "Conectar Número"
Selecione o provedorEvolution API. - Preencha os campos
Informe a URL da sua instância, a API Key e um nome para a instância. - Clique em "Conectar"
O YaClin detecta automaticamente se sua instância é v1 ou v2 e configura tudo. - Escaneie o QR Code
Abra o WhatsApp no celular > Dispositivos conectados > Conectar dispositivo > Escaneie o QR exibido.
Campos do formulário
https://evolution.suaempresa.com)..env da sua instância.Testando a conexão
Após escanear o QR Code, o status da conexão deve mudar para CONNECTED. A versão detectada da Evolution API (v1 ou v2) será exibida nos detalhes da conexão. Envie uma mensagem de teste para confirmar que o sistema está recebendo e enviando mensagens.
Versões suportadas — v1 vs v2
Evolution API v1
- Versões 1.x.x
- Primeira versão amplamente adotada
- Payload simplificado de mensagens
- Ainda em uso por muitas instâncias
- Suporte completo no YaClin
Evolution API v2
- Versões 2.x.x
- Versão mais recente e recomendada
- Exige mimetype explícito em mídias
- Formato de webhook com campo event
- Suporte completo no YaClin
https://sua-url-evolution/ no navegador. A resposta mostra o campo version com o número da versão (ex: 1.7.4 ou 2.1.1). De qualquer forma, o YaClin detecta automaticamente.Perguntas frequentes
| Pergunta | Resposta |
|---|---|
| Qual versão da Evolution API vocês suportam? | Ambas — v1 e v2. A detecção é automática ao conectar. |
| Preciso configurar o webhook manualmente? | Não. O YaClin configura o webhook automaticamente ao criar a conexão. |
| Posso usar o WhatsApp no celular ao mesmo tempo? | Não. A Evolution API funciona como o WhatsApp Web — apenas uma sessão ativa por vez. Para usar o celular simultaneamente, utilize a API Oficial do Meta. |
| O que acontece se eu atualizar de v1 para v2? | O YaClin detecta a nova versão automaticamente na próxima reconexão. Nenhuma configuração manual é necessária. |
| Quantas conexões posso ter? | Sem limite. Você pode conectar múltiplos números, cada um em sua própria instância. |
Limites e boas práticas
- Limite diário: Envie no máximo 200 a 300 mensagens por dia por número.
- Sem disparos em massa: Não use a Evolution API para campanhas de marketing ou envios em larga escala. Para isso, use a API Oficial do Meta.
- Intervalo entre mensagens: O YaClin já aplica delays automáticos entre envios para simular comportamento humano.
- Número novo: Se for um número recém-criado no WhatsApp, comece com volume baixo (20-50 msgs/dia) e aumente gradualmente ao longo de 2 semanas.
- Conteúdo repetitivo: Evite enviar a mesma mensagem para muitos contatos em sequência — varie o conteúdo.
API Oficial (Meta Cloud API)
A API Oficial do WhatsApp Business é fornecida diretamente pelo Meta. Oferece estabilidade total, coexistência com o app do celular e suporte a templates oficiais aprovados.
Diferenças entre Evolution e API Oficial
Evolution API
- Conexão via QR Code
- Gratuita (sem custo por mensagem)
- Não coexiste com WhatsApp Web
- Risco de bloqueio se abusar
- Ideal para baixo volume
API Oficial (Meta)
- Conexão via credenciais
- Custo por conversa (modelo Meta)
- Coexiste com app do celular
- Zero risco de bloqueio
- Ideal para volume e disparos
Coexistência
Com a API Oficial, você pode usar o WhatsApp no celular ao mesmo tempo que o CRM envia e recebe mensagens. Isso não é possível com a Evolution API.
Criando o App no Meta Developers
- Acesse developers.facebook.com
Faça login com sua conta do Facebook. - Crie um novo App
Tipo: "Business" > Selecione "WhatsApp" como produto. - Acesse WhatsApp > API Setup
Aqui você encontra o Phone Number ID, WABA ID e Access Token. - Gere um token permanente
O token temporário expira em 24h. Para gerar um permanente, acesse Business Settings > System Users > Gere token com permissõeswhatsapp_business_messagingewhatsapp_business_management.
Campos necessários
123456789012345Configurando o Webhook
Para receber mensagens no YaClin, você precisa configurar o webhook no painel do Meta:
- URL do Webhook:
https://app.yaclin.com/api/webhooks/whatsapp/meta - Verify Token:
Gerado automaticamente pelo sistema (visível nas configurações da conexão). - Campos assinados:
Marquemessagesemessage_status.
Templates oficiais
A API Oficial exige que mensagens iniciadas pela empresa (fora da janela de 24h) usem templates aprovados pelo Meta.
- Criar template: No painel do Meta Business > WhatsApp > Message Templates.
- Enviar para aprovação: O Meta revisa em até 24h.
- Usar no YaClin: Templates aprovados aparecem automaticamente na tela de disparos.
Embedded Signup
O Embedded Signup permite conectar a API Oficial do WhatsApp com 1 clique, sem precisar configurar manualmente no Meta Developers.
- Clique no botão "Conectar com 1 clique"
Você será redirecionado para o Meta para autorizar. - Selecione seu perfil do Facebook Business
Se não tiver, crie um durante o processo. - Escolha o número de telefone
Pode ser um novo ou migrar um existente. - Pronto!
O YaClin configura automaticamente Phone Number ID, WABA ID e Access Token.
Roteamento de Conversas por Número
Uma das funcionalidades mais importantes do YaClin é poder ter dois números de WhatsApp diferentes, cada um com uma função específica dentro da sua clínica. Isso organiza o atendimento e evita confusão entre leads novos (vindos de anúncios) e clientes já cadastrados.
Como funciona
Cada conexão de WhatsApp que você cadastra no YaClin pode ter um dos 3 propósitos abaixo:
- Leads (campanhas) — Número que está cadastrado nos seus anúncios do Meta Ads, Google Ads, Instagram e Facebook. Todo contato novo que chegar por este número é automaticamente cadastrado como lead e direcionado para a atendente comercial.
- Recepção (clientes) — Número que é usado para atendimento geral aos clientes já cadastrados. Contatos recebidos aqui não viram leads automaticamente e só aparecem para o usuário com cargo de Recepcionista. Ideal para quem só recebe ligações e mensagens de pacientes já cadastrados.
- Geral — Comportamento padrão, sem filtragem. Todas as conversas aparecem para todos os usuários (exceto atendentes, que sempre veem só o que é atribuído a elas).
Passo a passo para configurar
- Acesse Conexões WhatsApp
No menu lateral, clique em Conexões WhatsApp. - Cadastre os dois números
Se você ainda não tem dois números conectados, clique em Nova Conexão e siga o processo para cada um. Um número será o dos anúncios, o outro o da recepção. - Defina o propósito de cada conexão
No card de cada conexão cadastrada, no rodapé, você verá um seletor chamado Propósito da Conexão. Escolha:- Para o número dos anúncios → Leads (campanhas)
- Para o número da recepção → Recepção (clientes)
- Salva automático
A escolha é salva imediatamente. A partir deste momento, todo contato novo que chegar por aquele número seguirá a regra definida.
Cadastrando a Recepcionista
Para que o número de recepção funcione corretamente, você precisa cadastrar um usuário específico com o cargo de Recepcionista. Este usuário terá acesso apenas às conversas do número de recepção e não verá leads de campanhas.
Passo a passo
- Acesse Configurações > Usuários e Equipe
- Clique em "Convidar Membro"
- Preencha os dados do cadastro
- Nome: nome da pessoa que vai atender a recepção
- E-mail:
recepcionista@suaclinica.com.br(o e-mail que ela vai usar para fazer login) - Cargo (Role): selecione Recepcionista
- Envie o convite
Ela vai receber um e-mail com o link para criar a senha e acessar o sistema. - Pronto!
A partir do primeiro login, ela só vai ver as conversas vindas do número de Recepção. Não vai ter acesso a leads de campanha, relatórios sensíveis ou configurações do sistema.
- Ver e responder todas as conversas do número de recepção
- Agendar consultas diretamente pelo chat (botão de calendário na conversa)
- Transformar um contato em lead quando necessário (botão "Adicionar como lead" no topo da conversa)
- Transferir a conversa para outra pessoa do time
Lembretes Automáticos de Consulta
O YaClin envia lembretes automáticos por WhatsApp para seus pacientes antes da consulta. Você configura as mensagens uma vez e o sistema dispara na data certa, sem precisar da sua intervenção.
Como funciona
- O sistema verifica os agendamentos a cada hora
- Envia um lembrete prévio (por exemplo, 1 dia antes da consulta)
- Envia um lembrete no dia da consulta (por exemplo, às 8h da manhã)
- As mensagens são enviadas pelo mesmo número de WhatsApp que você tem conectado ao sistema
- Você pode personalizar totalmente o texto usando variáveis dinâmicas
Passo a passo para configurar
- Acesse Configurações > Lembretes de Consulta
No menu de configurações do sistema. - Ative a função
Ligue o botão Ativar lembretes. - Escolha quantos dias antes enviar o primeiro lembrete
Pode ser de 1 até 7 dias antes da consulta. O mais comum é 1 dia. - Ative o lembrete do dia da consulta
Ligue também o botão Enviar no dia e escolha o horário (ex: 08:00). Esse lembrete vai cair no WhatsApp do paciente logo cedo para ele não esquecer. - Personalize os textos das mensagens
Use as variáveis abaixo para deixar cada mensagem personalizada:{{nome}}— nome do paciente{{procedimento}}— procedimento ou título da consulta{{profissional}}— nome do profissional{{data}}— data da consulta (DD/MM/AAAA){{horario}}— horário da consulta (HH:MM){{clinica}}— nome da sua clínica
- Clique em Salvar
Exemplo de mensagens
Lembrete prévio (1 dia antes):
Olá {{nome}}! Lembramos que você tem um agendamento
de {{procedimento}} com {{profissional}}
no dia {{data}} às {{horario}} na {{clinica}}.
Por favor, confirme sua presença respondendo esta mensagem.
Lembrete do dia da consulta (08:00):
Bom dia, {{nome}}! Hoje você tem um agendamento
de {{procedimento}} com {{profissional}}
às {{horario}} na {{clinica}}. Te esperamos!
Integrações
O YaClin se conecta com as principais plataformas para centralizar seus dados de marketing, agenda e comunicação.
Meta Ads (Facebook / Instagram Ads)
Conecte sua conta de anúncios do Meta para ver métricas de campanhas dentro do CRM e criar públicos personalizados automaticamente.
Conectando via OAuth
- Acesse Integrações > Meta Ads
- Clique em "Conectar"
Você será redirecionado ao Facebook para autorizar. - Selecione as contas de anúncio
Escolha quais contas o YaClin pode acessar. - Pronto!
Métricas de campanhas aparecem no dashboard automaticamente.
Públicos personalizados (Audiências)
O YaClin pode criar automaticamente audiências no Meta Ads a partir de segmentos de leads:
- Leads que agendaram consulta
- Leads que não responderam em 7 dias
- Pacientes ativos (para remarketing)
Acesse Audiências no menu lateral para gerenciar.
Google Ads + Calendar
Google Ads
Conecte sua conta do Google Ads para visualizar métricas de campanhas de pesquisa e display dentro do YaClin.
Google Calendar
Sincronize sua agenda do Google com as tarefas do YaClin:
- Tarefas criadas no YaClin aparecem no Google Calendar
- Eventos do Calendar com tags específicas viram tarefas no CRM
- Sincronização bidirecional automática
Como conectar
- Acesse Integrações > Google
- Clique em "Conectar com Google"
Autorize o acesso ao Google Ads e Calendar. - Selecione a conta de anúncios (se aplicável)
- Selecione o calendário para sincronizar tarefas.
Gmail / Outlook
Conecte seu email para enviar e receber mensagens diretamente pelo CRM, com tracking de aberturas e cliques.
- Gmail: Autorização via OAuth (Google)
- Outlook: Autorização via OAuth (Microsoft)
Após conectar, você pode enviar emails pelo chat do lead e ver o histórico completo de comunicação.
Instagram DM
Receba e responda mensagens do Instagram Direct dentro do YaClin.
- Acesse Integrações > Instagram
- Conecte sua conta do Instagram Business
É necessário ter uma conta Business ou Creator vinculada a uma Página do Facebook. - Autorize as permissões de mensagens
Mensagens recebidas no DM aparecem no Chat do YaClin no canal "Instagram".
Facebook Messenger
Similar ao Instagram DM, o Messenger permite receber e enviar mensagens pela Página do Facebook.
- Acesse Integrações > Messenger
- Selecione a Página do Facebook
- Autorize as permissões
TikTok Ads
Em breve
A integração com o TikTok Ads está em desenvolvimento. Permitirá visualizar métricas de campanhas e criar audiências personalizadas a partir do CRM.
Chat
O chat é o coração do YaClin. Todas as conversas de todos os canais (WhatsApp, Instagram, Messenger, Email) são centralizadas aqui.
Interface do chat (3 painéis)
| Painel | Função |
|---|---|
| Esquerdo | Lista de conversas com filtros, busca e contadores |
| Central | Histórico de mensagens da conversa selecionada |
| Direito | Dados do lead, tags, histórico de funil, tarefas vinculadas |
Filtros
- Não lidas — mostra apenas conversas com mensagens não lidas
- Fila — conversas aguardando atribuição (sem responsável)
- IA — conversas sendo atendidas pelo agente de IA
- Tags — filtre por tags aplicadas ao lead
- Canal — WhatsApp, Instagram, Messenger, Email
Encerrar e reabrir conversas
Ao encerrar uma conversa, você seleciona um motivo de encerramento (agendou, não tem interesse, respondeu errado, etc). Isso alimenta os relatórios de atendimento.
Conversas encerradas podem ser reabertas a qualquer momento se o paciente enviar uma nova mensagem ou manualmente pelo operador.
Respostas rápidas
Configure textos prontos em Respostas Rápidas para agilizar o atendimento. No chat, digite / seguido da palavra-chave para inserir a resposta.
Exemplo: /preco pode inserir automaticamente a tabela de preços da clínica.
Transferir conversa
Clique no botão de transferir para atribuir a conversa a outro membro da equipe. O histórico completo é mantido.
Leads e Funis
Criando leads
Leads podem ser criados de 3 formas:
- Automaticamente — quando um contato envia mensagem por qualquer canal
- Manualmente — pelo botão "Novo Lead" ou atalho Ctrl+K > "Novo Lead"
- Via API / Webhook — integração com formulários externos, landing pages, etc
Importando leads (CSV/XLSX)
Acesse Leads > Importar para importar uma planilha:
- Faça upload do arquivo
Formatos aceitos:.csv,.xlsx. Máximo 10.000 linhas por importação. - Mapeie as colunas
O sistema detecta automaticamente nome, telefone e email. Revise e ajuste se necessário. - Selecione o funil e etapa de destino
- Confirme a importação
Leads duplicados (mesmo telefone) são detectados e marcados.
Funil Kanban
O funil exibe leads em colunas (etapas) que você pode personalizar. Arraste e solte cards entre as etapas para atualizar o status.
- Cada card mostra: nome, telefone, tags, responsável, tempo na etapa
- Clique no card para abrir o sidebar com todos os detalhes
- Filtros por responsável, tag, fonte e data
Editando etapas do funil
Em Funis > Editar Funil, você pode:
- Adicionar, remover e renomear etapas
- Reordenar etapas arrastando
- Definir cores para cada etapa
- Criar múltiplos funis (ex: "Estética", "Odontologia", "Geral")
Tags e filtros
Tags são etiquetas coloridas aplicadas aos leads para segmentação. Você pode:
- Criar tags personalizadas (ex: "VIP", "Retorno", "Botox")
- Aplicar múltiplas tags por lead
- Filtrar o funil por tags
- Usar tags em automações (ex: ao adicionar tag "Agendou", mover para etapa X)
Scoring de leads
O YaClin calcula automaticamente um score para cada lead baseado em:
| Ação | Pontos |
|---|---|
| Respondeu mensagem | +10 |
| Agendou consulta | +30 |
| Abriu email | +5 |
| Clicou em link | +15 |
| Sem resposta em 7 dias | -10 |
O score ajuda a priorizar o atendimento — leads quentes aparecem primeiro.
Automações
Automações executam ações automaticamente quando determinadas condições são atendidas, eliminando trabalho repetitivo.
Tipos de automação
| Tipo | Descrição |
|---|---|
| Fluxo de mensagens | Sequência de mensagens enviadas automaticamente (follow-up) |
| Mover no funil | Move lead para outra etapa ao cumprir condição |
| Atribuir responsável | Distribui leads entre a equipe automaticamente (round-robin) |
| Criar tarefa | Cria tarefa automática (ex: "Ligar para lead em 24h") |
| Adicionar tag | Aplica tag automaticamente baseado em ação |
| Webhook | Envia dados para sistema externo |
Triggers disponíveis
- Novo lead criado — qualquer canal
- Lead mudou de etapa — no funil
- Mensagem recebida — por canal ou palavra-chave
- Tag adicionada/removida
- Tempo sem resposta — ex: 2h sem resposta
- Agendamento criado
- Data específica — aniversário, retorno
Criando um fluxo
- Acesse Automações > Novo Fluxo
- Selecione o trigger
O que inicia a automação. - Adicione as ações
O que acontece quando o trigger é ativado. Você pode encadear múltiplas ações com delays entre elas. - Defina condições (opcional)
Ex: "Somente se o lead veio do Meta Ads" ou "Somente se não tem responsável". - Ative o fluxo
Templates de automação
O YaClin oferece templates prontos para os cenários mais comuns:
- Boas-vindas + coleta de dados
- Follow-up pós-consulta
- Lembrete de retorno (30, 60, 90 dias)
- Pesquisa de satisfação (NPS)
- Reativação de leads inativos
Relatórios
Dashboard principal
O dashboard exibe KPIs em tempo real:
- Total de leads (hoje, semana, mês)
- Taxa de conversão por funil
- Receita estimada
- Leads por fonte (Meta, Google, Orgânico, etc)
Métricas de atendimento
| Métrica | Descrição |
|---|---|
| TMA | Tempo Médio de Atendimento — quanto tempo dura uma conversa do início ao encerramento |
| TME | Tempo Médio de Espera — quanto tempo o paciente espera pela primeira resposta |
| TMR | Tempo Médio de Resposta — média entre mensagens do paciente e respostas da equipe |
| CSAT | Satisfação do cliente (quando pesquisa ativa) |
Relatórios por operador
Visualize o desempenho individual de cada membro da equipe:
- Conversas atendidas
- Tempo médio de resposta
- Leads convertidos
- Pontuação de gamificação
Relatórios por canal
Compare o desempenho de cada canal de comunicação:
- WhatsApp vs Instagram vs Messenger vs Email
- Volume de mensagens
- Taxa de resposta
- Conversão por canal
Exportando dados
Todos os relatórios podem ser exportados em .csv ou .xlsx para análise externa. Clique no botão "Exportar" no canto superior direito de cada relatório.
API e Webhooks
O YaClin expõe dois canais para integradores externos: o Webhook de Entrada (criação rápida de leads, sem liberação prévia) e a API V1 (leitura/escrita programática, liberada caso a caso). Além disso, você pode receber notificações em tempo real via Webhooks de Saída.
app.yaclin.com/dashboard/api-webhooks). A chave aparece com botão de copiar e também é onde você cadastra os webhooks de saída.YACLIN_API_KEY) e use sempre HTTPS.Visão geral dos canais
| Canal | Para quê | Auth | Liberação |
|---|---|---|---|
Webhook de EntradaPOST /api/webhooks/lead | Receber leads de formulários, landing pages, n8n, Zapier, Make | X-API-Key | Imediata (basta ter a chave) |
API V1/api/v1/* | Leitura programática de leads/conversas, criação controlada de leads | Authorization: Bearer | Sob aprovação do suporte |
| Webhooks de Saída configurados no painel | Receber eventos do YaClin em tempo real no seu sistema | HMAC SHA-256 (assinatura) | Imediata |
Webhook de Entrada — receber leads
Use este endpoint para enviar leads de qualquer ferramenta externa (formulários WordPress, Elementor, RD Station, Leadlovers, Zapier, Make, n8n, Typeform, Google Forms via Apps Script). É o canal mais usado e não exige liberação prévia — basta usar sua API Key.
Endpoint
POST https://app.yaclin.com/api/webhooks/lead
Headers obrigatórios
Content-Type: application/json
X-API-Key: SUA_API_KEY
Exemplo completo
curl -X POST https://app.yaclin.com/api/webhooks/lead \
-H "Content-Type: application/json" \
-H "X-API-Key: SUA_API_KEY" \
-d '{
"name": "Maria Silva",
"phone": "(11) 99999-0000",
"email": "maria@email.com",
"source": "facebook",
"company": "Clínica Exemplo",
"value": 2500,
"tags": ["estetica", "botox"],
"metadata": { "interesse": "Harmonização facial" },
"utm_source": "facebook",
"utm_medium": "cpc",
"utm_campaign": "harmonizacao-2026",
"utm_content": "anuncio-video-1",
"utm_term": "harmonizacao+rolim"
}'
Campos aceitos
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Sim | Nome do lead |
phone | string | Não | Telefone com DDD (formatação livre) |
email | string | Não | E-mail válido |
source | string | Não | Origem livre: facebook, google, instagram, indicacao, organico, whatsapp, website, etc. |
company | string | Não | Empresa do lead |
value | number | Não | Valor estimado em R$ |
tags | array | Não | Lista de tags: ["tag1", "tag2"] |
metadata | object | Não | Dados extras em JSON livre |
utm_source | string | Não | UTM source |
utm_medium | string | Não | UTM medium |
utm_campaign | string | Não | UTM campaign |
utm_content | string | Não | UTM content |
utm_term | string | Não | UTM term |
Resposta
// 200 OK
{ "data": { "id": "clx1234567890", "name": "Maria Silva", "source": "facebook" } }
// 401 — API Key ausente ou inválida
{ "error": "API key required (X-API-Key header)" }
// 429 — limite de requisições excedido
{ "error": "Limite de requisições excedido. Aguarde um momento." }
429.API V1 — leitura e escrita programática
A API V1 é o canal para integrações que precisam ler dados do CRM (listar leads, conversas) ou que exigem controle de qualidade na criação. Requer liberação prévia pelo suporte (flag apiAccessEnabled).
Solicitar acesso
Envie ao suporte (WhatsApp ou suporte@yaclin.com): nome da organização + caso de uso. A liberação é manual.
Autenticação
Authorization: Bearer SUA_API_KEY
Endpoints disponíveis
| Método | Endpoint | Descrição |
|---|---|---|
GET | /api/v1/leads | Listar leads (paginado, com filtros) |
POST | /api/v1/leads | Criar lead (source restrito a enum) |
GET | /api/v1/conversations | Listar conversas (paginado, com filtros) |
GET /api/v1/leads
Query params: limit (1-200, default 50), offset (default 0), status (ACTIVE / WON / LOST / ARCHIVED), source.
curl "https://app.yaclin.com/api/v1/leads?limit=20&status=ACTIVE" \
-H "Authorization: Bearer SUA_API_KEY"
{
"data": [
{
"id": "clx1234567890",
"name": "Maria Silva",
"phone": "11999990000",
"email": "maria@email.com",
"source": "META_ADS",
"status": "ACTIVE",
"value": 2500,
"score": 78,
"createdAt": "2026-05-15T10:30:00Z",
"updatedAt": "2026-05-15T11:42:00Z"
}
],
"pagination": { "total": 142, "limit": 20, "offset": 0, "hasMore": true }
}
POST /api/v1/leads
Body JSON. O campo source deve ser um dos valores do enum abaixo (validação estrita).
curl -X POST https://app.yaclin.com/api/v1/leads \
-H "Authorization: Bearer SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Maria Silva",
"phone": "11999990000",
"email": "maria@email.com",
"source": "API",
"value": 2500,
"notes": "Veio do funil do n8n"
}'
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
name | string | Sim | 2 a 120 caracteres |
phone | string | Não | Até 30 caracteres |
email | string | Não | Formato e-mail |
source | enum | Não (default API) | META_ADS, GOOGLE_ADS, TIKTOK, INDICACAO, ORGANICO, WHATSAPP, WEBSITE, MANUAL, API |
value | number | Não | Maior ou igual a 0 |
notes | string | Não | Até 2000 caracteres — vira uma Nota anexada ao lead |
GET /api/v1/conversations
Query params: limit, offset, status (OPEN / CLOSED / WAITING), channel (WHATSAPP / MESSENGER / INSTAGRAM).
{
"data": [
{
"id": "conv_xyz789",
"contactName": "Maria Silva",
"contactPhone": "11999990000",
"lastMessage": "Quero saber sobre harmonização",
"lastMessageAt": "2026-05-15T11:42:00Z",
"unreadCount": 2,
"status": "OPEN",
"channel": "WHATSAPP",
"leadId": "clx1234567890",
"assigneeId": "usr_abc123"
}
],
"pagination": { "total": 38, "limit": 50, "offset": 0, "hasMore": false }
}
Códigos de erro
| Status | Significado |
|---|---|
401 | Header Authorization Bearer ausente ou API Key inválida |
403 | API Key válida mas apiAccessEnabled = false (solicite ao suporte) |
400 | Body inválido — confira os campos exigidos |
500 | Erro interno (registrado em SystemError) |
Webhooks de Saída — receber eventos do YaClin
Configure URLs do seu sistema que serão notificadas em tempo real quando algo acontecer no CRM. Útil para sincronizar com BI, automatizar fluxos no n8n/Make, alimentar uma IA com eventos de pipeline, etc.
Como cadastrar
- Acesse Dashboard > API e Webhooks
- Clique em "Adicionar Webhook" na seção de Webhooks de Saída
- Cole a URL de destino (ex:
https://n8n.suaempresa.com/webhook/yaclin) - Selecione os eventos que quer receber (deixe em branco para receber todos)
- Salve — o YaClin gera um
secretúnico (formatowhsec_...) para assinatura HMAC. Guarde com cuidado.
Eventos disponíveis
| Evento | Quando dispara |
|---|---|
lead.created | Novo lead criado (por qualquer canal: form, API, manual) |
lead.updated | Lead atualizado (mudança de funil, status, valor, etc.) |
lead.won | Lead marcado como ganho (venda fechada) |
lead.lost | Lead marcado como perdido |
deal.created | Negócio/oportunidade criada |
conversation.opened | Nova conversa aberta no chat |
conversation.closed | Conversa encerrada |
Payload enviado
POST <sua-url>
Content-Type: application/json
X-Yaclin-Signature: <hmac-sha256-do-body>
X-Yaclin-Event: lead.created
{
"event": "lead.created",
"timestamp": "2026-05-15T10:30:00Z",
"organizationId": "org_abc",
"data": {
"id": "clx1234567890",
"name": "Maria Silva",
"phone": "11999990000",
"email": "maria@email.com",
"source": "META_ADS",
"status": "ACTIVE",
"value": 2500
}
}
Verificação da assinatura (recomendado)
O YaClin assina cada payload com HMAC SHA-256 usando o secret do seu webhook. Compare a assinatura recebida no header X-Yaclin-Signature com o que você calcular do body bruto:
// Node.js
const crypto = require('crypto');
const expected = crypto
.createHmac('sha256', WEBHOOK_SECRET)
.update(rawBody) // body como string, antes de fazer JSON.parse
.digest('hex');
const ok = expected === req.headers['x-yaclin-signature'];
Tempo de resposta e retentativas
- Timeout de 5 segundos por requisição
- Falhas (timeout, 5xx, erro de rede) entram na fila de retry
- Sua URL deve responder com
2xxrápido — processe assincronamente do lado de cá
n8n + Agente IA no WhatsApp
Guia completo para conectar um agente de IA (n8n + Claude/GPT) ao WhatsApp da sua empresa, com os leads e conversas centralizados no YaClin. Este é o caso de uso mais procurado para clínicas, advocacia, e-commerce e serviços que querem atendimento automatizado 24/7 sem perder a visão centralizada do CRM.
Visão geral da arquitetura
Existem três padrões viáveis. O padrão A (recomendado) é o que entrega melhor performance e desacopla a IA do CRM. Os outros são variações para casos específicos.
Padrão A — n8n recebe direto da Evolution (recomendado)
WhatsApp do cliente
↓
Evolution API (sua instância)
↓
┌────┴────┐
↓ ↓
YaClin n8n
(salva (IA processa
chat, e responde)
cria lead) ↓
Evolution API
↓
WhatsApp do cliente
↓
YaClin recebe o eco
da mensagem enviada
Por que esse é o recomendado:
- Baixa latência — a IA responde sem passar pelo CRM
- YaClin não vira gargalo — se o CRM cair, a IA continua atendendo
- Tudo aparece no chat do YaClin (mensagens recebidas e enviadas), porque a Evolution ecoa as mensagens enviadas via API de volta no webhook
- Você mantém a visão única do paciente/cliente no YaClin (lead + histórico + funil)
Padrão B — n8n consome eventos do YaClin (pipeline reativo)
Quando você quer que o n8n reaja a eventos do CRM (não a cada mensagem). Ex: novo lead chegou → IA qualifica → cria tarefa no Asana → envia mensagem de boas-vindas via Evolution.
YaClin (lead.created) → Outbound Webhook → n8n → IA decide → ações
Padrão C — n8n só envia leads PARA o YaClin (mais simples)
Para integrar formulários, ferramentas externas, planilhas, ou outro CRM. A IA do n8n qualifica e enriquece o lead antes de mandar.
Form / Planilha / IA → n8n → POST /api/webhooks/lead → YaClin
Padrão A — Setup completo passo a passo
Passo 1 — Configure a Evolution API com webhook duplo
A Evolution API permite enviar o webhook de mensagens para múltiplas URLs. Você precisa configurar duas:
- Acesse o painel da sua Evolution API (ex:
https://evolution.suaempresa.com/manager) - Selecione a instância conectada ao número da empresa
- Configure dois webhooks de saída (em alguns painéis, "Webhook URLs" aceita lista; em outros, você precisa usar um broker tipo n8n na frente):
- URL 1 (YaClin):
https://app.yaclin.com/api/webhooks/whatsapp - URL 2 (n8n):
https://n8n.suaempresa.com/webhook/whatsapp-ia(use o nó "Webhook" do n8n para gerar essa URL)
- URL 1 (YaClin):
- Marque o evento
messages.upsertem ambos (é o evento de mensagem nova) - Salve e teste mandando uma mensagem WhatsApp para o número da empresa — ambos endpoints devem receber
https://app.yaclin.com/api/webhooks/whatsapp repassando o body original. Assim o YaClin continua recebendo tudo.Passo 2 — Monte o fluxo no n8n
Fluxo mínimo viável para um agente de IA respondendo no WhatsApp:
[Webhook trigger]
↓ (recebe payload da Evolution)
[Filter: fromMe = false] ← ignora mensagens enviadas pela própria empresa
↓
[Set: extrair telefone, nome, texto da mensagem]
↓
[Memory: buscar histórico do contato] ← Redis, Postgres ou n8n Data Tables
↓
[AI Agent (Claude/GPT)]
↓ (gera resposta com base no system prompt + histórico)
[HTTP Request: enviar resposta via Evolution]
POST https://evolution.suaempresa.com/message/sendText/{instance}
↓
[Memory: salvar mensagem do bot no histórico]
Passo 3 — Configure o nó AI Agent
System prompt sugerido (adapte ao seu negócio):
Você é a recepcionista virtual da Clínica Exemplo.
Sua função: qualificar o lead (entender o que ele quer),
agendar consulta quando possível, e transferir para humano
quando o lead pedir ou quando a conversa sair do escopo.
Tom: profissional, empático, brasileiro, sem emojis em excesso.
Nunca prometa preços específicos sem confirmar com o humano.
Sempre confirme nome e melhor horário antes de finalizar.
Quando o lead pedir agendamento, retorne JSON estruturado:
{ "action": "agendar", "nome": "...", "telefone": "...",
"procedimento": "...", "preferencia_horario": "..." }
Quando o lead pedir humano, retorne:
{ "action": "transferir", "motivo": "..." }
Passo 4 — Envie a resposta de volta pelo WhatsApp
Nó HTTP Request no n8n, configurado para a Evolution API:
POST https://evolution.suaempresa.com/message/sendText/INSTANCE_NAME
Headers:
apikey: SUA_EVOLUTION_API_KEY
Content-Type: application/json
Body:
{
"number": "{{$json.telefone}}",
"text": "{{$json.resposta_ia}}"
}
A Evolution envia a mensagem para o cliente e, por causa do webhook duplo configurado no Passo 1, o YaClin também recebe a confirmação — a mensagem enviada pela IA aparece automaticamente no chat do YaClin com o lead correspondente.
Passo 5 — Memória de conversa
A IA precisa lembrar do que já foi conversado. Opções:
- n8n Data Tables — armazena histórico por número de telefone, simples e nativo do n8n
- Redis — performance máxima, ideal para alto volume
- Postgres / Supabase — quando quiser fazer análise posterior do histórico
- Buscar via API do YaClin —
GET /api/v1/conversations?channel=WHATSAPPretorna a conversa, mas só metadados (não as mensagens completas). Esta opção é mais lenta — prefira armazenar localmente no n8n.
Padrão B — Reagir a eventos do YaClin
Cenário: quando um lead novo é criado no YaClin (por qualquer fonte), você quer que a IA do n8n:
- Avalie a qualidade do lead (score)
- Enriqueça com dados externos (busca em redes sociais, validação de telefone, etc.)
- Crie tarefa no Asana/ClickUp
- Mande mensagem de boas-vindas personalizada pelo WhatsApp via Evolution
Setup
- No YaClin: acesse Dashboard > API e Webhooks > Adicionar Webhook de Saída
- URL: cole a URL do webhook do n8n (gere no n8n criando um nó Webhook)
- Eventos: selecione
lead.created(e outros conforme necessidade) - Salve e copie o
secret(formatowhsec_...) - No n8n: no primeiro nó após o Webhook, valide a assinatura HMAC SHA-256 usando o secret (ver código de exemplo na seção anterior)
- Continue o fluxo com a IA processando o payload
Padrão C — Enviar leads externos para o YaClin
Cenário mais simples e mais comum: você tem um formulário, uma planilha sendo monitorada, um Typeform, ou um e-mail que chega — e quer que tudo isso vire lead no YaClin com qualificação prévia da IA.
Fluxo no n8n
[Trigger: Form / Sheets / Gmail / Typeform]
↓
[AI Agent: qualificar o lead]
↓ (extrai nome, intenção, urgência, ticket potencial)
[HTTP Request]
POST https://app.yaclin.com/api/webhooks/lead
Header: X-API-Key: SUA_API_KEY
Body: {
"name": "{{$json.nome}}",
"phone": "{{$json.telefone}}",
"email": "{{$json.email}}",
"source": "{{$json.origem}}",
"value": {{$json.ticket_estimado}},
"tags": {{$json.tags_da_ia}},
"metadata": {
"score_ia": {{$json.score}},
"intencao": "{{$json.intencao}}",
"urgencia": "{{$json.urgencia}}"
}
}
Boas práticas para o agente IA no WhatsApp
- Limite o escopo da IA — defina claramente no system prompt o que ela pode e não pode fazer. IA solta vende coisa errada, promete preço errado, marca horário inexistente.
- Sempre tenha um "fallback humano" — quando o lead pedir falar com pessoa, transfira imediatamente. No YaClin, isso é feito pela função "Transferir conversa".
- Não responda fora do horário comercial sem avisar — configure o n8n para identificar fora de hora e mandar mensagem de "voltamos amanhã às 8h, sua mensagem já está registrada".
- Filtre mensagens da própria empresa — o webhook da Evolution traz mensagens enviadas pelo número (fromMe: true). Se você não filtrar, a IA vai tentar responder mensagens da própria recepcionista humana, criando loop.
- Anti-loop: nunca faça a IA responder mensagens de outros bots. Adicione uma whitelist de números humanos no n8n.
- Logs detalhados — guarde no n8n cada decisão da IA (input, output, score) para auditoria e para retreinar o prompt.
- Custo da IA — Claude Haiku 4.5 ou GPT-4o-mini são suficientes para 90% dos casos e custam centavos por conversa. Reserve modelos maiores (Claude Sonnet/Opus, GPT-4o) para qualificação complexa ou casos sensíveis.
- Teste com seu próprio número antes de liberar para clientes reais. Sempre.
Resolução de problemas comuns
| Sintoma | Causa provável | Solução |
|---|---|---|
| YaClin não mostra a mensagem da IA no chat | Evolution não está enviando o webhook do "echo" pra URL do YaClin | Confira no painel da Evolution se o webhook do YaClin recebe messages.upsert com fromMe: true |
| IA responde duplicado | Webhook chegou duas vezes (Evolution às vezes faz retry) | Adicione dedupe no n8n por message.key.id |
| IA responde mensagens da própria recepcionista | Não filtrou fromMe: true | Adicione filtro no início do fluxo |
| Lead não aparece no YaClin | API Key errada ou número formatado errado | Teste o webhook de lead via curl primeiro; valide com 200 OK |
| YaClin retorna 401 | Header X-API-Key ausente ou chave incorreta | Copie a chave de Dashboard > API e Webhooks (use o botão "Copiar") |
| Mensagens muito lentas | IA pesada ou rede | Use modelo Haiku/mini; cache de histórico em Redis; responda primeiro um "Estou verificando..." antes da resposta completa |
YaClin CRM — Documentação
Precisa de ajuda? Entre em contato pelo WhatsApp ou suporte@yaclin.com