1. Home
  2. Product
  3. API en integraties

Een CRM API die je zelf kunt koppelen

Lumo heeft een publieke REST API met 49 routes en een OpenAPI-beschrijving, ondertekende webhooks en een MCP-server voor AI-tools. Je koppelt je website, je ERP of je eigen scripts met sleutels die precies mogen wat nodig is.

  • REST API met 49 routes en openapi.json
  • Webhooks met ondertekening en leveringslog
  • MCP-server met 6 gereedschappen

Waarom een CRM koppelbaar moet zijn

Een CRM staat nooit alleen. De orders komen uit een ERP, de aanvragen uit een formulier op een landingspagina die een bureau heeft gebouwd, en de facturen uit een boekhoudpakket. Is het CRM niet te koppelen, dan ontstaat er een tweede administratie: iemand neemt elke ochtend de nieuwe aanvragen over, en elke maand worden klantgegevens met de hand vergeleken. Dat kost uren en het gaat geregeld mis.

De vraag bij een CRM-koppeling is daarom niet alleen of er een API is. De echte vragen zijn: wat kan de API lezen en schrijven, hoe veilig zijn de sleutels, wat gebeurt er als een verzoek twee keer binnenkomt, en hoe hoort het andere systeem dat er iets veranderd is? Op die vragen geeft deze pagina antwoord.

Lumo heeft een REST API onder /api/v1 met 49 routes en een openapi.json waarmee je ontwikkelaar of tool de hele beschrijving kan inlezen. De API dekt contacten, deals met pipelines en fases, leads, en activiteiten met notities. Sleutels krijgen alleen de rechten die nodig zijn en kunnen een einddatum hebben. Webhooks melden een gebeurtenis aan je eigen systeem, ondertekend met een geheim zodat je kunt controleren dat de melding echt van Lumo komt.

Voor AI-tools is er een MCP-server. Daarmee kan een AI-assistent buiten Lumo zoeken in je CRM, een persoon of lead aanmaken en een activiteit vastleggen. Wil je liever de assistent in Lumo zelf gebruiken, dan staat die bij de AI-assistent. Een overzicht van alle koppelingen, ook Gmail, Google Agenda en de import uit Pipedrive, vind je bij integraties.

Zo koppel je een systeem aan Lumo

Je gaat naar Instellingen, groep Automatisering, en opent API en koppelingen.

  1. Sleutel maken

    Klik bij API-sleutels op Sleutel maken. Geef hem een naam, kies de rechten en eventueel een datum waarop hij verloopt.

  2. Sleutel bewaren

    Kopieer de sleutel meteen. Je ziet hem daarna nooit meer. Bewaar hem in de kluis of de instellingen van het systeem dat koppelt.

  3. Verzoeken sturen

    Stuur de sleutel mee als Authorization-kop met Bearer. Lees openapi.json in voor de routes en velden.

  4. Webhook toevoegen

    Klik bij Webhooks op Webhook toevoegen, kies het https-adres en de gebeurtenissen, en kopieer het geheim waarmee je de meldingen controleert.

  5. Testen en volgen

    Stuur een testmelding en kijk bij Leveringen of hij Geleverd, In de wachtrij of Mislukt is. Bij Laatst gebruikt zie je wanneer een sleutel voor het laatst werkte.

De API dekt de kern van je verkoopadministratie. Personen en organisaties, deals met hun pipeline en fase, leads, en activiteiten met notities. Daarmee kun je bijvoorbeeld een order uit je ERP als gewonnen deal bijwerken, nieuwe aanvragen van een landingspagina als lead aanmaken, of een belactiviteit uit je eigen telefoontool vastleggen.

Sleutels hebben rechten per onderdeel: lezen, schrijven of beide, voor contacten, deals, leads en activiteiten, en een apart recht om webhooks te beheren. Een sleutel voor je website mag alleen leads schrijven. Een sleutel voor een rapportagetool mag alleen lezen. Zo beperk je de schade als een sleutel ooit uitlekt, en trek je hem in met Intrekken.

De grenzen zijn duidelijk: 600 verzoeken per minuut per sleutel en een inhoud van maximaal 1 MiB. Fouten komen terug met een vaste code, zoals insufficient_scope als een sleutel een recht mist, of validation_failed met uitleg per regel.

  • 49 routes onder /api/v1 plus openapi.json
  • Rechten per onderdeel: lezen, schrijven of beide
  • Sleutels met einddatum, intrekken en Laatst gebruikt
  • 600 verzoeken per minuut en maximaal 1 MiB per verzoek
Lijst met personen en organisaties, de gegevens die de API leest en schrijft

Met een webhook stuurt Lumo een melding naar een adres van jou zodra er iets gebeurt, zoals persoon.aangemaakt. Je kiest 1 tot 50 gebeurtenistypen, of een sterretje voor alles. Zo hoeft je ERP niet elke minuut te vragen of er iets nieuws is.

Elke melding is ondertekend met een geheim dat je één keer ziet bij het toevoegen. Je systeem controleert de handtekening en weet zo dat de melding van Lumo komt. Met Nieuw geheim maken draai je het geheim om, bijvoorbeeld als een medewerker vertrekt. Bij Leveringen zie je per melding of hij geleverd is.

Lumo stuurt webhooks alleen naar publieke https-adressen. Adressen met inloggegevens erin, geblokkeerde poorten en interne of private adressen worden geweigerd. Ook webformulieren hebben eigen uitgaande, ondertekende webhooks met herhaalpogingen en een leveringslog, voor wie een inzending direct naar een ander systeem wil sturen. Meer daarover staat bij webformulieren.

  • Gebeurtenissen kiezen, of een sterretje voor alles
  • Ondertekend met een geheim, om te draaien met Nieuw geheim maken
  • Leveringen met status Geleverd, In de wachtrij of Mislukt
  • Alleen publieke https-adressen
Formulieren in Lumo met het tabblad voor koppelingen en uitgaande webhooks

MCP is een open manier waarop AI-tools gereedschappen van andere systemen gebruiken. Lumo heeft een MCP-server op /mcp, die je aanspreekt met een API-sleutel. Een AI-assistent die MCP ondersteunt, kan daarmee in je CRM werken.

De server heeft zes gereedschappen: search om te zoeken, get_person om een persoon op te halen, list_deals om deals op te sommen, create_person om een persoon aan te maken, create_lead om een lead aan te maken en log_activity om een activiteit vast te leggen. Dat is genoeg om tijdens een gesprek in je AI-tool een klant op te zoeken, een nieuwe aanvraag als lead vast te leggen of een belnotitie te loggen.

Omdat de MCP-server met een gewone API-sleutel werkt, gelden dezelfde rechten en grenzen. Geef de sleutel alleen de rechten die de AI-tool nodig heeft. Let erop dat de AI-tool zelf gegevens naar zijn eigen aanbieder kan sturen. Lees daarvoor de voorwaarden van die tool.

  • MCP-server op /mcp met een API-sleutel
  • Zes gereedschappen: search, get_person, list_deals, create_person, create_lead, log_activity
  • Dezelfde rechten en grenzen als de REST API
Leadlijst met een lead die via een koppeling is aangemaakt

Wat er in de API en koppelingen zit

OpenAPI-beschrijving

openapi.json beschrijft alle 49 routes, zodat je ontwikkelaar of tool ze kan inlezen.

Rechten per sleutel

Lezen, schrijven of beide per onderdeel, plus webhooks beheren. Met einddatum en intrekken.

Idempotency-Key

Stuur een Idempotency-Key mee en een herhaald verzoek maakt geen tweede record.

Duidelijke grenzen

600 verzoeken per minuut per sleutel en maximaal 1 MiB per verzoek.

Webhooks

Ondertekend, met geheim omdraaien, een leveringslog en een testmelding.

Veilige adressen

Alleen publieke https-adressen. Interne en private adressen worden geweigerd.

MCP-server

Zes gereedschappen voor AI-tools, met een API-sleutel.

Foutcodes

Elke fout heeft een vaste code, zoals invalid_api_key, rate_limited of payload_too_large.

Voorbeeld: orders uit een ERP en aanvragen van een landingspagina

Stel: een maakbedrijf met een eigen ERP en een marketingbureau dat landingspagina's bouwt, wil beide aan Lumo koppelen. Dit is een voorbeeld van hoe de ontwikkelaar dat kan inrichten.

Voor de landingspagina's maakt hij een sleutel met alleen het recht Leads schrijven en een einddatum aan het einde van de campagneperiode. Het formulier van het bureau stuurt bij elke inzending een verzoek om een lead aan te maken, met een Idempotency-Key per inzending. Komt een verzoek door een netwerkfout twee keer binnen, dan maakt Lumo de lead maar één keer aan. Loopt de campagne af, dan verloopt de sleutel vanzelf.

Voor het ERP maakt hij een tweede sleutel met Deals lezen en schrijven en Contacten lezen. Wordt een order in het ERP bevestigd, dan zoekt het ERP de deal op en zet hem op gewonnen. Omgekeerd voegt hij een webhook toe die het ERP een melding stuurt bij een nieuwe persoon, zodat de contactpersoon daar ook bestaat. Het ERP controleert elke melding met het geheim. Bij Leveringen ziet hij de eerste dag dat twee meldingen Mislukt zijn, omdat het ERP even onbereikbaar was, en lost dat op.

Vertrekt de ontwikkelaar bij het bureau, dan trekt de beheerder die sleutel in en maakt een nieuw geheim voor de webhook. De rest blijft gewoon werken.

Zo richt je een koppeling veilig in

Deze punten gelden voor elke koppeling, groot of klein.

  • Maak per systeem een eigen sleutel met een herkenbare naam.
  • Geef elke sleutel alleen de rechten die dat systeem nodig heeft.
  • Zet een einddatum op sleutels voor tijdelijke koppelingen, zoals een campagne.
  • Bewaar sleutels en geheimen in een kluis, niet in een document of e-mail.
  • Stuur bij elk aanmaakverzoek een Idempotency-Key mee.
  • Controleer bij elke webhookmelding de handtekening met het geheim.
  • Kijk na de eerste dag bij Leveringen of er meldingen zijn mislukt.
  • Trek sleutels in en draai geheimen om als iemand met toegang vertrekt.

Hoe de API samenhangt met de rest van Lumo

De API is een van de koppelingen. Gmail en Google Agenda koppel je per gebruiker zonder code, en een import uit Pipedrive doe je met de wizard en een Pipedrive API-token. Dat staat bij overstappen van Pipedrive. Het hele overzicht staat bij integraties.

Wil je iets automatisch laten gebeuren binnen Lumo zelf, zoals een taak na een fasewissel, dan heb je geen API nodig maar een regel bij automatiseringen. Webformulieren hebben hun eigen webhooks, zie webformulieren. En hoe sleutels, rollen en het logboek bij elkaar horen, lees je bij beveiliging en privacy.

Wat je moet weten over de API

De publieke API dekt vandaag contacten, deals met pipelines en fases, leads en activiteiten met notities. Tickets en campagnes zitten er nog niet in, die beheer je in Lumo zelf. Er zijn geen OAuth-apps voor derden en geen kant-en-klare app in Zapier of Make. Wil je toch met zo'n tool werken, gebruik dan de algemene HTTP- en webhookmodules van die tool met een API-sleutel en de webhooks van Lumo. Werk je met Outlook of Microsoft 365: de koppeling met Outlook en Microsoft 365 staat op de planning. Tot die tijd zet je het persoonlijke BCC-adres in Bcc of stuur je een mail door, en komt hij op de juiste persoon, organisatie en deal.

Veelgestelde vragen over de API en koppelingen

Heeft Lumo een publieke API?

Ja, een REST API onder /api/v1 met 49 routes en een openapi.json. Hij dekt contacten, deals met pipelines en fases, leads, en activiteiten met notities.

Hoe beveilig ik een API-sleutel?

Geef hem alleen de rechten die nodig zijn, zet eventueel een einddatum en bewaar hem in een kluis. Je ziet de sleutel maar één keer. Met Intrekken zet je hem direct uit.

Wat zijn de limieten van de API?

600 verzoeken per minuut per sleutel en een inhoud van maximaal 1 MiB per verzoek. Bij te veel verzoeken krijg je de code rate_limited.

Hoe voorkom ik dubbele records bij een herhaald verzoek?

Stuur een Idempotency-Key mee. Een tweede verzoek met dezelfde sleutel maakt geen nieuw record.

Hoe controleer ik dat een webhook echt van Lumo komt?

Elke melding is ondertekend met een geheim dat je bij het toevoegen één keer ziet. Je systeem controleert de handtekening met dat geheim.

Wat is de MCP-server?

Een koppeling voor AI-tools die MCP ondersteunen. Met een API-sleutel krijgt de tool zes gereedschappen: zoeken, een persoon ophalen, deals opsommen, een persoon of lead aanmaken en een activiteit vastleggen.

Is er een koppeling met Zapier of Make?

Geen kant-en-klare app. Je kunt wel de algemene HTTP- en webhookmodules van die tools gebruiken met een API-sleutel en de webhooks van Lumo.

Kan ik tickets en campagnes via de API beheren?

Nog niet. De API dekt contacten, deals, leads en activiteiten. Tickets en campagnes beheer je in Lumo.

Werkt Lumo met Outlook?

De koppeling met Outlook en Microsoft 365 staat op de planning. Vandaag werkt het persoonlijke BCC-adres met elk mailprogramma, ook Outlook, en kun je mail met de hand vastleggen. Alle andere onderdelen staan los van je mailprogramma.

Bespreek je koppeling met ons

In de demo kijken we welke systemen je wilt koppelen en welke routes en webhooks je daarvoor nodig hebt.

Supportmedewerker helpt een klant aan de telefoon