Skip to main content

Google Calendar

A integração com Google Calendar é opcional e acontece depois do login, durante o onboarding ou nas configurações da organização. Entrar com Google não conecta automaticamente a agenda.

Consentimento separado

Essa separação permite explicar o propósito da integração no momento correto e manter o menor acesso possível.

Fonte da verdade

A agenda nativa da Orquena decide:
  • Disponibilidade.
  • Holds.
  • Conflitos.
  • Criação do appointment.
  • Reagendamento.
  • Cancelamento.
  • Status e histórico.
O Google Calendar recebe uma representação externa do compromisso.
Uma falha no Google não desfaz um appointment já confirmado na Orquena.

Onboarding

A etapa oferece:
Pular é uma decisão explícita válida e não impede a ativação da organização. Depois da autorização, o usuário escolhe o calendário de destino. A conta usada no login e a conta ou agenda operacional podem ser diferentes.

Direção inicial

A primeira versão implementa:
A sincronização bidirecional fica para uma fase posterior, depois de regras de conflito, versões, webhooks, tombstones e reconciliação.

Operações iniciais

  • Criar evento quando o appointment é confirmado.
  • Atualizar evento em reagendamento.
  • Atualizar ou remover evento em cancelamento conforme a política escolhida.
  • Preservar vínculo entre appointment e evento externo.
  • Exibir falhas e permitir retry.
  • Registrar a última sincronização bem-sucedida.

Dados da conexão

Tokens ficam criptografados e nunca são retornados ao frontend depois de armazenados.

Estados

O dashboard pode mostrar:
  • Conta conectada.
  • Calendário escolhido.
  • Última sincronização.
  • Eventos pendentes.
  • Falhas.
  • Ação de reconectar.

Mapeamento de evento

O evento pode incluir:
  • Nome do serviço.
  • Profissional.
  • Horário inicial e final.
  • Identificador opaco da Orquena.
  • Local do atendimento.
  • Notas permitidas pela política de privacidade.
Dados sensíveis e conteúdo completo de conversa não são enviados ao Calendar.

Idempotência

Cada operação externa utiliza uma chave estável derivada do appointment e da versão da operação. Retries não podem criar eventos duplicados. O vínculo externo armazena:

Reautorização

Quando o token é revogado ou inválido:
  • O appointment continua válido na Orquena.
  • A operação fica pendente ou falha de forma visível.
  • A organização recebe uma notificação.
  • Um usuário autorizado pode reconectar.
  • O sistema não solicita credenciais Google por formulário próprio.

Segurança

  • Scopes mínimos para a funcionalidade escolhida.
  • Redirect URIs allowlisted.
  • OAuth state e proteção contra replay.
  • Client secret somente no backend.
  • Refresh token criptografado.
  • Logs sem tokens ou conteúdo sensível.
  • Permissão de integração por organização.
  • Revogação auditada.

Fora da primeira versão

  • Ler Gmail.
  • Enviar emails pela conta Gmail do cliente.
  • Sincronização bidirecional.
  • Bloquear horários da Orquena com base em qualquer evento externo sem regra explícita.
  • Vários providers de calendário no mesmo onboarding.
  • Importação completa de eventos históricos.

Fonte canônica