Sommaire
Obtenir une clé API Gemini
Rends-toi sur aistudio.google.com/apikey et génère une clé gratuite. Elle commence par AIza....
Tu en auras besoin pour chaque bot que tu crées.
Créer ton premier bot
Depuis le Dashboard, remplis le formulaire :
- Choisis un type de bot (chatbot, FAQ, lead qualifier…)
- Donne-lui un nom et un message d'accueil
- Colle ta clé API Gemini
- Clique sur Créer le bot
Tu recevras un botId et un snippet d'intégration prêt à copier.
Configurer le system prompt
Le system prompt définit la personnalité et le périmètre de ton bot. Exemple :
Tu es l'assistant de [Nom de l'entreprise].
Réponds en français, de façon concise et utile.
Si tu ne sais pas, propose de contacter support@example.com.Ajouter une base de connaissance
Pour les bots Chatbot, FAQ et Knowledge bot interne, ajoute des données structurées :
question | réponse | mots-clés
Quels sont vos tarifs ? | Starter à 29€/mois, Pro à 79€/mois. | prix,tarif
Comment vous contacter ? | Par email à contact@example.com | contact,emailLe bot utilise des embeddings sémantiques pour trouver la meilleure réponse, même si la question est formulée différemment.
Chatbot IA
Assistant conversationnel avec base de connaissance et embeddings sémantiques. Idéal pour le support client.
FAQ dynamique
Recherche sémantique dans ta KB. Retourne les réponses les plus pertinentes sans conversation.
Lead qualifier
Pose des questions structurées (nom, email, budget…) et collecte les réponses. Parfait pour la prospection.
Onboarding
Guide interactif étape par étape. Chaque étape peut attendre une réponse ou enchaîner automatiquement.
Knowledge bot interne
Comme le chatbot, mais pensé pour les équipes internes. Même moteur, usage différent.
Form builder IA
Formulaires conversationnels avec validation. Les champs sont posés un par un dans le chat.
Collecteur d'avis
Collecte des avis clients avec analyse de sentiment automatique par Gemini (positif, négatif, neutre).
Champs spécifiques par type
| Chatbot / FAQ / Internal | Base de connaissance (question | réponse | mots-clés) |
| Lead qualifier | Questions de qualification (id | question | type | options) + message de remerciement |
| Onboarding | Étapes (id | message | attendre réponse oui/non) |
| Form builder | Champs (id | label | type | requis | options | validation) + message de confirmation |
| Collecteur d'avis | Question d'avis personnalisée |
Tous les types supportent les webhooks et les emails de notification.
Copier le snippet
Après avoir créé ton bot, copie le snippet affiché dans le résultat. Il ressemble à :
<script
src="https://ai.botmight.net/widget.js"
data-api-base="https://v7c78cuc6j.execute-api.eu-west-3.amazonaws.com"
data-bot-id="TON_BOT_ID"
data-style="bubble">
</script>Coller dans ton site
Ajoute le snippet juste avant la balise </body> de ta page HTML. Le widget se charge automatiquement.
Choisir un style d'affichage
Modifie l'attribut data-style pour changer l'apparence :
bubble | Bulle flottante en bas à droite (par défaut) |
inline | Intégré directement dans la page |
fullscreen | Plein écran, idéal pour les pages dédiées |
sidebar | Panneau latéral fixe |
Exemple inline
Pour intégrer le chat directement dans un conteneur :
<div id="mon-chatbot" style="height:500px"></div>
<script
src="https://ai.botmight.net/widget.js"
data-api-base="https://v7c78cuc6j.execute-api.eu-west-3.amazonaws.com"
data-bot-id="TON_BOT_ID"
data-style="inline"
data-container="mon-chatbot">
</script>Comment ça marche
Quand un événement se produit (message, lead collecté, formulaire soumis…), Botmight envoie un POST JSON à l'URL webhook configurée dans ton bot.
Compatible avec Zapier, Make (Integromat), n8n, ou tout endpoint HTTP.
Format du payload
Chaque webhook envoie un JSON avec cette structure :
{
"event": "lead_collected",
"botId": "abc-123",
"botName": "Mon Bot",
"botType": "leadgen",
"visitorId": "visitor-xyz",
"data": {
"name": "Jean Dupont",
"email": "jean@example.com",
"budget": "10k-50k",
"need": "Refonte de mon site web"
},
"timestamp": "2026-03-21T10:30:00.000Z"
}Types d'événements
chatbot_message | Chatbot IA |
faq_message | FAQ |
lead_collected | Lead qualifier |
form_submitted | Form builder |
review_submitted | Review |
onboarding_message | Onboarding |
internal_message | Internal bot |
Configurer Zapier
- Zapier → Trigger : Webhooks by Zapier → Catch Hook
- URL webhook →
https://hooks.zapier.com/hooks/catch/... - Botmight → Webhook URL
- Test → message
- Zapier → Test trigger
- Action (Google Sheets, email, CRM…)
| Nom | → data › name |
→ data › email | |
| Budget | → data › budget |
| Need | → data › need |
| Date | → timestamp |
| Bot | → botName |
Configurer n8n
- n8n → Webhook → POST
- URL → Botmight Webhook URL
- Header Auth :
x-botmight-secret - Action (Google Sheets, Slack, email…)
// n8n expressions
{{ $json.event }} → Event type
{{ $json.botName }} → Bot name
{{ $json.data.name }} → Lead name
{{ $json.data.email }} → Lead email
{{ $json.data.budget }} → Budget
{{ $json.timestamp }} → Date/timeExemples de payload par type
Chatbot / FAQ / Internal :
{
"event": "chatbot_message",
"data": {
"question": "Quels sont vos tarifs ?",
"answer": "Nous avons une offre Starter à 29€/mois..."
}
}Form builder :
{
"event": "form_submitted",
"data": {
"name": "Marie Martin",
"email": "marie@example.com",
"phone": "+33612345678",
"message": "Je souhaite un devis."
}
}Review :
{
"event": "review_submitted",
"data": {
"review": "Service excellent, très réactif !",
"sentiment": "positive"
}
}Connecter un canal
Depuis le dashboard, éditez un bot et utilisez le sélecteur de canaux pour ajouter Telegram, Slack, Discord, WhatsApp ou Email. Une fois connecté, l'URL du webhook s'affiche automatiquement dans le chip du canal.
🎮 Discord
1. Créez une application sur discord.com/developers.
2. Allez dans l'onglet « Bot » → « Add Bot ». Copiez le Bot Token.
3. Copiez l'Application ID et la Public Key depuis « General Information ».
4. Dans Botmight, ajoutez le canal Discord avec le token, l'Application ID et la Public Key. L'Interactions Endpoint URL s'affiche automatiquement.
5. Collez cette URL dans le portail Discord → « General Information » → « Interactions Endpoint URL ».
6. Enregistrez une commande slash (une seule fois) :
curl -X POST "https://discord.com/api/v10/applications/APP_ID/commands" \
-H "Authorization: Bot TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"ask","description":"Ask the chatbot","options":[{"name":"message","description":"Your message","type":3,"required":true}]}'
7. Invitez le bot sur votre serveur :
https://discord.com/api/oauth2/authorize?client_id=APP_ID&scope=bot%20applications.commands&permissions=2048
📨 Telegram
1. Créez un bot via @BotFather sur Telegram.
2. Copiez le token et ajoutez-le dans Botmight. Le webhook Telegram est configuré automatiquement.
💬 Slack
0. Créer une application Slack — Allez sur api.slack.com/apps → « Create New App » → « From scratch ». Donnez un nom et sélectionnez votre workspace.
1. Ajouter les permissions (obligatoire) — Dans le menu latéral de votre app Slack, ouvrez « OAuth & Permissions » → « Bot Token Scopes ». Ajoutez : chat:write, app_mentions:read, channels:history, channels:read.
2. Installer l'application — Toujours dans « OAuth & Permissions », cliquez « Install to Workspace » → « Autoriser ». Copiez le Bot User OAuth Token (format : xoxb-...).
3. Récupérer le Signing Secret — Dans le menu latéral, allez dans « Basic Information » → « App Credentials ». Copiez le Signing Secret.
4. Connecter Slack dans Botmight — Ouvrez votre bot → section Canaux → ajoutez Slack. Collez le Bot Token et le Signing Secret. Une Event URL est générée automatiquement — copiez-la.
5. Activer les événements Slack — Retournez sur l'app Slack → « Event Subscriptions » → activez « Enable Events » → collez l'Event URL dans « Request URL ». Slack doit afficher : Verified ✅.
6. Ajouter les événements du bot — Dans « Subscribe to bot events », ajoutez : message.channels. Cliquez « Save Changes ».
7. Inviter le bot dans un canal — Dans votre workspace Slack, tapez /invite @VotreBotName. Le nom du bot se trouve dans « App Home » → « App Display Name » de votre app Slack.
✅ Vérification rapide : Event URL = Verified, bot invité dans un channel, un message envoyé → le bot reçoit les événements 🎉
Secret automatique
Quand tu configures une URL webhook, Botmight génère automatiquement un webhook secret (32 caractères hex). Tu le trouves dans le formulaire d'édition de ton bot, sous le champ Webhook URL.
Headers de sécurité
Chaque appel webhook inclut deux headers :
X-Botmight-Secret | Secret brut |
X-Botmight-Signature | HMAC-SHA256 |
Vérification simple (n8n Header Auth)
La méthode la plus simple : utilise le header X-Botmight-Secret avec le credential Header Auth de n8n.
- n8n → Credentials → Header Auth
- Name :
x-botmight-secret - Value : secret Botmight
- Webhook → Authentication → Header Auth
Vérification HMAC (avancé)
Pour une sécurité maximale, vérifie la signature HMAC-SHA256 du body. Exemple en Node.js :
const crypto = require('crypto');
function verifyWebhook(body, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(body)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}
app.post('/webhook', (req, res) => {
const sig = req.headers['x-botmight-signature'];
const raw = JSON.stringify(req.body);
if (!verifyWebhook(raw, sig, 'YOUR_SECRET')) {
return res.status(401).send('Invalid signature');
}
res.sendStatus(200);
});Vérification HMAC en Python
import hmac, hashlib
def verify_webhook(body: bytes, signature: str, secret: str) -> bool:
expected = hmac.new(
secret.encode(), body, hashlib.sha256
).hexdigest()
return hmac.compare_digest(signature, expected)
@app.route('/webhook', methods=['POST'])
def webhook():
sig = request.headers.get('X-Botmight-Signature', '')
if not verify_webhook(request.data, sig, 'YOUR_SECRET'):
return 'Unauthorized', 401
data = request.json
return 'OK', 200System prompt efficace
- Définis clairement le rôle du bot (« Tu es l'assistant de… »)
- Précise la langue de réponse
- Fixe un périmètre : ce que le bot doit et ne doit pas faire
- Ajoute un fallback : que faire quand il ne sait pas (rediriger vers un humain, un email…)
- Demande des réponses concises (150 mots max) pour une meilleure UX
Base de connaissance optimale
- Une ligne = une question/réponse. Sois précis dans les réponses.
- Ajoute des mots-clés variés pour améliorer la recherche sémantique
- Couvre les questions fréquentes en priorité
- Mets à jour régulièrement quand tes offres ou infos changent
- Teste avec le Playground pour vérifier les réponses
Tester avant de déployer
- Utilise le Playground pour tester ton bot en conditions réelles
- Vérifie que les webhooks arrivent bien (utilise webhook.site pour débugger)
- Teste les différents styles de widget (
bubble,inline,fullscreen,sidebar) - Consulte les Derniers messages et Soumissions dans le dashboard pour suivre l'activité
Webhooks fiables
- Ton endpoint doit répondre en moins de 5 secondes
- Retourne un code 2xx pour confirmer la réception
- Active toujours l'authentification (Header Auth ou HMAC) en production
- Logge les payloads reçus pour faciliter le debug