Connecter CRM as a Service à Claude
- Marc (TeamsWork)

- il y a 2 heures
- 7 min de lecture
TeamsWork CRM as a Service se connecte aux outils d'IA via sa REST API ouverte, ce qui signifie que vous pouvez exploiter vos données CRM directement depuis l'assistant d'IA que votre équipe utilise déjà. Nous avons déjà montré comment intégrer TeamsWork à Microsoft Copilot dans Connecter Ticketing à Copilot.
Ce guide montre comment le configurer avec Claude afin que vous puissiez rechercher des contacts, résumer des prospects et mettre à jour des enregistrements depuis une seule conversation, sans écrire de code.
Comment ça fonctionne
Les outils d'IA comme Claude Code et Codex peuvent se connecter à une application via MCP (Model Context Protocol), une méthode standard pour donner à l'assistant l'accès à une application. Au lieu de créer cette connexion à la main, vous fournissez à l'assistant le fichier de description de l'API du CRM et lui demandez de créer la connexion. Vous n'écrivez aucun code vous-même ; l'assistant s'en charge, a seulement besoin de votre clé API et s'exécute localement sur votre ordinateur, de sorte que vos données restent chez vous.
Avant de commencer
Vous aurez besoin de :
Claude Code installé et connecté (ou Codex). Il fonctionne sous Windows, macOS et Linux, dans le terminal ou comme extension VS Code ou JetBrains. Ce guide fonctionne avec chacun d'eux, et la méthode principale ne vous oblige pas à utiliser un terminal.
les fichiers OpenAPI du CRM, depuis la Référence de l'API CRM TeamsWork
votre clé API CRM TeamsWork
La connexion est un petit programme Python construit avec un utilitaire appelé FastMCP. Vous avez besoin de Python installé. Vous n'installez pas FastMCP vous-même : l'assistant l'ajoute pendant la construction, puis vous donne la commande exacte pour démarrer la connexion.
Configurez le dossier du projet. Créez un dossier pour ce travail et placez les quatre fichiers OpenAPI du CRM dans un sous-dossier api. Pour obtenir votre clé API, ouvrez votre application CRM et allez dans Paramètres, puis la section clé API. Une disposition typique ressemble à ceci :
your-project/
└── api/
├── crm-cases.openapi.json
├── crm-directory.openapi.json
├── crm-history.openapi.json
└── crm-pipeline.openapi.jsonGardez la clé privée. Vous la fournirez à la connexion en tant que valeur d'environnement, pas en la collant dans le chat.
Choisissez votre région avant d'exécuter le prompt. Le prompt ci-dessous utilise l'endpoint US par défaut. Si votre CRM se trouve dans la région EU, modifiez l'URL de base dans le premier point du prompt (les URL US et EU y sont toutes les deux indiquées) avant de l'envoyer.
Étape 1 : Ouvrez Claude Code dans votre dossier de projet
Ouvrez Claude Code dans le dossier qui contient votre sous-dossier api, afin qu'il puisse lire les fichiers de spécification du CRM.
Si vous utilisez plutôt Codex, ouvrez Codex dans le même dossier. Les étapes sont les mêmes ; seule la façon dont le connecteur est enregistré diffère, ce que couvre l'étape 3 (Codex utilise son propre fichier de configuration, pas celui de Claude Code).
Étape 2 : Saisissez le prompt
Un rappel avant de coller : le prompt utilise par défaut la région US. Si votre CRM se trouve dans la région EU, modifiez d'abord l'URL de base dans le premier point.
Read my TeamsWork CRM OpenAPI files in ./api (cases, directory, history, pipeline) and build one local MCP server (FastMCP, Python, stdio) that wraps all four; fix any schema errors first.
- Auth and region from env, never hardcoded: send the key in the `Ocp-Apim-Subscription-Key` header from CRM_API_KEY; use https://crmaas-rest.azure-api.net/v1 by default (EU: https://crmaas-rest-prod-eu.azure-api.net/v1), overridable via CRM_BASE_URL.
- Support read and write (search, read, create, update, status and stage changes) for contacts, organizations, leads, opportunities, cases, and activities. Before any create, update, delete, merge, or bulk action, summarize it and ask me to confirm.
- Make task-oriented tools, not one per endpoint; keep output lean by default with full detail on request, capping large lists and supporting paging; and where the spec has empty descriptions, write clear ones.
Then set up the connection the way you load MCP servers, no terminal needed: for Claude Code write a `.mcp.json` in this folder, for Codex add the server to your config.toml, with a CRM_API_KEY placeholder in the env section. Don't ask for my key or run anything. Then tell me how to finish.Facultatif : essayez d'abord une démo en lecture seule
Si vous préférez essayer une version plus légère avant d'activer l'ensemble complet, ce prompt crée un serveur en lecture seule qui couvre les opérations de lecture essentielles.
Build a local MCP server (stdio, FastMCP/Python) that wraps my TeamsWork CRM OpenAPI files in ./api. For this demo, expose READ-ONLY tools for the essentials: search and read contacts, organizations, leads, opportunities, and cases, plus recent activities. Send the API key in the `Ocp-Apim-Subscription-Key` header from the CRM_API_KEY environment variable. Use the US base URL by default (CRM_BASE_URL to override). Keep output lean. If a spec file has a schema error, fix it first. Then set it up the way you load MCP servers (a `.mcp.json` for Claude Code, or config.toml for Codex) with a CRM_API_KEY placeholder. Do not ask me for my key or run anything. Then tell me how to finish.Étape 3 : Ajoutez votre clé et connectez-vous
Claude a déjà écrit le connecteur et le fichier qui l'enregistre ; il vous suffit d'ajouter votre clé et de redémarrer. Votre clé ne figure jamais dans le chat, uniquement dans ce fichier, où Claude a laissé un espace réservé. Cela fonctionne de la même manière dans le terminal, dans l'extension VS Code ou JetBrains, ou dans l'application de bureau Claude Code.
Claude Code utilise .mcp.json dans votre dossier de projet :
{
"mcpServers": {
"crm": {
"command": "python",
"args": ["/path/to/your-project/server.py"],
"env": { "CRM_API_KEY": "your-crm-api-key-here" }
}
}
}Codex utilise son propre config.toml à la place (il ne lit pas .mcp.json) :
[mcp_servers.crm]
command = "python"
args = ["/path/to/your-project/server.py"]
[mcp_servers.crm.env]
CRM_API_KEY = "your-crm-api-key-here"Remplacez uniquement your-crm-api-key-here par votre clé ; tout le reste est déjà rempli. (Région EU : ajoutez une ligne CRM_BASE_URL à côté de CRM_API_KEY dans la section env, définie sur https://crmaas-rest-prod-eu.azure-api.net/v1.) Gardez le fichier privé. Puis redémarrez votre assistant une fois ; la première fois, Claude Code vous demande d'approuver le connecteur, alors dites oui.
Étape 4 : Commencez à travailler
Voilà toute la configuration. Après le redémarrage de l'étape 3, le connecteur est actif dans Claude Code, vous pouvez donc exploiter votre CRM en langage courant directement ici, sans autre étape. Demandez-lui de trouver des prospects, de résumer un contact, d'examiner les opportunités ouvertes ou de mettre à jour un enregistrement. Pour toute action qui modifie des données, l'assistant résume d'abord le changement et vous demande de confirmer, afin que vous gardiez le contrôle.
Facultatif : utilisez-le dans Claude Chat sur l'application de bureau
Facultatif, et distinct. Vous avez déjà terminé après les étapes 1 à 4. Cette partie ne concerne que le cas où vous souhaitez aussi discuter avec votre CRM dans Claude chat sur l'application de bureau, qui est un produit différent de Claude Code et conserve sa propre liste de connecteurs. Rien de ce qui précède ne s'y applique, vous ajoutez donc le même connecteur là une fois, dans son propre fichier de configuration. Ignorez cette partie si vous utilisez uniquement Claude Code. (L'image 4 ci-dessous montre le résultat dans Claude chat.)
1. Ouvrez Claude Desktop, allez dans Paramètres, puis Développeur, puis Modifier la configuration. Cela ouvre claude_desktop_config.json (sous Windows, il se trouve dans %APPDATA%\Claude\; sous macOS dans ~/Library/Application Support/Claude/).

2. Ajoutez votre connecteur sous mcpServers. Si le fichier est vide, le bloc ci-dessous constitue tout le fichier. S'il contient déjà d'autres entrées (telles que coworkUserFilesPath ou preferences), ajoutez mcpServers comme une entrée supplémentaire, séparée par une virgule, et laissez le reste inchangé :
{
"mcpServers": {
"teamswork-crm": {
"command": "uv",
"args": ["run", "--with", "fastmcp", "python", "/path/to/your-project/server.py"],
"env": { "CRM_API_KEY": "your-crm-api-key-here" }
}
}
}Remplacez le chemin par le chemin complet vers votre server.py, et your-crm-api-key-here par votre clé (pour EU, ajoutez également "CRM_BASE_URL": "https://crmaas-rest-prod-eu.azure-api.net/v1"). Faites correspondre command et args à la commande de démarrage que Claude vous a donnée : les captures d'écran ici utilisent uv, mais si la vôtre utilise python, définissez "command": "python" et "args": ["/path/to/your-project/server.py"]. L'exemple ci-dessous montre mcpServers ajouté en haut d'une configuration qui contenait déjà d'autres paramètres, avec une virgule après :

3. Enregistrez, puis quittez et rouvrez complètement Claude Desktop. Sous Paramètres, Développeur votre serveur apparaît désormais comme en cours d'exécution :

4. Démarrez une nouvelle conversation et posez vos questions. Claude utilise le connecteur CRM et répond à partir de vos données :

Une limite à connaître : claude.ai dans un navigateur web et l'application mobile Claude ne peuvent pas utiliser un connecteur local comme celui-ci. Ceux-ci nécessitent une version hébergée, ce qui est un autre sujet.
Notes
Vos données restent locales. Le connecteur s'exécute sur votre ordinateur, et vos données CRM ainsi que votre clé ne sont pas envoyées à un tiers.
Choisissez votre région en définissant l'URL de base dans le prompt (US par défaut, EU disponible) ou CRM_BASE_URL.
Gardez votre clé API privée. Fournissez-la uniquement comme valeur d'environnement, jamais dans un prompt ou une capture d'écran.
La même approche fonctionne pour les autres applications TeamsWork. Vous pouvez orienter Claude vers une autre API TeamsWork de la même manière.
Conclusion
Vous avez donné à Claude un moyen sûr d'exploiter votre CRM en langage naturel, mis en place en demandant plutôt qu'en configurant. Commencez par les opérations de lecture pour vous familiariser, puis autorisez l'assistant à créer et mettre à jour des enregistrements, en confirmant chaque changement au fur et à mesure.
TeamsWork est membre du réseau de partenaires Microsoft, et leur expertise réside dans le développement d’applications de productivité qui exploitent la puissance de la plateforme Microsoft Teams et de son écosystème. Leurs produits SaaS, incluant CRM as a Service, Ticketing as a Service et Checklist as a Service, sont très appréciés par les utilisateurs pour leur interface conviviale, leur intégration avec Microsoft Teams et leurs prix abordables. Ils sont fiers de développer des solutions logicielles innovantes qui améliorent la productivité des entreprises tout en restant accessibles à tous les budgets.

Commentaires