IA e Automação

A IA de agendamento ofereceu horário de um dentista que tinha bloqueado a agenda. Como sincronizar bloqueios e ausências pra isso não acontecer?

Quando a IA oferece horário de um dentista que bloqueou a agenda, quase sempre o bloqueio nasceu fora do sistema que ela lê, foi lançado como "disponível", ficou numa subagenda ou chegou atrasado na cópia que ela consulta. Veja o diagnóstico causa por causa, o modelo certo de bloqueio, a sincronização que não depende só de aviso, o teste antes de ligar a IA e o que fazer com o paciente já marcado.

Vinícius Ragazzi
Por Vinícius RagazziAtualizado em 12 de outubro de 2026 · 27 min de leitura
TL;DR

A IA ofereceu o horário porque o bloqueio não estava, a tempo e no formato certo, na agenda que ela consulta. Corrija com uma fonte única de ausências, bloqueio marcado como ocupado e não agendável, releitura periódica além do aviso de mudança e nova checagem na hora de gravar.

Pontos-chave
  • O aviso de mudança falha mesmo em operação normal. A documentação da API do Google Calendar afirma que as notificações de mudança não são 100% confiáveis e que uma pequena porcentagem das mensagens se perde em condições normais de operação: a integração que só espera o aviso, sem releitura periódica da agenda, deixa bloqueio para trás.
  • Bloqueio lançado como "Disponível" não bloqueia nada. Na referência de eventos da API do Google Calendar, o evento "transparent" não bloqueia tempo na agenda, o equivalente a "Mostrar como Disponível"; só o "opaque", que é o valor padrão e equivale a "Ocupado", bloqueia. O congresso marcado como disponível continua aparecendo como vaga para quem lê a agenda.
  • A IA agenda quando a recepção não está lá para corrigir. Segundo dados internos da Odonto Results (2026), 46,0% dos leads de clínica odontológica chegam fora do horário comercial. Base: 16.719 leads na primeira mensagem do WhatsApp. Janela: 25 de março a 25 de agosto de 2026. O bloqueio precisa estar no sistema antes, não na cabeça de alguém da equipe.

Faz parte do guia: O que é uma IA de atendimento para clínica odontológica e como ela funciona?

Nesta página
  1. TL;DR
  2. Pontos-chave
  3. Diagnóstico rápido: onde o bloqueio se perdeu
  4. Causa 1: o bloqueio nasceu fora do sistema que a IA lê
  5. Causa 2: o bloqueio foi lançado como "Disponível"
  6. Causa 3: o bloqueio está numa agenda que a checagem não consulta
  7. Causa 4: a IA consulta uma cópia, não a agenda viva
  8. Causa 5: o aviso de mudança se perdeu no caminho
  9. Causa 6: bloquearam o dentista, mas não a cadeira (ou o contrário)
  10. Causa 7: a exceção não entrou na grade-padrão
  11. Causa 8: as férias entraram depois que a janela de agenda abriu
  12. Fonte única de verdade: onde o bloqueio nasce e quem pode criar
  13. Aprovar a ausência deve gerar o bloqueio sozinho
  14. Modele o bloqueio como "ocupado e não agendável"
  15. Política de ausência: antecedência mínima e congelamento da agenda
  16. Revalide na hora de gravar, não só na hora de oferecer
  17. O que a IA deve fazer quando não há horário
  18. Fora do horário comercial, ninguém confere a oferta
  19. Teste o bloqueio antes de ligar a IA
  20. Monitoramento: pegue o erro antes do paciente
  21. Quando o bloqueio encontra paciente já marcado
  22. Por que essa integração costuma ser frágil no Brasil
  23. As perguntas para o fornecedor da integração
  24. Seu próximo passo
  25. Perguntas frequentes

"A IA de agendamento ofereceu horário de um dentista que tinha bloqueado a agenda. Como sincronizar bloqueios e ausências pra isso não acontecer?"

O paciente confirmou. Recebeu o lembrete. E o dentista estava num congresso em outra cidade.

Quem descobre é a recepção, na manhã do dia, com o paciente já a caminho.

O custo não é só o constrangimento. É uma remarcação por iniciativa da clínica, um paciente que pode esfriar no meio do tratamento e uma equipe que deixa de confiar na agenda que a IA monta.

A IA não inventou esse horário. Ela ofereceu exatamente o que a agenda que ela consulta mostrava naquele momento.

O bloqueio existia, mas não estava lá do jeito certo: ficou no WhatsApp do dentista, foi lançado como "disponível", caiu numa subagenda ou chegou atrasado na cópia que a IA lê.

Por isso a correção não é "treinar melhor a IA". É fazer toda ausência nascer num lugar só, no formato certo, chegar à IA a tempo e passar por uma segunda checagem na hora de gravar.

E não dá para confiar só no aviso automático de mudança. A documentação da API do Google Calendar afirma que essas notificações não são 100% confiáveis e que uma pequena porcentagem das mensagens se perde em condições normais de operação.

Neste guia você vai ver:

  • As causas que fazem a IA oferecer horário bloqueado e como descobrir qual é a sua
  • Como modelar o bloqueio para ele ser "ocupado e não agendável" de verdade
  • A sincronização que não depende só de aviso: releitura, renovação e nova checagem na gravação
  • Grade-padrão, exceções, feriados municipais e horizonte de agenda
  • O teste de bloqueio antes de ligar a IA e o monitoramento depois
  • O que fazer com o paciente já marcado e o que perguntar ao fornecedor da integração

Diagnóstico rápido: onde o bloqueio se perdeu

Antes de mexer em configuração, descubra em que ponto o bloqueio não chegou. Pegue o caso concreto (dentista, data, horário oferecido, hora da oferta) e percorra a tabela.

Sintoma Causa provável Onde conferir
O bloqueio não aparece no sistema de gestão Nasceu fora do sistema: WhatsApp, papel, agenda pessoal Conversa entre dentista e recepção
Aparece, mas a IA trata como vaga Lançado como "Disponível" ou como dia inteiro que não ocupa os horários Campo "Mostrar como" do evento
Aparece numa agenda, mas não na que a IA lê Subagenda, agenda pessoal ou segundo calendário fora da checagem Lista de agendas configuradas na integração
Aparece hoje, mas não aparecia na hora da oferta A IA consulta uma cópia atualizada com atraso Hora de criação do bloqueio x hora da oferta
Criado no lugar certo e nunca chegou Aviso de mudança perdido, canal expirado ou sincronização quebrada Log da integração
Profissional bloqueado, horário oferecido mesmo assim Bloqueio numa camada só (profissional, cadeira ou clínica) Configuração de recursos da agenda
Férias, feriado ou meio período ignorados Exceção não lançada sobre a grade-padrão Calendário de exceções
Pacientes marcados antes de as férias serem lançadas Bloqueio criado depois de o período entrar na janela de agenda Data de criação do bloqueio x primeiro agendamento no período
O bloqueio entrou entre a oferta e a confirmação A integração não confere a agenda de novo na hora de gravar Log da oferta e log da gravação

Cada linha tem uma correção diferente. As seções abaixo detalham uma causa por vez.

Causa 1: o bloqueio nasceu fora do sistema que a IA lê

A IA só enxerga o que está na agenda que ela consulta. Tudo o que vive em outro lugar não existe para ela.

Os três lugares onde o bloqueio costuma nascer errado:

  • WhatsApp do dentista para a recepção: por exemplo, "dia 14 não atendo à tarde". Só vira bloqueio se alguém redigitar, e só quando essa pessoa ler.
  • Agenda pessoal do dentista: o congresso está no calendário pessoal dele, que a integração não lê.
  • Papel ou caderno da recepção: a anotação existe na mesa, mas não existe no sistema.

Nos três casos, há uma etapa humana de redigitação entre a decisão do dentista e a agenda que a IA consulta. É esse o elo que quebra: alguém esquece, digita no dia errado ou lê a mensagem depois que a IA já ofereceu o horário.

Pensa assim: a IA trabalha com a agenda que existe no sistema, não com a agenda que existe na cabeça da equipe.

Lembre: se o bloqueio depende de alguém ler uma mensagem e redigitar, ele vai falhar justamente no dia em que essa pessoa estiver ocupada, de folga ou fora do horário.

Causa 2: o bloqueio foi lançado como "Disponível"

Esse é o erro mais silencioso. O bloqueio está lá, visível para qualquer pessoa da equipe, mas não ocupa tempo.

Calendários distinguem o evento que ocupa tempo do evento que é só uma anotação. Na referência de eventos da API do Google Calendar, a propriedade de transparência define isso: o valor "opaque", que é o padrão, bloqueia tempo e equivale a "Mostrar como Ocupado"; o valor "transparent" não bloqueia tempo e equivale a "Mostrar como Disponível".

A distinção não é invenção do Google. O padrão iCalendar, da IETF, define a mesma regra na propriedade TRANSP da RFC 5545: eventos que consomem tempo real da pessoa ou do recurso associado à agenda devem ser registrados como OPAQUE, o que permite que as buscas de livre/ocupado os detectem; os demais devem ser registrados como TRANSPARENT, o que os torna invisíveis para essas buscas. O valor padrão é OPAQUE.

O que isso significa na prática? Um "Congresso em Curitiba" lançado como disponível aparece na tela da recepção, mas a checagem de disponibilidade que segue esse campo trata aquele intervalo como livre. A IA oferece o horário com toda a "certeza".

O mesmo risco existe no evento de dia inteiro. Dependendo do aplicativo e de como foi criado, ele vira uma faixa no topo do dia, marcada como disponível, sem ocupar os horários de baixo. "Férias" lançadas assim deixam a grade inteira aberta.

Como corrigir:

  • Todo bloqueio de ausência sai como ocupado, nunca como disponível.
  • Se o calendário tem um tipo próprio de ausência, use. A mesma referência do Google Calendar lista o tipo de evento "outOfOffice" (fora do escritório), separado do evento comum. Confirme com o fornecedor que a integração lê esse tipo como indisponível.
  • Revise o campo "Mostrar como" de todas as ausências já lançadas para os próximos meses, não só da que deu problema.

Causa 3: o bloqueio está numa agenda que a checagem não consulta

Muita clínica tem mais de uma agenda por dentista sem perceber: a do consultório, a pessoal, uma subagenda de cirurgias, uma agenda compartilhada da equipe, uma agenda em que o dentista é só convidado ou coorganizador.

A checagem de disponibilidade da integração consulta a lista de agendas que alguém configurou. O bloqueio lançado em qualquer outra fica invisível para a IA, mesmo aparecendo na tela do dentista.

Na API do Google Calendar, por exemplo, a consulta de livre/ocupado recebe a lista de agendas e grupos a consultar e devolve, para cada agenda, a lista de intervalos em que ela deve ser considerada ocupada.

Se a clínica usa a página de agendamento de horários do próprio Google Agenda, a ajuda oficial orienta: "Para evitar conflitos de agenda, selecione Verifique a disponibilidade nas agendas". E avisa: "Por padrão, os agendamentos de horários não verificam a disponibilidade dos coorganizadores."

Os casos mais comuns:

  • O dentista bloqueia na agenda pessoal, que aparece sobreposta na tela dele, mas não está na lista da integração.
  • O evento foi criado por outra pessoa e o dentista é só convidado: aparece para ele, mas mora na agenda de quem criou.
  • A clínica criou uma subagenda nova (para uma especialidade, por exemplo) e ninguém a incluiu na integração.

A correção é escrever, num documento, a lista exata de agendas que a IA lê para cada profissional, e proibir bloqueio fora delas.

Causa 4: a IA consulta uma cópia, não a agenda viva

Muitas integrações não perguntam ao sistema de gestão a cada oferta. Elas mantêm uma cópia da agenda, atualizada de tempos em tempos, e a IA consulta essa cópia.

É uma escolha legítima (menos carga no sistema, resposta mais rápida), mas cria uma janela de exposição: o tempo entre o bloqueio ser criado na agenda-mestre e aparecer na cópia. Nessa janela, a IA oferece um horário que já não existe.

Exemplo: se a cópia é atualizada a cada 30 minutos e o dentista bloqueia a tarde às 9h05, a IA pode continuar oferecendo aquela tarde até perto das 9h35.

Duas perguntas definem o seu risco:

  1. De quanto em quanto tempo a cópia é atualizada?
  2. A integração confere a agenda viva antes de gravar, ou grava com base na cópia?

A primeira define quanto tempo o erro pode durar. A segunda define se o erro chega até o paciente.

Causa 5: o aviso de mudança se perdeu no caminho

Integrações modernas não ficam só perguntando: elas recebem um aviso (webhook ou notificação de mudança) quando algo muda na agenda. Funciona quase sempre. O problema é o "quase".

A documentação da API do Google Calendar descreve quatro limites que servem de alerta para qualquer integração de agenda:

Limite documentado O que acontece na clínica O que exigir da integração
As notificações não são 100% confiáveis e uma pequena porcentagem se perde em condições normais de operação (notificações push) O bloqueio foi criado, o aviso nunca chegou e a cópia nunca atualizou Releitura periódica completa, além do aviso
Não existe forma automática de renovar o canal de notificação; perto de expirar, ele precisa ser substituído por um novo (notificações push) O canal expira num fim de semana e a integração para de ouvir mudanças sem erro visível Renovação programada antes da expiração e alerta se o canal cair
A notificação não traz o conteúdo da mudança; é preciso outra chamada à API para ver o que mudou (notificações push) O aviso chega, a releitura falha e a mudança fica pendente Fila de releitura com nova tentativa
O servidor pode invalidar o token de sincronização, por motivos que incluem expiração do token ou mudança de permissões, e responde com o código 410, que deve disparar a limpeza total da cópia local e uma nova sincronização completa (sincronização) A integração trata o 410 como erro qualquer e segue trabalhando com a cópia velha Tratamento do 410 com sincronização completa automática

O desenho seguro combina dois mecanismos: o aviso acelera, a releitura periódica garante. E a nova checagem na hora de gravar fecha o que ainda sobrar.

Causa 6: bloquearam o dentista, mas não a cadeira (ou o contrário)

Disponibilidade, na clínica, tem três camadas. Um horário só pode ser oferecido quando as três estão livres ao mesmo tempo.

Camada Exemplos de bloqueio Erro típico
Profissional Férias, congresso, curso, licença, atestado, meio período A agenda é organizada por cadeira e a cadeira do dentista ausente continua aberta com o nome dele
Cadeira, sala ou equipamento Manutenção do equipo, sala cirúrgica reservada, scanner ou microscópio compartilhado em outra sala O profissional está livre, mas o procedimento é marcado numa cadeira parada ou sem o equipamento
Clínica inteira Feriado, dedetização, reforma, treinamento da equipe Bloqueio feito profissional por profissional, e alguém fica de fora

A regra: cada bloqueio é lançado na camada em que ele nasce. Ausência de pessoa vai no profissional. Problema de estrutura vai no recurso. Fechamento vai na clínica, uma vez, e vale para todos.

E a checagem da IA precisa olhar as três camadas antes de oferecer. Se a integração só entende "profissional", pergunte ao fornecedor como ela trata cadeira e sala.

Causa 7: a exceção não entrou na grade-padrão

A grade-padrão (o template de horário de cada dentista) responde "em que dias e horários ele atende". A exceção responde "quando ele não atende, mesmo sendo dia de grade". A IA precisa das duas.

O problema: a grade é configurada uma vez e funciona sozinha. A exceção depende de alguém lançar, toda vez.

Exceção Como lançar Cuidado
Férias Bloqueio de dias corridos, ocupado e não agendável Lançar antes de o período entrar na janela de agenda
Congresso, curso, pós-graduação Bloqueio por período, incluindo o deslocamento Curso recorrente vira exceção recorrente com data de fim
Licença (saúde, maternidade, paternidade) Bloqueio longo com data de retorno a confirmar Definir quem assume os pacientes em tratamento
Atestado no dia Bloqueio imediato, criado por quem souber primeiro Precisa de caminho rápido, inclusive fora do horário comercial
Meio período Bloqueio só do turno afetado Evento de dia inteiro aqui bloqueia demais ou de menos
Feriado municipal ou estadual e ponte Bloqueio da clínica inteira, por unidade O calendário nacional do sistema não conhece

Feriado local: o que o calendário nacional não sabe

Parte dos feriados é definida fora da esfera federal. A Lei 9.093/1995 define como feriados civis os declarados em lei federal, a data magna do estado fixada em lei estadual e os dias do início e do término do ano do centenário de fundação do município, fixados em lei municipal.

A mesma lei define como feriados religiosos os dias de guarda declarados em lei municipal, de acordo com a tradição local, em número não superior a quatro, incluída a Sexta-Feira da Paixão.

Tradução para a agenda: um sistema que só carrega o calendário nacional não conhece a data magna do seu estado nem os feriados religiosos da sua cidade. Se a clínica tem unidades em municípios diferentes, cada unidade tem o seu calendário.

A ponte é outra história: é decisão da clínica. Defina no início do ano o que a clínica faz em cada feriado e cada ponte (fecha, abre meio período, abre normal) e lance tudo de uma vez.

Causa 8: as férias entraram depois que a janela de agenda abriu

Toda agenda tem um horizonte: até quantas semanas ou meses à frente a IA pode oferecer horário. Dentro do horizonte, a agenda está à venda. Fora dele, nada é oferecido.

O erro acontece quando a ausência é lançada depois que o período já entrou no horizonte. A IA pode ter marcado pacientes naquelas datas de forma legítima, porque o bloqueio ainda não existia.

A regra que resolve: toda ausência conhecida entra antes de o período entrar no horizonte.

Exemplo: se a IA oferece horários com até 60 dias de antecedência, férias que começam no início de janeiro precisam estar lançadas antes do início de novembro.

O horizonte vira ferramenta de gestão. Quanto mais longo, mais cedo a equipe precisa decidir férias e cursos. Por isso ele é definido junto com a política de ausência, nunca separado.

Fonte única de verdade: onde o bloqueio nasce e quem pode criar

Agora que você sabe onde o bloqueio se perde, vamos para a correção. Ela tem uma parte de processo e uma parte técnica, e uma não funciona sem a outra.

Primeira decisão: qual sistema é a agenda-mestre. Só pode ser um. Todo bloqueio nasce nele, e todos os outros (o CRM, a IA, o painel da recepção) leem dele. Nenhum deles guarda bloqueio próprio. Se a sua clínica ainda não decidiu quem manda em quê, comece por qual sistema deve mandar quando CRM e agenda entram em conflito.

Segunda decisão: quem pode criar bloqueio.

Modelo Velocidade Controle Quando usar
O dentista cria direto no sistema-mestre Alta Baixo: ninguém vê o impacto antes Equipe pequena, dentistas disciplinados
O dentista pede, a gestão aprova, o sistema cria Média Alto: a gestão vê os pacientes afetados antes de aprovar Várias cadeiras, vários dentistas, alto ticket
A recepção cria a pedido Média Médio Só se o pedido entra por canal registrado

Terceira decisão: o canal do pedido. "Avisar a recepção pelo WhatsApp" é o elo que quebra, porque:

  • mistura o pedido com a conversa do dia, e ele se perde;
  • depende de leitura e redigitação;
  • não deixa rastro de quando o bloqueio foi pedido e quando foi criado.

Troque por um formulário ou pela própria tela do sistema-mestre, com data e hora registradas.

A exceção é o atestado no dia. Ele precisa de um caminho de emergência com nome: uma pessoa definida, que bloqueia no sistema-mestre pelo celular, na hora, inclusive antes de a recepção abrir.

Aprovar a ausência deve gerar o bloqueio sozinho

Se a clínica já controla férias e folgas num sistema de RH, num formulário ou numa planilha de aprovação, o passo seguinte é ligar a aprovação à agenda. Aprovou, o bloqueio aparece no sistema-mestre, no formato certo, sem ninguém redigitar.

Veja como fica o fluxo:

  1. O dentista registra o pedido de ausência, com datas e turnos.
  2. O sistema mostra à gestão os pacientes já marcados naquele período.
  3. A gestão aprova (ou negocia outra data).
  4. A aprovação cria o bloqueio como ocupado e não agendável, na camada certa.
  5. A recepção recebe a lista de pacientes para remanejar.

Isso elimina a etapa humana entre a decisão e a agenda, padroniza o formato do bloqueio e registra quando cada ausência foi pedida.

Vale também para o dentista parceiro ou autônomo, que não passa por RH: a "aprovação" é o aceite da gestão da agenda. Para planejar a cobertura em si (quem atende as urgências, como reorganizar a agenda), veja como cobrir a agenda quando um dentista falta ou tira férias.

Modele o bloqueio como "ocupado e não agendável"

Nem todo "ocupado" é igual. O padrão de interoperabilidade em saúde FHIR, mantido pela HL7 International, separa os estados de um intervalo de agenda nos códigos de status do recurso Slot:

Status FHIR Definição no padrão Na sua agenda
free O intervalo está livre para agendamento Horário que a IA pode oferecer
busy O intervalo está ocupado porque um ou mais eventos foram agendados nele Paciente marcado
busy-unavailable O intervalo está ocupado e não pode ser agendado Férias, congresso, atestado, manutenção
busy-tentative O intervalo está ocupado porque um ou mais eventos foram agendados de forma provisória Reserva provisória enquanto o paciente confirma

Por que essa distinção importa:

  • Paciente marcado pode ser remanejado, encaixado ou liberado num cancelamento. O horário volta a ficar disponível.
  • Bloqueio não volta a ficar disponível quando alguém cancela algo. Ele só sai quando a gestão tira.

O atalho perigoso é criar um "paciente fictício" chamado BLOQUEIO. Ele pode ser cancelado ou apagado por engano e liberar o horário, entra nos relatórios como consulta e pode até disparar lembrete automático. Se o seu sistema tem bloqueio de verdade, use. Se não tem, cobre do fornecedor.

O motivo não precisa ir para a IA. A IA precisa saber "indisponível", não "atestado médico" ou "cirurgia do filho". O motivo é dado da gestão. Levá-lo para a IA cria o risco de ela repetir ao paciente o que não devia e não melhora nenhuma decisão de agendamento. Guarde o motivo num campo que só a gestão vê.

Política de ausência: antecedência mínima e congelamento da agenda

A parte técnica não segura uma equipe sem regra. Escreva a política de ausência como procedimento operacional padrão (POP), com quatro pontos:

  1. Antecedência mínima de aviso para ausência planejada (férias, curso, congresso). Defina um prazo que caiba antes do horizonte de agenda. Ausência pedida depois de o período estar aberto vem com a obrigação de remanejar quem já está marcado.
  2. Congelamento: a partir de uma data próxima do atendimento, definida pela clínica, a agenda congela. Bloqueio novo só com aprovação da gestão e com o plano de remanejamento pronto.
  3. Exceção de emergência: atestado e imprevisto passam por cima do congelamento, pelo caminho rápido e com responsável definido.
  4. Revisão mensal: no começo de cada mês, cada dentista confirma as ausências do horizonte inteiro, e a gestão confere se estão lançadas como ocupadas.

O que a política resolve é previsibilidade. A agenda que a IA oferece passa a ser a agenda que vai acontecer.

Revalide na hora de gravar, não só na hora de oferecer

Mesmo com tudo isso, sobra uma janela: o tempo entre a IA oferecer o horário e o paciente confirmar. Se o bloqueio entra nesse meio, a oferta fica velha.

E essa conversa não acontece num instante. Segundo dados internos da Odonto Results (2026), entre os leads que agendam, metade fecha em até 34 minutos e 53,6% em menos de 1 hora, contados a partir da primeira mensagem. Base: 3.148 agendamentos. Janela: 25 de março a 25 de agosto de 2026.

Há tempo de sobra para a agenda mudar no meio. Por isso a gravação confere de novo:

  1. A IA oferece o horário com base na agenda (viva ou cópia).
  2. O paciente escolhe.
  3. A integração consulta a agenda-mestre naquele instante, para aquele profissional, aquela cadeira e aquele intervalo.
  4. Se continua livre, grava. Se não, a agenda-mestre recusa a gravação e devolve o conflito.
  5. A IA pede desculpas e oferece a alternativa mais próxima, na mesma conversa.

O ideal é que a recusa venha do próprio sistema-mestre (a gravação falha se houver conflito), e não só de uma checagem da integração. É a mesma trava que impede dois pacientes no mesmo horário quando IA e recepção escrevem na mesma agenda.

Lembre: oferecer não garante o horário; gravar garante. A checagem que protege o paciente é a da gravação.

O que a IA deve fazer quando não há horário

Bloqueio bem feito tem um efeito colateral: menos horário disponível. A IA precisa de regra para isso, ou ela improvisa.

Ordem recomendada:

  1. Próximo horário livre do mesmo profissional, quando o paciente tem vínculo (tratamento em curso, retorno, pós-operatório).
  2. Outro profissional da mesma especialidade, no horário que o paciente queria, quando ele é novo ou aceita trocar.
  3. Lista de espera para a data desejada, com aviso automático se um horário abrir.
  4. Transbordo para humano quando nada disso resolve ou quando o caso é urgência.

O que a IA não pode fazer:

  • prometer "vou ver com o doutor se ele abre um encaixe" sem que exista um pedido registrado para alguém da equipe;
  • inventar exceção à grade;
  • explicar o motivo da ausência ao paciente. "O doutor não atende nesse período" basta.

Fora do horário comercial, ninguém confere a oferta

Segundo dados internos da Odonto Results (2026), 46,0% dos leads de clínica odontológica chegam fora do horário comercial. Base: 16.719 leads na primeira mensagem do WhatsApp. Janela: 25 de março a 25 de agosto de 2026.

Quem atende esse lead à noite e no fim de semana é a IA. Não há recepção para olhar a agenda e lembrar que "nesse dia o doutor não vem".

Repare no que isso exige:

  • O bloqueio precisa estar no sistema antes de a recepção fechar. "Amanhã cedo eu lanço" já é tarde.
  • O atestado de madrugada precisa do caminho de emergência: alguém que bloqueia de casa, pelo celular, no sistema-mestre.
  • Qualquer "segurar o horário de cabeça" que a recepção faz durante o dia não protege nada à noite.

Teste o bloqueio antes de ligar a IA

Antes de ligar a IA na agenda de produção, e depois de qualquer mudança na integração, crie bloqueios de teste e peça horário à IA como se fosse um paciente. Cada cenário tem um resultado esperado.

Cenário Como criar Resultado esperado
Dia inteiro Bloqueio de dia inteiro num dia de grade A IA não oferece nenhum horário do dia
Meio período Bloqueio só da tarde A IA oferece a manhã e não a tarde
Recorrente Curso toda sexta à tarde, com data de fim Nenhuma sexta à tarde até a data de fim; volta a oferecer depois
Feriado municipal Feriado da cidade no calendário da unidade A unidade inteira fechada naquele dia
Lançado como "Disponível" Bloqueio com "Mostrar como Disponível" Revela se a integração respeita esse campo; padronize como ocupado de qualquer forma
Agenda pessoal ou subagenda Bloqueio numa agenda fora da lista configurada Revela quais agendas a integração realmente lê
Só a cadeira Cadeira em manutenção, profissional livre A IA não oferece procedimento naquela cadeira
Bloqueio no meio da conversa Pedir horário, bloquear o horário oferecido, confirmar A gravação é recusada e a IA oferece alternativa
Bloqueio dentro do horizonte Férias lançadas num período já aberto Sai a lista de pacientes já marcados para remanejar

Meça também o tempo de propagação: crie um bloqueio, anote a hora e peça horário à IA a intervalos curtos até aquele horário sumir. Esse é o tamanho real da sua janela de exposição, não o que está no contrato.

Monitoramento: pegue o erro antes do paciente

Teste não substitui vigilância. Três controles mínimos:

  1. Alerta de agendamento dentro de bloqueio: cruzamento automático de todo agendamento futuro contra todos os bloqueios, a cada sincronização ou pelo menos uma vez por dia. Qualquer sobreposição vai para um responsável nomeado.
  2. Relatório diário de conflitos: a lista dos próximos dias com agendamento em intervalo bloqueado, cadeira parada ou feriado, lida antes de as confirmações saírem.
  3. Indicadores semanais, na tabela abaixo.
Indicador Como calcular O que revela
Agendamentos dentro de bloqueio Contagem semanal Falha de sincronização ou de modelagem
Remarcações por iniciativa da clínica Remarcações pedidas pela clínica divididas pelo total de agendamentos Ausências lançadas tarde
Tempo de propagação do bloqueio Hora em que a IA parou de oferecer menos hora de criação do bloqueio Tamanho da janela de exposição
Bloqueios criados dentro do horizonte Bloqueios lançados com o período já aberto Disciplina da política de ausência
Gravações recusadas por conflito Recusas na gravação divididas pelas ofertas aceitas A revalidação funcionando; se subir, a cópia está atrasada

A meta do primeiro indicador é zero. Qualquer ocorrência vira registro de causa, como no roteiro abaixo.

Quando o bloqueio encontra paciente já marcado

São duas situações diferentes, com tratamentos diferentes.

O paciente estava marcado antes de o bloqueio existir

Aqui ninguém errou: a ausência é legítima e veio depois. O sistema deve gerar a lista de afetados no momento em que o bloqueio é criado, e a recepção remaneja numa ordem de prioridade.

Ordem sugerida:

  1. Tratamento em curso e pós-operatório, que não podem esperar.
  2. Paciente de alto ticket em início de tratamento, com orçamento aprovado.
  3. Avaliação de paciente novo, que esfria rápido.
  4. Retorno e manutenção.

A oferta segue a mesma lógica da IA: primeiro outro profissional da mesma especialidade no horário original (o paciente mantém a data), depois a data mais próxima com o mesmo profissional.

O contato é humano, por ligação. Remarcar por iniciativa da clínica cobra do paciente o custo de reorganizar a própria rotina e enfraquece o compromisso com a data. O paciente de retorno, que já tem menos urgência, tende a ser o que mais facilmente não volta. Registre cada caso como remarcação por iniciativa da clínica, para o indicador acima mostrar o tamanho do problema.

A IA marcou depois do bloqueio (o erro)

Aqui houve falha, e o roteiro é outro:

  1. Contato humano rápido: a recepção liga, não a IA, assim que o erro é detectado.
  2. Assuma o erro sem expor o motivo: "Tivemos um erro na nossa agenda e o horário que você recebeu não está disponível. Peço desculpas pelo transtorno."
  3. Prioridade de reencaixe: o paciente prejudicado ganha preferência no melhor horário disponível, com opção de outro profissional.
  4. Confirme o novo horário por escrito e cancele o lembrete antigo. Sem isso, o paciente recebe a confirmação do horário errado.
  5. Registre a causa: qual linha da tabela de diagnóstico produziu o erro. Sem esse registro, o mesmo erro volta.

Por que essa integração costuma ser frágil no Brasil

Se a sincronização da sua agenda parece remendada, você não está sozinho.

Na pesquisa TIC Saúde 2025 do Cetic.br/CGI.br, entre os estabelecimentos de saúde brasileiros que usaram a Internet nos últimos 12 meses, 27% declararam ter sistema eletrônico com interoperabilidade. No recorte privado, o índice cai para 14%, e 76% declararam não ter.

Na mesma pesquisa, 24% desses estabelecimentos possuem departamento ou área de Tecnologia da Informação. Entre os privados, são 33%, e 66% não possuem.

Os números valem para estabelecimentos de saúde em geral, não só odontológicos. Mas o retrato serve: na maior parte dos estabelecimentos privados, o sistema não troca dados de forma interoperável com outros sistemas e não existe uma área de TI para vigiar a integração.

Na prática, quem responde pela sincronização da agenda é o dono ou o gestor. A defesa dele são as perguntas certas ao fornecedor.

As perguntas para o fornecedor da integração

Leve esta lista para a reunião. A coluna da direita é o sinal de alerta.

Pergunta Resposta que serve Resposta que preocupa
A IA lê a agenda viva ou uma cópia? A viva, ou uma cópia com intervalo definido e nova checagem na gravação "Sincroniza de tempos em tempos", sem dizer quanto
Existe releitura completa periódica além do aviso de mudança? Sim, com frequência definida "O webhook avisa na hora"
Quais agendas e subagendas a checagem lê, por profissional? Lista explícita e configurável "Lê a agenda do dentista"
Como trata evento "Disponível", evento de dia inteiro e tipo "fora do escritório"? Explica o comportamento e trata ausência como indisponível Não sabe responder
Trata bloqueio de cadeira, sala e equipamento, além do profissional? Sim, por recurso Só profissional
Confere a agenda de novo antes de gravar? O sistema recusa gravação em conflito? Sim, com recusa e alternativa na mesma conversa Grava com base na oferta
Como renova o canal de notificação e o que faz com o código 410? Renovação programada e sincronização completa automática Não conhece o tema ou trata como erro genérico
Carrega feriados municipais e estaduais por unidade? Sim, calendário por unidade Só o nacional
Guarda log de cada oferta com o estado da agenda naquele momento? Sim, consultável pela clínica Só guarda o agendamento final
Avisa quando a sincronização para? Alerta automático para um responsável Você descobre pelo paciente

Para a auditoria completa antes de contratar, veja o que auditar antes de comprar a integração CRM-agenda pronta.

Seu próximo passo

  1. Pegue o último horário oferecido errado e rode o diagnóstico. Descubra em qual causa o bloqueio se perdeu antes de mexer em qualquer configuração.
  2. Eleja a agenda-mestre e escreva a política de ausência. Um lugar para o bloqueio nascer, quem pode criar, antecedência mínima, congelamento e caminho de emergência para o atestado.
  3. Rode o teste de bloqueios e ligue o alerta de agendamento dentro de bloqueio. Considere o problema resolvido só quando todos os cenários passarem e o alerta ficar zerado por algumas semanas seguidas.

Quer a IA respondendo seus pacientes na hora, sem oferecer horário que a sua agenda não tem? Agende uma apresentação.

Perguntas frequentes

Por que a IA de agendamento ofereceu um horário que o dentista tinha bloqueado?

Porque a IA oferece o que a agenda que ela consulta mostra, e o bloqueio não estava lá do jeito certo. As causas mais comuns são o bloqueio que ficou no WhatsApp, no papel ou na agenda pessoal do dentista, o evento lançado como "disponível", a subagenda que a checagem não lê e a cópia sincronizada que ainda não tinha recebido a mudança.

Webhook resolve a sincronização da agenda em tempo real?

Não sozinho. A documentação da API do Google Calendar afirma que as notificações de mudança não são 100% confiáveis e que uma pequena porcentagem se perde em condições normais de operação. O aviso serve para acelerar; a garantia vem da releitura periódica da agenda e de uma nova checagem do horário no momento de gravar o agendamento.

Como lançar férias e congresso do dentista para a IA não oferecer horário?

Lance como exceção da grade, no sistema-mestre que a IA lê, com status de ocupado e não agendável, cobrindo o profissional e, quando for o caso, a cadeira. Faça isso antes de a janela de agenda daquele período abrir e confira que o evento não ficou marcado como "disponível" nem numa agenda pessoal que a integração não consulta.

A IA precisa saber o motivo do bloqueio do dentista?

Não. A IA precisa saber apenas que o intervalo está indisponível. Atestado, motivo pessoal ou curso ficam com a gestão, num campo que só ela vê; levar o motivo para a IA cria o risco de ela repetir ao paciente o que não devia e não melhora nenhuma decisão de agendamento.

O que fazer com os pacientes que já estavam marcados quando o dentista bloqueou a agenda?

Gere a lista de afetados no momento em que o bloqueio é criado e faça contato humano, por ligação, não por mensagem automática genérica. Ofereça primeiro outro profissional da mesma especialidade no mesmo horário e depois a data mais próxima, com prioridade para tratamento em curso e pós-operatório. Registre cada caso como remarcação por iniciativa da clínica.

Feriado municipal precisa ser lançado na agenda à parte?

Sim, se o seu sistema só carrega o calendário nacional. Pela Lei 9.093/1995, os feriados religiosos são declarados em lei municipal, em número não superior a quatro, incluída a Sexta-Feira da Paixão, e a data magna do estado é fixada em lei estadual. Carregue esse calendário local por unidade no início do ano e decida as pontes junto.