AskMuse fonctionne avec Zapier et Make au moyen de webhooks. Vous collez une adresse dans votre tableau de bord, et chaque appel terminé, rendez-vous pris au téléphone, rendez-vous déplacé ou annulé et nouveau prospect y est envoyé dès qu’il a lieu — signé, en HTTPS. Le webhook est inclus dans chaque forfait, y compris celui à 39,99 $, et l’installation prend environ 10 minutes.
https://hooks.zapier.com/hooks/catch/.Ouvrez Paramètres › Intégrations, trouvez Webhook sortant, collez
l’adresse et appuyez sur Enregistrer le webhook. Elle doit commencer par
https://. Une fois enregistrée, la même ligne affiche votre secret de
signature (gardez-le pour la vérification plus bas) et un bouton Ping d’essai.
Le ping d’essai envoie {"event":"test_ping"} depuis votre
navigateur. Ça prouve que l’adresse répond, mais il n’y a aucun champ à associer. Pour un vrai
exemple, appelez votre numéro IA depuis votre propre téléphone, donnez votre nom et ce dont vous
avez besoin, puis raccrochez : un événement call.ended arrive quelques secondes plus
tard. Appuyez ensuite sur Test trigger dans Zapier (dans Make, la bulle de Run once se
remplit). Chaque champ ci-dessous peut maintenant être associé.
Chaque événement est un POST JSON avec la même enveloppe. Les
événements envoyés par le site (un rendez-vous déplacé ou annulé depuis votre tableau de bord ou
le lien du client, et les 2 événements de prospect) contiennent aussi
"locale": "en-CA" ou "fr-CA" à côté de business. Les noms
des champs ne changent jamais avec la langue.
{
"event": "booking.created",
"business": "Toitures Harbor",
"data": {
"confirmation": "ALG-4821",
"starts_at": "2026-10-02T09:00:00-04:00",
"caller_name": "Jon Smith",
"callback_number": "+16475551234",
"notes": null
}
}
call.endedUn appel à votre numéro IA s’est terminé.
outcomebooked, lead, call (questions seulement) ou missedsummaryduration_sbooked_fornullurgenttrue quand elle a marqué l’appel urgentintakeCet événement n’a pas de champ distinct pour le nom ou le numéro. Pour les avoir
dans leurs propres champs, utilisez booking.created ou lead.created.
booking.createdElle a fixé un rendez-vous pendant un appel.
confirmationstarts_atcaller_namecallback_numbernotesbooking.movedUn rendez-vous a été déplacé, depuis votre tableau de bord ou le lien du client.
confirmationcustomerwas / whenstarts_at / previous_starts_atbooking.cancelledUn rendez-vous a été annulé.
confirmation, starts_at, caller_nameconfirmation, customer, when (en toutes lettres), starts_atlead.created et lead.escalatedUn nouveau prospect est arrivé dans votre boîte Prospects, ou un visiteur du site a demandé une personne.
lead_idname, phone, emailwantssource / pagecall_idsubmitted_atreasonlead.escalated seulement; vide sinon)Les prospects du clavardage de votre site et de la carte de rappel sont envoyés en quelques secondes; ceux des autres portes, par un balayage qui passe une fois par jour. Les événements de prospect ne partent que si un courriel de notification est réglé dans Paramètres.
Pour un cabinet dentaire, une clinique, un physio, un chiro, un massothérapeute, un
vétérinaire, une pharmacie ou tout autre cabinet de santé, AskMuse laisse de côté ce que
l’appelant a dit. summary, notes, reason,
need, wants, transcript et message arrivent
vides — les champs restent, donc vos associations continuent de fonctionner — et la raison d’une
demande de personne invite à ouvrir le tableau de bord. Les noms, numéros, heures et résultats
sont toujours envoyés.
Chaque événement porte 2 en-têtes, signés avec votre secret de signature :
X-ALG-Timestamp: 1790000000
X-ALG-Signature: sha256=<hex HMAC-SHA256(secret, timestamp + "." + corps brut)>
Prenez le corps exactement tel qu’il est arrivé, calculez le même HMAC, comparez, et refusez un horodatage de plus de 5 minutes pour qu’une requête copiée ne puisse pas être rejouée. En Node :
const crypto = require("crypto");
function fromAskMuse(rawBody, headers, secret) {
const ts = headers["x-alg-timestamp"];
const sig = String(headers["x-alg-signature"] || "");
if (!ts || Math.abs(Date.now() / 1000 - Number(ts)) > 300) return false;
const want = "sha256=" + crypto.createHmac("sha256", secret)
.update(ts + "." + rawBody).digest("hex");
return sig.length === want.length &&
crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(want));
}
Zapier : Catch Hook › Filter : event correspond exactement à
call.ended › Google Sheets : Create Spreadsheet Row, en associant
outcome, summary, duration_s et booked_for à
vos colonnes. Make : Custom webhook › un filtre sur event › Google Sheets :
Add a Row.
AskMuse a aussi Google Sheets intégré (Paramètres › Intégrations). Utilisez ceci quand vous voulez vos propres colonnes ou votre propre mise en page.
Zapier : Catch Hook › Filter : event est call.ended ET
outcome est lead ou booked › Slack : Send Channel
Message — par exemple « Nouvel appel {{outcome}} : {{summary}} ». Make : le même
filtre, puis Slack : Create a Message.
Slack est aussi intégré; un Zap vous laisse choisir quels appels sont publiés et ce que dit le message.
Zapier : Catch Hook › Filter : event est
booking.created › l’action Find or Create Contact de votre CRM avec
caller_name et callback_number › ajoutez une note ou une activité avec
starts_at, confirmation et notes. Ajoutez un 2e
chemin pour lead.created (name, phone, email,
wants) pour attraper aussi les prospects du web. Make : un Router après le
webhook, une route par événement.
Ça fait partie de l’installation gratuite — commencez ici et dites-nous dans quel outil vous voulez vos appels.