Bot support et prise de rendez-vous
Pour l'équipe Velora : le bot Telegram du support et le calendrier iCloud des appels.
15 min
Ce guide sert à l'équipe qui fait tourner Velora, pas aux agences. Il branche deux choses : le bot Telegram qui répond aux questions sur la page Support, et la page Réserver un appel reliée au calendrier iCloud.
Avant de commencer
- Un accès aux variables d'environnement de l'app (Railway ou Vercel).
- Telegram sur ton téléphone.
- Le compte Apple qui porte le calendrier « Réunion ».
Le bot Telegram
- Crée le bot. Dans Telegram, ouvre
@BotFather, envoie/newbot, puis choisis un identifiant qui finit parbot, par exempleVeloraSupportBot. Copie le jeton. - Crée le groupe de l'équipe. Un groupe Telegram avec toi et l'assistante, puis ajoute le bot comme membre. Le bot ne lit que les réponses à ses propres messages : pas besoin de le passer admin.
- Récupère l'id du groupe. Envoie un message dans le groupe, puis ouvre
https://api.telegram.org/bot<JETON>/getUpdatesdans ton navigateur avant l'étape 5. L'id commence par-100. - Remplis les variables.
SUPPORT_TELEGRAM_BOT_TOKEN(le jeton),SUPPORT_TELEGRAM_WEBHOOK_SECRET(le résultat deopenssl rand -hex 32),SUPPORT_TEAM_CHAT_ID(l'id du groupe) etNEXT_PUBLIC_SUPPORT_TELEGRAM_URL(par exemplehttps://t.me/VeloraSupportBot).ANTHROPIC_API_KEYest facultative : avec elle, Claude répond à partir des guides ; sans elle, le bot cherche par mots-clés. - Branche le webhook. Une fois l'app redéployée, lance le script depuis
apps/web:../../packages/db/node_modules/.bin/tsx scripts/support-bot-setup.ts. Il pose le webhook avec son secret et le menu des commandes en français, anglais et espagnol.--checkaffiche l'état sans rien changer. - Teste. Écris
/startau bot, puis touche « Parler à un humain ». Le message arrive dans le groupe : réponds-y avec la fonction Répondre de Telegram, la personne reçoit ta réponse. Réponds/finpour rendre la main au bot.
Le calendrier iCloud
- Crée un mot de passe pour app. Sur
appleid.apple.com, ouvre Connexion et sécurité, puis Mots de passe pour app, et crée-en un nommé « Velora ». Ce n'est pas le mot de passe de ton identifiant Apple. - Remplis les variables.
ICLOUD_CALDAV_USER(l'e-mail de l'identifiant Apple),ICLOUD_CALDAV_APP_PASSWORD(le mot de passe pour app) etICLOUD_CALDAV_CALENDAR(Réunion, le nom exact du calendrier). - Choisis ce qui bloque les créneaux. Par défaut, seuls les événements du calendrier « Réunion » occupent un créneau. Mets
ICLOUD_CALDAV_BUSY_CALENDARS=*pour tenir compte de tous tes calendriers, ou une liste de noms séparés par des virgules. - Ajoute le lien de visio si tu en as un.
BOOKING_MEETING_URL(un lien https fixe) part dans l'e-mail et dans l'événement. - Teste. Réserve un créneau sur
/fr/reserver-un-appel. L'appel apparaît dans « Réunion », l'e-mail de confirmation arrive avec l'invitation, et le groupe Telegram reçoit l'annonce. Le lien d'annulation de l'e-mail libère le créneau et retire l'événement.
Si ça ne marche pas
- Le bot ne répond pas → lance le script avec
--check: il affiche la dernière erreur du webhook. Vérifie que le secret est le même dans l'app et dans le script. - La réponse de l'assistante n'arrive pas → elle doit répondre au message du bot avec Répondre, pas écrire un nouveau message.
- Aucun créneau sur la page → le calendrier iCloud ne répond pas ou le nom ne correspond pas. Sans les variables iCloud, la page marche avec les seuls rendez-vous déjà pris.
- Le mot de passe pour app a fuité → révoque-le sur
appleid.apple.comet crée-en un autre.