Chats: Slack, Discord, Google Chat e Teams#
Para avisar a equipe num canal de chat, não é preciso n8n nem código. Crie um webhook de entrada no chat, cole a URL no GuruAgenda e escolha os eventos: nós montamos a mensagem no formato de cada plataforma.
Como obter a URL#
| Plataforma | Onde criar | format |
|---|---|---|
| Slack | Crie um app em api.slack.com/apps → Incoming Webhooks → Add New Webhook to Workspace → escolha o canal. A URL começa com https://hooks.slack.com/. |
slack |
| Discord | No canal: Editar canal → Integrações → Webhooks → Novo webhook → Copiar URL. A URL começa com https://discord.com/api/webhooks/. |
discord |
| Google Chat | No espaço: Apps e integrações → Webhooks → Adicionar webhook. Só funciona em contas Google Workspace. A URL começa com https://chat.googleapis.com/v1/spaces/. |
google_chat |
| Microsoft Teams | No canal: ⋯ → Workflows → "Send webhook alerts to a channel" (ou "Post to a channel when a webhook request is received"), salve e copie a URL. Os antigos conectores do Office 365 foram descontinuados pela Microsoft. | teams |
Depois, no GuruAgenda: Configurações → API e Webhooks → Novo webhook, escolha a plataforma, cole a URL, marque os eventos e clique em Testar. Pela API, é o mesmo POST /v1/webhooks com o format da tabela.
A URL de um webhook de chat funciona como uma senha: quem a tem consegue postar no canal. Por isso a guardamos cifrada e, depois de salva, a mostramos cortada (https://hooks.slack.com/services/T0…a1b2). Conferimos se a URL é da plataforma escolhida (no Teams, aceitamos qualquer URL https, porque o Workflows usa vários domínios).
A mensagem#
Cada evento vira uma mensagem com título, os dados principais e um botão para abrir o registro no GuruAgenda:
📅 Novo agendamento
Cliente: Maria Souza · (11) 9****-9999
Profissional: Ana Lima
Serviço: Consulta (60 min) · R$ 250,00
Quando: ter, 20/10/2026 às 14:30
Status: Confirmado
Origem: link público
[Abrir no GuruAgenda]
No Slack ela sai em Block Kit, no Discord como embed colorido pelo tipo de evento, no Google Chat como cartão e no Teams como Adaptive Card. O texto simples vai junto em todos, para notificações e leitores de tela. Reagendamentos trazem também o horário anterior; cancelamentos, quem cancelou e o motivo.
Agrupamento por agendamento:
- Google Chat: os eventos do mesmo agendamento (criado, reagendado, sinal pago, cancelado) ficam na mesma conversa (thread).
- Discord: em reagendamento e cancelamento, editamos a mensagem original em vez de postar outra; se ela foi apagada, postamos uma nova.
- Slack e Teams: uma mensagem por evento (os webhooks dessas plataformas não permitem editar).
Dados do cliente#
Canais de chat costumam ter muita gente. Por padrão, mostramos o cliente reduzido: primeiro nome e último sobrenome, telefone com o meio oculto ((11) 9****-9999) e sem e-mail. Para mostrar o nome completo, o telefone e o e-mail, ligue show_full_personal_data no webhook (na tela, Mostrar dados completos do cliente). Anotações clínicas nunca vão para o chat.
Trocar o texto do título#
O campo message_template (até 2.000 caracteres) troca o título da mensagem por um texto seu, mantendo o cartão com os dados. Ele aceita as mesmas variáveis e filtros do template livre:
{{ data.object.professional.name }}: novo horário em {{ data.object.start | date('d/m H:i') }}
Entrega#
- Mensagens de chat não são assinadas (a plataforma não verifica assinatura).
- Uma mensagem atrasada horas não serve para a recepção: tentamos de novo só depois de 1 e de 5 minutos e, se ainda falhar, registramos a falha.
- Respeitamos o limite de cada plataforma: no máximo uma mensagem por segundo por webhook, e o
Retry-Afterquando a plataforma pede para esperar. - Se a plataforma responder que o webhook não existe mais (
404ou410, por exemplo quando o canal foi apagado), desativamos o webhook e avisamos o dono da conta por e-mail.