Skip to main content
La plate-forme est livrée avec un serveur MCP (Model Context Protocol, streamable HTTP). Connectez une application d’IA (Claude, ChatGPT, Cursor ou votre propre agent) et elle pourra gérer des assistants, démarrer des appels, lire des transcriptions et gérer des campagnes en votre nom.
Sur un domaine en marque blanche, les écrans de point de terminaison, de connexion et de consentement s’exécutent tous sous la marque du locataire. L’accès nécessite la fonctionnalité Connect AI / MCP dans votre forfait (connect_ai_mcp) — sinon le point de terminaison répond 403.

Connecter les clients

  1. Paramètres → Connecteurs → Ajouter un connecteur personnalisé
  2. Saisissez https://{your-domain}/mcp.
  3. Claude démarre automatiquement le flux OAuth : connectez-vous sur la page de connexion de votre plateforme et approuvez l’écran de consentement.
  4. Les outils apparaissent dans Claude.

Connectez-vous depuis le tableau de bord

Le moyen le plus rapide de se connecter est le modal Connect AI intégré : ouvrez la page Outils du tableau de bord et cliquez sur Utiliser dans ChatGPT & Claude. Le modal affiche l’URL MCP de votre compte (votre domaine en marque blanche s’il est configuré et vérifié), vous permet de le copier en un seul clic et propose des invites de démarrage prêtes à l’emploi : créez un assistant, réparez un assistant, analysez le dernier appel, exploitez les 30 derniers appels ou lancez une campagne. Ouvrir dans Claude / Ouvrir dans ChatGPT transmet l’invite sélectionnée directement à l’application IA ; vous complétez uniquement l’étape de connexion et de consentement ici.

Authentification

Le point de terminaison implémente la pile d’authentification MCP moderne et complète — les clients la gèrent automatiquement :
  1. Une requête non authentifiée renvoie 401 avec des métadonnées de ressources protégées (RFC 9728).
  2. Le client découvre le serveur d’autorisation (RFC 8414), s’enregistre via l’enregistrement dynamique du client (RFC 7591) et exécute Authorization Code + PKCE.
  3. Vous vous connectez (connexion en marque blanche) et approuvez l’écran de consentement – ​​une fois par candidature ; l’approbation est mémorisée pendant 180 jours.
  4. Le client reçoit un jeton d’accès (fam_at_..., 1 h, avec jeton d’actualisation) et appelle le point de terminaison.

Outils disponibles

Chaque opération de l’API REST v1 est également disponible sous forme d’outil MCP — mêmes services, même validation (limites du plan, catalogue de modèles, liste DNC). In-app Milian Copilot utilise les mêmes services via votre session de connexion (/api/milian/*) — pas ce point de terminaison MCP. |delete_assistant|assistants:write|Supprimer définitivement un assistant| |list_tools / get_tool|assistants:read|Répertorier les outils réutilisables (outils API HTTP + serveurs MCP externes) / en récupérer un (secrets masqués comme •••)| |create_tool / update_tool / delete_tool|assistants:write|Gérer les outils réutilisables (type api, mcp ou builtin — ce dernier englobe un outil intégré en tant qu’outil d’espace de travail ; la création/mise à jour nécessite des informations d’identification d’administrateur car les configurations contiennent des secrets)| |get_assistant_tools / set_assistant_tools|assistants:read / assistants:write|Lire / REMPLACER les affectations d’outils d’un assistant| |get_voices|voices:read ou assistants:read|Parcourez la bibliothèque vocale TTS (fournisseur, langue, sexe, accent, recherche)| |get_models|assistants:read|Parcourez le catalogue de modèles (type = llm, stt, tts ou realtime) — les modèles disponibles pour la configuration assistée| |get_languages|assistants:read|Répertoriez les langues de l’assistant prises en charge (codes ISO 639-1 + étiquettes) pour primary_language / secondary_languages| |list_calls / get_call|calls:read|Parcourir les appels ; get_call comprend une transcription, un résumé et un recording_url temporaire| |list_history / get_email_history_item|calls:read|Parcourez les appels et les conversations par courrier électronique groupées ; chaque tour de client/assistant avec le même ID de fil stable forme une ligne et peut être récupéré chronologiquement| |make_call|calls:write|Démarrer un appel sortant (assistant_id, to_number, lead facultatif)| |live_call_control|calls:write|Contrôle des appels actifs : listen_token, whisper, end_agent ou hangup (nécessite la fonctionnalité du plan live_monitoring)| |list_campaigns / get_campaign|campaigns:read ou calls:read|Parcourir les campagnes incl. paramètres du numéroteur et nombre de prospects| |create_campaign / update_campaign / delete_campaign|campaigns:write ou calls:write|Gérer les campagnes (accès simultané, tentatives, fenêtres d’appel et politiques de nouvelle tentative : retry_on_voicemail, retry_until_goal + goal_variable, mark_complete_when_no_leads)| |start_campaign / stop_campaign|campaigns:write ou calls:write|Lancer ou mettre en pause le composeur| |list_leads|leads:read ou calls:read|Lister les leads d’une campagne| |add_lead / add_leads / delete_lead|leads:write ou calls:write|Gérer les leads (uniques ou en masse jusqu’à 1 000, normalisés E.164, vérifiés DNC)| |list_suppression_entries|suppression:read ou campaigns:read|Parcourir la liste des numéros à ne pas appeler (suppression) de l’espace de travail| |add_suppression_entry / remove_suppression_entry|suppression:write ou campaigns:write|Bloquer un numéro de toutes les campagnes / le supprimer de la liste| |list_phone_numbers|phone_numbers:read ou calls:read|Numéros sur le compte| |search_phone_numbers|phone_numbers:read ou calls:read|Recherchez les numéros de marché achetables, y compris. prix| |buy_phone_number / release_phone_number|phone_numbers:write ou calls:write|Numéros d’achat/version (facturation complète + flux de conformité)| |assign_phone_number|phone_numbers:write ou calls:write|Attribuer un numéro à un assistant, basculer les directions| |list_sip_trunks / get_sip_trunk|sip_trunks:read ou calls:read|Parcourir les lignes réseau SIP (les informations d’identification ne sont jamais retournées)| |create_sip_trunk / delete_sip_trunk|sip_trunks:write ou calls:write|Apportez votre propre opérateur (DID/Extension, format d’appel, SLA avancé) / supprimez une ligne réseau - voir BYO SIP trunk| |list_knowledge_bases / get_knowledge_base|knowledge:read ou assistants:read|Parcourir les bases de connaissances| |create_knowledge_base / delete_knowledge_base|knowledge:write ou assistants:write|Gérer les bases de connaissances| |add_document|knowledge:write ou assistants:write|Ajoutez un document (texte brut ou URL de fichier) et indexez-le pour le récupérer| |get_balance|billing:read ou calls:read|Solde minutes/crédits + résumé du plan| |get_me|aucun (n’importe quel jeton valide)|Inspectez les informations d’identification d’appel, les limites du forfait et les bascules de fonctionnalités| |get_memory_settings / update_memory_settings|settings:read / settings:write (ou assistants:*)|Paramètres par défaut de l’espace de travail pour la mémoire de l’appelant (activation/désactivation par défaut + fenêtre d’obsolescence)| |get_assistant_variables / set_assistant_variables|assistants:read / assistants:write|Lire/REMPLACER les définitions variable personnalisée d’un assistant| |list_integrations / get_integration|integrations:read ou assistants:read|Parcourir intégrations de calendrier (Cal.com, Calendly, Google, Outlook, natif ; secrets masqués)| |create_integration / update_integration / delete_integration|integrations:write ou assistants:write|Gérer les intégrations de calendrier (connexion testée avant l’enregistrement ; informations d’identification d’administrateur requises)| |get_assistant_integrations / set_assistant_integrations|integrations:read/write ou assistants:read/write|Lire / REMPLACER les tâches d’intégration du calendrier d’un assistant| |get_booking_event_types|bookings:read ou assistants:read|Lister les types d’événements du moteur de réservation (slug, durée, disponibilité hebdomadaire)| |create_booking_event_type / update_booking_event_type / delete_booking_event_type|bookings:write ou assistants:write|Gérer les types d’événements du moteur de réservation intégré| |list_bookings / get_booking|bookings:read ou calls:read|Parcourir les réservations (filtrer par type d’événement, statut, plage horaire)| |cancel_booking|bookings:write ou calls:write|Annuler une réservation (envoie la mise à jour ICS METHOD:CANCEL)| |get_usage_summary|calls:read|Utilisation mensuelle (minutes, coûts)| |list_dashboards / get_dashboard|dashboards:read ou calls:read|Parcourez les tableaux de bord d’analyse personnalisés| |create_dashboard / update_dashboard / delete_dashboard|dashboards:write ou calls:write|Gérer des tableaux de bord personnalisés ; show_default_sections=false crée un canevas vierge et hidden_default_sections supprime les cartes intégrées individuelles (nécessite la fonctionnalité de plan custom_dashboards)| |get_dashboard_analytics|dashboards:read ou calls:read|KPI, deltas de comparaison, séries chronologiques, répartitions, progression de la campagne et résumés de modules sécurisés| |list_dashboard_widgets|dashboards:read ou calls:read|Lire les widgets, les filtres, les paramètres de visualisation et la disposition de la grille| |create_dashboard_widget / update_dashboard_widget / remove_dashboard_widget|dashboards:write ou calls:write|Construisez le canevas du tableau de bord ; supprimer se détache mais conserve le widget réutilisable| Each tool accepts either its fine-grained v1 scope or the legacy umbrella scope (calls:* for campaigns/leads/numbers/SIP/billing/dashboards, assistants:* for voices/knowledge) — OAuth tokens issued with the four standard scopes keep working for everything. Les clés/jetons sans restrictions de portée ont un accès complet ; :write implique :read.

Erreurs

Les mêmes fonctionnalités sont disponibles en tant que REST API classique — choisissez celle qui correspond à votre intégration.