SyncroCentral de Ajuda
No results found
Acessar Syncro

Sincronizar com Google Calendar

Updated on May 13, 2026

A agenda do Syncro pode sincronizar bidirecionalmente com o Google Calendar. Eventos criados no Syncro aparecem automaticamente na sua agenda do Google, e eventos criados no Google aparecem na agenda do Syncro. Ideal pra quem mantém o Google Calendar como agenda principal mas quer ver/criar eventos pelo CRM sem trocar de aba.

A sincronização usa OAuth do Google — você autoriza uma vez e o Syncro usa o token pra ler/escrever eventos em nome da sua conta.

Pré-requisitos

  • Permissão de admin ou manager pra ativar a sincronização (controla tenants.settings_json.calendar_google_sync_enabled).

  • Conta Google ativa com Calendar habilitado.

  • Aceitar os escopos de permissão do Google: https://www.googleapis.com/auth/calendar.

Conectar Google Calendar

Caminho 1 — Pelo card na sidebar da agenda

  1. Acesse Agenda.

  2. Na sidebar esquerda, há um card Sua agenda está quase pronta com o subtexto "Conecte sua conta do Google Calendar para visualizar, criar e gerenciar seus eventos diretamente pelo Syncro.".

  3. Clique em Conectar Google Calendar.

  4. Você é redirecionado pro fluxo OAuth do Google.

  5. Faça login na sua conta Google (use a conta que tem o Calendar que quer sincronizar).

  6. Confirme as permissões solicitadas.

  7. Volta pro Syncro automaticamente.

  8. A integração fica registrada na tabela oauth_connections com platform='google'.

Caminho 2 — Pelas Integrações

  1. Acesse Configurações → Integrações.

  2. Localize o card Google Calendar.

  3. Clique em Conectar.

  4. Mesmo fluxo OAuth descrito acima.

Ativar a sincronização

Conectar é diferente de ativar a sincronização. Após conectar:

  1. Volta pra Agenda.

  2. Na sidebar, o card de Google Calendar agora mostra toggle "Sincronizar eventos".

  3. Marque o toggle.

  4. A sincronização passa a funcionar nos dois sentidos.

⚠️ Atenção: o toggle só aparece pra admins / managers. Usuários comuns não têm permissão pra ativar / desativar.

Como funciona a sincronização (bidirecional)

Syncro → Google (outbound)

Quando você cria/edita/exclui um evento no Syncro:

  1. O CalendarOrchestrator chama GoogleCalendarSyncer::shouldSync.

  2. Se sync está ativo + connection ativa → enfileira o job SyncCalendarEventToGoogle.

  3. Job executa em background:

  • Faz refresh do token OAuth (se necessário)

  • Cria/atualiza/exclui o evento no Google via API

  • Salva google_event_id e google_synced_at no Syncro

  1. Você vê o evento no Google em segundos.

Google → Syncro (inbound)

Cron job calendar:pull-google roda a cada 15 minutos:

  1. Pra cada tenant com sync ativo:

  2. Lista eventos do Google no range [hoje - 1h, hoje + 60 dias].

  3. Upsert por google_event_id:

  • Se evento não existe no Syncro → cria com source='google'.

  • Se já existe com source='google' → atualiza (campos do Google ganham).

  • Se existe com source='syncro'SKIP (não sobrescreve eventos do Syncro pra evitar loop).

  1. Eventos que sumiram do Google são marcados como status='canceled' no Syncro.

Visual — eventos do Syncro vs Google

Na visualização do calendário, eventos têm cores diferentes:

  • Azul (#0085F3) — eventos criados no Syncro (source='syncro')

  • Verde (#10B981) — eventos importados do Google (source='google')

Você consegue distinguir visualmente quem nasceu onde.

Múltiplas agendas Google

A maioria das contas Google tem várias agendas (principal, trabalho, pessoal, feriados). O Syncro lista todas e você decide quais sincronizar:

  1. No sidebar, clique em Agendas ou Selecionar agendas.

  2. Aparece a lista de agendas Google detectadas com checkboxes.

  3. Marque as que quer ver no Syncro.

  4. Clique em Salvar preferências.

  5. Aparece Preferências de agenda salvas!.

💡 Dica: você pode marcar uma agenda como padrão clicando em Definir padrão. Eventos criados no Syncro vão pra essa agenda automaticamente.

Convidados (attendees)

Quando você cria evento no Syncro com convidados (emails) e a sincronização Google está ativa:

  • O evento é criado no Google Calendar.

  • Os convidados recebem convite por email automaticamente (do Google, não do Syncro).

  • O texto do convite é o padrão do Google (assunto, data/hora, link da reunião se for Meet).

  • Convidados podem aceitar/recusar pelo link no email.

Sem sincronização, o Syncro não envia convites por email — atributo attendees fica salvo mas é apenas informativo.

Status de sincronização

Cada evento tem indicadores no popup:

  • Sincronizado com Google ✅ — evento criado no Syncro foi espelhado no Google com sucesso (campo google_synced_at populado).

  • Importado do Google Calendar 📥 — evento veio do Google (source='google').

  • Erro ao sincronizar ⚠️ — tentativa de sync falhou. Campo google_sync_error mostra o motivo.

Erros de sincronização — o que fazer

Causas comuns de google_sync_error:

Token expirado

  • A integração Google usa refresh tokens que renovam automaticamente, mas se o usuário revogou o acesso no Google ou desconectou, o token expira e o sync para.

  • Solução: vá em Configurações → Integrações → Google Calendar → Reconectar.

Calendário não encontrado

  • Você selecionou uma agenda como padrão e depois deletou ela no Google.

  • Solução: vá em Selecionar agendas e marque outra como padrão.

Conflito de horário (sem evento no Google)

  • O Google retornou erro porque o slot já tem outro evento (que não está no Syncro).

  • Solução: vá no Google e remova o conflito, ou ajuste o evento no Syncro.

Desativar a sincronização

Se quiser parar de sincronizar (mantendo a connection ativa pra reativar depois):

  1. Na sidebar da agenda, desmarque o toggle "Sincronizar eventos".

  2. A partir desse momento:

  • Eventos novos do Syncro não serão criados no Google.

  • Eventos do Google não serão importados.

  • Eventos já existentes nos dois lados continuam visíveis mas as edições deixam de ser propagadas.

Desconectar Google Calendar (revogar acesso)

  1. Acesse Configurações → Integrações → Google Calendar.

  2. Clique em Desconectar.

  3. Confirmação aparece.

  4. Confirme.

  5. A integração é removida (oauth_connection deletada).

Após desconectar:

  • Sync para imediatamente.

  • Eventos com source='google' continuam visíveis no Syncro (snapshot do que foi importado), mas não atualizam mais.

  • Eventos do Syncro com google_event_id continuam funcionando localmente mas não tentarão atualizar o Google.

Pra reativar, reconecte a partir do zero.

Privacidade — o que o Syncro pode ver

Com o escopo https://www.googleapis.com/auth/calendar:

  • Pode ler eventos das agendas que você marcou pra sincronizar

  • Pode criar / editar / excluir eventos via API

  • Não pode acessar Gmail, Drive, Contatos, ou qualquer outro produto Google

A integração é escopada apenas pro Calendar. Você pode revisar e revogar permissões a qualquer momento na página myaccount.google.com/permissions.

Sincronização entre múltiplos usuários do tenant

Cada usuário do tenant que conecta Google Calendar tem sua própria connection. Não há agenda compartilhada entre users via Syncro — cada um vê os próprios eventos.

Pra agenda compartilhada de equipe, o Google Calendar tem o conceito nativo de agenda compartilhada que aparece no Syncro como uma agenda a mais (você marca pra sincronizar e os eventos compartilhados aparecem).

Limites técnicos

  • Range de pull: eventos das próximas 60 dias + 1 hora atrás. Eventos mais antigos ou mais futuros não são sincronizados.

  • Quantidade de eventos: sem limite formal. Calendários com milhares de eventos funcionam normalmente.

  • API quota Google: o Google tem limite de chamadas API (10k requests/dia por usuário). Tenants com muito tráfego de sync podem hipoteticamente atingir, mas é improvável.

Próximos passos

Artigos relacionados