Composio

Composio fournit plus de 1 000 intégrations pré-construites, appelées toolkits, pour les plateformes SaaS populaires. Activez un toolkit, connectez votre compte — via OAuth managé, ou en saisissant directement des identifiants (clé API, token Bearer ou authentification Basic) — puis assignez ses actions à un agent. Pas de code webhook, pas de gestion de clés API, pas de logique HTTP personnalisée.

Gmail Slack HubSpot Google Calendar Notion Salesforce Teams Trello Manivox

Toolkits disponibles (exemples)

HubSpot
Créer des contacts, journaliser les appels, mettre à jour les deals
Salesforce
Interroger des comptes, créer des leads, mettre à jour des opportunités
Google Calendar
Vérifier la disponibilité, créer des événements, lister les prochains
Zendesk
Créer et mettre à jour des tickets, ajouter des commentaires
Slack
Envoyer des messages, créer des canaux, mentionner des utilisateurs
Linear
Créer des issues, assigner, mettre à jour le statut
Notion
Créer des pages, interroger des bases, mettre à jour des blocs
Airtable
Créer et mettre à jour des enregistrements, lister les bases
Gmail
Envoyer des emails, chercher dans la boîte, créer des brouillons

Et 990+ autres. Parcourez le catalogue complet dans Dashboard → Comptes → [compte] → Connexions → Composio.

Cycle de vie d'une connexion

Une intégration Composio suit ce flux : activer le toolkit → connecter votre compte → assigner les actions à un agent.

PENDING ACTIVE ou : EXPIRED ERROR

Étape 1, Activer un toolkit

Activer un toolkit le rend disponible pour connexion et assignation d'actions dans votre organisation.

Depuis le dashboard : Dashboard → Comptes → [compte] → Connexions → Composio → Browse catalog → Enable.

Via l'API :

Les endpoints /api/composio/* utilisent l'authentification de session (credentials du dashboard), pas la clé API v1 Bearer. Pour la gestion par programme, utilisez le dashboard. Ces exemples montrent les requêtes HTTP sous-jacentes pour référence.

curl -X POST https://www.manivox.ai/api/composio/toolkits/enable \
  -H "Content-Type: application/json" \
  -b "laravel_session=YOUR_SESSION_COOKIE" \
  -H "X-XSRF-TOKEN: YOUR_XSRF_TOKEN" \
  -d '{
    "toolkit_slug": "hubspot",
    "toolkit_name": "HubSpot",
    "description": "CRM, créer des contacts et journaliser les résultats d'\''appels"
  }'

Étape 2, Connecter votre compte

La connexion authentifie votre compte SaaS auprès de Composio. Il existe deux voies de connexion ; celle qu'un toolkit utilise dépend du fait qu'il propose ou non un OAuth managé par Composio. La boîte de dialogue de connexion du dashboard le détecte automatiquement et affiche le bon formulaire.

Toolkits avec OAuth managé

Pour les toolkits qui proposent un OAuth managé (Gmail, Slack, HubSpot, Google Calendar…), Composio gère le flux OAuth et stocke les tokens pour vous. Appelez l'endpoint de connexion, puis redirigez l'utilisateur vers l'URL retournée.

curl -X POST https://www.manivox.ai/api/composio/toolkits/{toolkit_id}/connect \
  -b "laravel_session=YOUR_SESSION_COOKIE" \
  -H "X-XSRF-TOKEN: YOUR_XSRF_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "account_id": "acc_01hwz4p3...",
    "redirect_url": "https://yourapp.com/composio/callback"
  }'

account_id est requis, il identifie à quel compte de votre organisation la connexion appartient. redirect_url est optionnel.

{
  "data": {
    "id": "clh7v2b3e0000356k26fdmzev",
    "status": "PENDING",
    "composio_account_id": "composio_abc123"
  },
  "redirect_url": "https://app.composio.dev/oauth/...?integrationId=..."
}

Redirigez l'utilisateur vers redirect_url pour compléter le flux OAuth. Après autorisation, le statut transite vers ACTIVE. Pollez l'endpoint de statut de connexion pour confirmer :

curl https://www.manivox.ai/api/composio/accounts/{account_id}/status \
  -b "laravel_session=YOUR_SESSION_COOKIE" \
  -H "X-XSRF-TOKEN: YOUR_XSRF_TOKEN"

Toolkits sans OAuth managé (identifiants directs)

De nombreux toolkits ne sont pas gérés via un OAuth managé. Pour ceux-là, il n'y a pas de redirection OAuth : vous saisissez directement les identifiants — une clé API, un token Bearer, ou une authentification Basic (nom d'utilisateur et mot de passe), selon ce que le toolkit exige. Transmettez les champs d'identifiants dans un objet credentials et le compte se connecte immédiatement à l'état ACTIVE. La boîte de dialogue de connexion affiche les noms exacts des champs attendus par chaque toolkit.

curl -X POST https://www.manivox.ai/api/composio/toolkits/{toolkit_id}/connect \
  -b "laravel_session=YOUR_SESSION_COOKIE" \
  -H "X-XSRF-TOKEN: YOUR_XSRF_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "account_id": "acc_01hwz4p3...",
    "credentials": {
      "api_key": "sk_live_..."
    }
  }'

La réponse revient déjà à l'état ACTIVE avec redirect_url à null, il n'y a donc ni étape OAuth ni polling :

{
  "data": {
    "id": "clh7v2b3e0000356k26fdmzev",
    "status": "ACTIVE",
    "composio_account_id": "composio_abc123"
  },
  "redirect_url": null
}

Étape 3, Assigner des actions à un agent

Après la connexion, choisissez quelles actions du toolkit exposer à chaque agent. Seules les actions assignées sont disponibles comme outils que le LLM de l'agent peut invoquer pendant les appels.

curl -X POST https://www.manivox.ai/api/composio/agents/{agent_id}/tools \
  -b "laravel_session=YOUR_SESSION_COOKIE" \
  -H "X-XSRF-TOKEN: YOUR_XSRF_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "tools": [
      {
        "composio_toolkit_id": "ctk_01hwz4p3...",
        "enabled_actions": ["HUBSPOT_CREATE_CONTACT", "HUBSPOT_LOG_ACTIVITY"]
      }
    ]
  }'

Omettez enabled_actions pour activer toutes les actions disponibles du toolkit.

Utilisation dans les conversations

Les actions Composio fonctionnent de la même manière que les Web Services : le LLM les invoque comme outils pendant l'appel. Le LLM collecte les entrées requises via la conversation, déclenche l'action, et utilise la réponse dans son prochain énoncé.

Pour activer des actions Composio sur un agent :

  1. Ouvrez l'éditeur de flux et double-cliquez sur le nœud Welcome (défaut pour tout l'agent) ou sur un nœud Agent (pour le limiter à ce nœud)
  2. Allez dans l'onglet Connections → section OAuth Connections, puis activez le compte toolkit connecté et choisissez les actions à exposer
  3. Dans le prompt système de ce nœud, décrivez quand chaque action doit être invoquée

Exemple de prompt système pour la création de ticket Zendesk :

À la fin de chaque appel de support, utilise l'action « ZENDESK_CREATE_TICKET »
pour journaliser le problème. Collecte l'email de l'appelant et une brève
description du problème avant l'invocation. Confirme le numéro de ticket
à l'appelant une fois l'action réussie.

L'invocation de l'action, les paramètres, la réponse et le timing sont journalisés dans call.tool_calls sur l'enregistrement d'appel.

Déconnecter un compte

Déconnecter révoque le token d'accès Composio et supprime l'enregistrement de compte connecté. Les agents utilisant les actions de ce toolkit recevront un signal d'erreur quand le LLM tentera de les invoquer, incluez une instruction de repli dans votre prompt système pour que l'agent gère cela proprement jusqu'à la reconnexion.

curl -X DELETE https://www.manivox.ai/api/composio/accounts/{connected_account_id} \
  -b "laravel_session=YOUR_SESSION_COOKIE" \
  -H "X-XSRF-TOKEN: YOUR_XSRF_TOKEN"

Interrogez les connexions d'un compte par programme (GET /v1/accounts/{id}/connections et /connections/{connectionId}) — voir la référence API.

Désactiver un toolkit entier (et non simplement déconnecter un compte) retire aussi toutes les assignations d'outils d'agents et tous les comptes connectés pour ce toolkit. Cela ne peut pas être annulé.