Outils d’assistant réutilisables
Créez les outils une seule fois sur la page Tools, puis attribuez-les sous Assistant → Settings → Tools ou ajoutez-les à un flux. Mettre à jour un outil réutilisable met à jour toutes ses attributions.Outils API

Agent Tools → Installed → API → Custom Agent Tool : choisissez HTTP API tool, nommez l’outil, décrivez son usage, puis définissez la méthode, l’URL et les paramètres.
- le point de terminaison et l’authentification,
- les informations que l’assistant doit recueillir,
- les éventuelles valeurs fixes,
- ce que doit contenir la réponse, et
- si l’appelant doit entendre une courte phrase de progression.
GET et DELETE, et dans le corps JSON pour POST, PUT et PATCH. Pour en placer un dans le chemin à la place, écrivez {{parameter_name}} dans l’URL du point de terminaison. Définissez la source d’un paramètre sur Static pour une valeur fixe que l’assistant n’a jamais à demander, et conservez les identifiants dans Headers.
Les valeurs statiques, les valeurs d’en-tête et l’URL du point de terminaison peuvent aussi contenir des espaces réservés {{...}}. Ils sont remplis à l’exécution de l’outil avec les variables de l’appel — valeurs système comme {{caller_number}} ou {{call_id}}, variables de lead et d’API, et valeurs recueillies pendant la conversation. Un champ statique du corps caller_phone = {{caller_number}} envoie donc le numéro de l’appelant sans que l’assistant ait à le demander. Dans les valeurs statiques et les en-têtes, une variable sans valeur devient une chaîne vide, y compris pour les paramètres numériques et booléens. Les variables inconnues dans l’URL restent inchangées ; fournissez chaque valeur utilisée dans l’URL. Les valeurs des paramètres y sont prioritaires sur les variables de conversation.
Les variables sont acceptées dans les paramètres statiques de type texte, nombre et booléen. Les valeurs sont converties au type choisi après substitution. Dans Requête de test → Variables d’appel, saisissez des exemples ; ils servent uniquement à ce test et ne conduisent pas l’assistant à les demander. Les canaux textuels utilisent les variables de contact et de conversation disponibles lors de l’exécution de l’outil. Utilisez Ajouter une variable pour saisir une valeur de test pour une variable dans un en-tête enregistré et masqué.
ship_date, confirmed_time) plutôt qu’un objet profondément imbriqué qu’il devrait interpréter.
Connecteur d’agent Perplexity
Ouvrez Tools → Agent Connectors, choisissez Perplexity AI, et collez votre propre clé API. Sélectionnez Load models pour valider la clé et récupérer les modèles actuellement disponibles pour votre compte. Le même sélecteur de modèle est ensuite disponible dans Edit et recharge le catalogue à l’aide de la clé stockée en toute sécurité. Vous pouvez ajouter un prompt système facultatif et ajuster la température (par défaut0.2), le Top P (0.9), la pénalité de présence (0) et la pénalité de fréquence (1). Le nombre maximal de jetons est vide par défaut et n’est envoyé dans les requêtes qu’une fois défini. Le prompt système contrôle le ton, la langue, le style et le format de réponse ; l’assistant fournit toujours la demande de recherche complète au moment de l’exécution. La clé enregistrée est masquée et n’est jamais renvoyée par l’API des outils.
Serveurs MCP externes

Tools → Agent Connectors → Add custom MCP connector permet de commencer la connexion de votre propre serveur MCP.
/mcp est traitée comme du Streamable HTTP, et une URL se terminant par /sse comme du SSE classique ; toute autre URL essaie d’abord le Streamable HTTP, puis se replie sur le SSE. L’authentification peut être none, un static header or bearer token, ou OAuth — lorsque le serveur prend en charge OAuth, Famulor exécute le parcours de connexion et stocke le jeton obtenu.
La liste Installed affiche le résultat de la dernière exécution et signale les connexions nécessitant une intervention. Si OAuth expire, choisissez Reauthorize sur l’outil existant. Le parcours de connexion répare cet outil sur place, ce qui préserve les attributions, les outils autorisés, les paramètres et l’historique d’exécution.
Pour chaque outil sélectionné, Execution behavior permet de contrôler l’annulation, les appels simultanés et les mises à jour de progression parlées. Une annulation ne peut pas défaire une action déjà terminée par le service externe.
Les outils réutilisables et les connexions MCP des assistants partagent la limite Tools & MCP de l’espace. Un outil réutilisable attribué à plusieurs assistants compte une seule fois. Les espaces clients revendeurs incluent cinq outils avec un forfait ou un accès prépayé ; les options payantes Extra Tools augmentent ce quota. Connect AI (MCP) doit aussi être activé dans le forfait attribué ou les paramètres prépayés. Consultez votre quota dans Settings → Plan.
Outils intégrés
Les outils intégrés couvrent des actions courantes telles que le transfert d’appel, le transfert vers un autre assistant, les SMS, les e-mails, la vérification des horaires d’ouverture, les rappels, la saisie au clavier, la collecte sécurisée de carte de paiement, les variables et la fin d’appel.Gérer les outils via l’API
Utilisez l’API publique pour automatiser la gestion des outils :GET /api/v1/toolsetPOST /api/v1/toolsPOST /api/v1/tools/perplexity/modelspour lister les modèles disponibles avec une clé API fournie ou l’identifiant d’un connecteur existantGET /api/v1/tools/{id},PATCH /api/v1/tools/{id}etDELETE /api/v1/tools/{id}POST /api/v1/tools/{id}/reauthorizepour obtenir une URL de connexion navigateur de courte durée pour un outil MCP OAuth existantGET /api/v1/assistants/{id}/toolsetPUT /api/v1/assistants/{id}/toolsGET /api/v1/assistants/{id}/automations,POST /api/v1/assistants/{id}/automationsetDELETE /api/v1/assistants/{id}/automations/{automationId}
reauthorize_tool et list_perplexity_models. Les réponses de liste d’outils incluent l’état de connexion sans secret et le résultat de la dernière exécution. Les valeurs d’authentification secrètes sont masquées après leur enregistrement. Les noms d’en-têtes restent visibles avec la valeur •••. Lors de la mise à jour d’un outil, la configuration envoyée remplace celle enregistrée : renvoyez tous les en-têtes en conservant ••• pour les valeurs que vous ne modifiez pas. Les en-têtes omis sont supprimés.
Pour une automatisation que l’assistant doit pouvoir appeler pendant une conversation, utilisez le point de terminaison d’automatisation de l’assistant ou l’outil MCP create_assistant_automation. Décrivez précisément quand elle doit s’exécuter. La même attribution est disponible dans les conversations vocales, le chat web, la messagerie et l’e-mail. La plateforme crée un brouillon de workflow et connecte l’outil nécessaire en toute sécurité, sans renvoyer d’identifiants. Construisez ses étapes, renvoyez un résultat concis adapté à une réponse orale ou écrite, puis passez l’automatisation en Live une fois prête ; la mettre en pause désactive aussi l’outil appelable partout. Ces outils générés apparaissent comme gérés par l’automatisation et ne peuvent être modifiés ou déconnectés que depuis les paramètres de l’assistant. Les nouvelles tentatives au sein d’une conversation réutilisent la même exécution et la même réponse, sans répéter la facturation ni les effets de bord.
Recevoir les résultats d’appel par webhook
Lorsqu’un appel se termine, Famulor envoie son résultat à l’URL de webhook configurée sur l’assistant (Settings → Automations → Call completed). Cette URL n’est pas signée et appartient à cet assistant uniquement. Les réglages de livraison par assistant — délai d’expiration, nombre de nouvelles tentatives et envoi de test — se trouvent dans Webhooks post-appel.
Settings de l’assistant → Automations → Call completed : choisissez Webhook, renseignez Webhook URL et vérifiez Timeout et Retries avant d’utiliser Send test.
conversation.ended contenant la transcription du fil et son analyse. Telegram, Slack et les autres connecteurs de messagerie disposent en revanche de leur propre Conversation ended webhook URL, définie par connecteur — voir Canaux de messagerie.
call.completed
L’événement inclut les informations d’appel destinées au client : assistant, sens, statut, durée, horodatages, transcription, variables de flux collectées, contexte de campagne et liens d’enregistrement disponibles.
Si l’appel ne peut pas aboutir, le payload inclut un objet failure indépendant du fournisseur, avec un code stable, un message adapté au client, un conseil de nouvelle tentative et une action suggérée. Construisez votre logique de reprise à partir de cet objet plutôt qu’à partir de détails spécifiques à l’infrastructure.
Interroger au lieu de recevoir un webhook
Vous pouvez récupérer le même résultat d’appel avecGET /api/v1/calls, GET /api/v1/calls/{id}, ou les outils d’historique d’appels dans MCP. Un appel nouvellement créé renvoie d’abord son statut actuel ; interrogez-le jusqu’à ce qu’il atteigne un état final.