top of page

Verbind CRM as a Service met Claude

TeamsWork CRM as a Service maakt via zijn open REST API verbinding met AI-tools, wat betekent dat je rechtstreeks met je CRM-gegevens kunt werken vanuit de AI-assistent die je team al gebruikt. We hebben al laten zien hoe je TeamsWork in Microsoft Copilot brengt in Verbind Ticketing met Copilot. Deze gids laat zien hoe je het instelt met Claude, zodat je contacten kunt doorzoeken, leads kunt samenvatten en records kunt bijwerken vanuit één gesprek, zonder ook maar één regel code te schrijven.

Hoe het werkt

AI-tools zoals Claude Code en Codex kunnen via MCP (Model Context Protocol) verbinding maken met een applicatie, een standaardmanier om de assistent toegang te geven tot een app. In plaats van die verbinding met de hand te bouwen, geef je de assistent het beschrijvingsbestand van de CRM API en vraag je hem om de verbinding te bouwen. Je schrijft zelf geen code. De assistent bouwt het, heeft alleen je API key nodig en draait lokaal op je computer, zodat je gegevens bij jou blijven.


Voordat je begint

Je hebt nodig:

  • Claude Code geïnstalleerd en aangemeld (of Codex). Het draait op Windows, macOS en Linux, in de terminal of als de VS Code- of JetBrains-extensie. Deze gids werkt met elk daarvan, en het hoofdpad vereist niet dat je een terminal gebruikt.

  • de CRM OpenAPI-bestanden, van de TeamsWork CRM API-referentie

  • je TeamsWork CRM API key


De verbinding is een klein Python-programma dat is gebouwd met een hulpmiddel genaamd FastMCP. Je hebt Python geïnstalleerd nodig. Je installeert FastMCP niet zelf: de assistent voegt het toe tijdens het bouwen en geeft je daarna het exacte commando om de verbinding te starten.


Zet de projectmap op. Maak een map voor dit werk en zet de vier CRM OpenAPI-bestanden in een api submap. Om je API key op te halen, open je je CRM-app en ga je naar Instellingen, dan de API key sectie. Een typische indeling ziet er zo uit:


your-project/
└── api/
    ├── crm-cases.openapi.json
    ├── crm-directory.openapi.json
    ├── crm-history.openapi.json
    └── crm-pipeline.openapi.json

Houd de key privé. Je geeft hem aan de verbinding door als een omgevingswaarde, niet door hem in de chat te plakken.


Kies je regio voordat je de prompt uitvoert. De onderstaande prompt gebruikt standaard het US endpoint. Als je CRM zich in de EU-regio bevindt, bewerk je de base URL in het eerste opsommingsteken van de prompt (zowel de US- als de EU-URL staan daar) voordat je hem verstuurt.


Stap 1: Open Claude Code in je projectmap

Open Claude Code in de map die je api submap bevat, zodat het de CRM-specificatiebestanden kan lezen.


Als je in plaats daarvan Codex gebruikt, open je Codex in dezelfde map. De stappen zijn hetzelfde. Alleen de manier waarop de connector wordt geregistreerd verschilt, wat Stap 3 behandelt (Codex gebruikt zijn eigen configuratiebestand, niet dat van Claude Code).


Stap 2: Voer de prompt in

Een herinnering voordat je plakt: de prompt gebruikt standaard de US-regio. Als je CRM zich in de EU-regio bevindt, wijzig dan eerst de base URL in het eerste opsommingsteken.


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.

Optioneel: Probeer eerst een alleen-lezen demo

Als je liever eerst een kleinere versie probeert voordat je de volledige set inschakelt, bouwt deze prompt een alleen-lezen server die de essentiële leesbewerkingen dekt.


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.

Stap 3: Voeg je key toe en maak verbinding

Claude heeft de connector en het bestand dat hem registreert al geschreven. Je voegt alleen je key toe en start opnieuw op. Je key komt nooit in de chat, alleen in dat bestand, waar Claude een tijdelijke aanduiding heeft achtergelaten. Dit werkt hetzelfde in de terminal, de VS Code- of JetBrains-extensie, of de Claude Code desktop-app.


Claude Code gebruikt .mcp.json in je projectmap:


{
  "mcpServers": {
    "crm": {
      "command": "python",
      "args": ["/path/to/your-project/server.py"],
      "env": { "CRM_API_KEY": "your-crm-api-key-here" }
    }
  }
}

Codex gebruikt in plaats daarvan zijn eigen config.toml (het leest geen .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"

Vervang alleen your-crm-api-key-here door je key; al het andere is al ingevuld. (EU-regio: voeg een CRM_BASE_URL-regel toe naast CRM_API_KEY in de env-sectie, ingesteld op https://crmaas-rest-prod-eu.azure-api.net/v1.) Houd het bestand privé. Start je assistent daarna één keer opnieuw op. De eerste keer vraagt Claude Code je om de connector goed te keuren, dus zeg ja.


Stap 4: Ga aan de slag

Dat is de hele installatie. Na de herstart in Stap 3 is de connector actief in Claude Code, zodat je hier meteen in gewone taal met je CRM kunt werken, zonder verdere stappen. Vraag hem om leads te vinden, een contact samen te vatten, openstaande opportunities te bekijken of een record bij te werken. Voor alles wat gegevens wijzigt, vat de assistent eerst de wijziging samen en vraagt hij je om te bevestigen, zodat jij de controle houdt.


Optioneel: Gebruik het in Claude-chat op de desktop-app

Optioneel, en apart. Je bent al klaar na Stap 1 tot en met 4. Dit deel is alleen als je ook met je CRM wilt chatten in Claude-chat op de desktop-app, wat een ander product is dan Claude Code en zijn eigen lijst met connectors bijhoudt. Niets van het bovenstaande gaat mee, dus je voegt daar dezelfde connector één keer toe, in zijn eigen configuratiebestand. Sla dit over als je alleen Claude Code gebruikt. (Afbeelding 4 hieronder toont het resultaat in Claude-chat.)


1. Open Claude Desktop, ga naar Settings, dan Developer, dan Edit Config. Dit opent claude_desktop_config.json (op Windows staat het in %APPDATA%\Claude\; op macOS in ~/Library/Application Support/Claude/).


Claude Desktop Settings, Developer tab, Edit Config

2. Voeg je connector toe onder mcpServers. Als het bestand leeg is, is het onderstaande blok het hele bestand. Als het al andere vermeldingen heeft (zoals coworkUserFilesPath of preferences), voeg dan mcpServers als nog een vermelding toe, gescheiden door een komma, en laat de rest ongemoeid:


{
  "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" }
    }
  }
}

Vervang het pad door het volledige pad naar je server.py, en your-crm-api-key-here door je key (voor EU, voeg ook "CRM_BASE_URL": "https://crmaas-rest-prod-eu.azure-api.net/v1" toe). Zorg dat command en args overeenkomen met het startcommando dat Claude je gaf: de screenshots hier gebruiken uv, maar als die van jou python gebruikt, stel dan "command": "python" en "args": ["/path/to/your-project/server.py"] in. Het onderstaande voorbeeld toont mcpServers toegevoegd bovenaan een config die al andere instellingen had, met een komma erachter:


mcpServers added alongside existing config fields

3. Sla op, en sluit dan volledig af en heropen Claude Desktop. Onder Settings, Developer toont je server nu als running:


teamswork-crm server running in Developer settings

4. Start een nieuwe chat en vraag erop los. Claude gebruikt de CRM-connector en antwoordt op basis van je gegevens:


Claude Desktop answering a CRM question from live data

Eén beperking om te weten: claude.ai in een webbrowser en de Claude mobiele app kunnen geen lokale connector zoals deze gebruiken. Die hebben een gehoste versie nodig, wat een apart onderwerp is.


Opmerkingen

  • Je gegevens blijven lokaal. De connector draait op je computer, en je CRM-gegevens en key worden niet naar een derde partij gestuurd.

  • Kies je regio door de base URL in de prompt in te stellen (standaard US, EU beschikbaar) of CRM_BASE_URL.

  • Houd je API key privé. Geef hem alleen door als de omgevingswaarde, nooit in een prompt of screenshot.

  • Dezelfde aanpak werkt voor andere TeamsWork-apps. Je kunt Claude op dezelfde manier op een andere TeamsWork API richten.


Conclusie

Je hebt Claude een veilige manier gegeven om in natuurlijke taal met je CRM te werken, opgezet door te vragen in plaats van te configureren. Begin met leesbewerkingen om vertrouwd te raken, sta de assistent daarna toe records aan te maken en bij te werken, waarbij je elke wijziging onderweg bevestigt.



TeamsWork is lid van het Microsoft Partner Network en is gespecialiseerd in het ontwikkelen van Productiviteitsapps die de kracht van het Microsoft Teams-platform en het dynamische ecosysteem benutten. Hun SaaS-producten, zoals CRM as a Service, Ticketing as a Service en Checklist as a Service, worden zeer gewaardeerd door gebruikers. Ze staan bekend om hun gebruiksvriendelijke interface, de naadloze integratie met Microsoft Teams en de betaalbare prijsplannen. TeamsWork is trots op het ontwikkelen van innovatieve softwareoplossingen die de productiviteit van bedrijven verhogen en tegelijkertijd betaalbaar blijven voor elk budget.

 
 
 

Opmerkingen


bottom of page