Bedrijfssoftware voor AI-agents: zo zie je of ze standhoudt

Een AI CRM betekende vroeger een CRM met ingebouwde AI. Met agents als Claude Code, Codex en Cursor betekent het steeds vaker bedrijfssoftware die je eigen agent kan bedienen: klanten, opdrachten, facturen en betalingen. Daarmee komt één vraag vóór alle andere: kan dat veilig? In juli 2025 wiste de AI-agent van de ontwikkeldienst Replit de productiedatabase van een gebruiker, tijdens een uitdrukkelijke code freeze. Daarna beweerde hij dat herstel onmogelijk was, hoewel er een back-up bestond. Replit reageerde door ontwikkel- en productiedatabases automatisch te scheiden (heise online, 25 jul 2025). De les: een instructie in een prompt is geen slot. Of een agent schade kan aanrichten, hangt af van de software die hij bedient. In bedrijfssoftware blijft een fout niet in de code, ze bereikt je klant. De acht checks hieronder gelden voor alle software die je aan een agent overlaat. Aan het eind zie je hoe Time Momentum elk punt invult.

Stand 18 okt 2026

1. Een interface die de agent kan lezen

Een agent die door schermen klikt of HTML uitleest, gokt. Kijk of er een command line of API is die JSON teruggeeft en haar eigen schema toont: welke commando's er zijn, welke velden verplicht zijn, welke waarden zijn toegestaan. Ook fouten moeten machineleesbaar zijn, met een code die de agent vertelt of hij de aanroep moet verbeteren, moet wachten of jou moet vragen.

Controleer ook de dekking. Wat alleen in de interface werkt, doet de agent via een omweg of helemaal niet.

2. Gescheiden rechten

De agent heeft een eigen sleutel nodig die je op elk moment kunt intrekken, niet je wachtwoord. Nog beter als de sleutel wordt ingewisseld voor een kortlevend token in plaats van met elk verzoek mee te reizen.

Sommige handelingen horen niet in handen van een agent: nieuwe sleutels aanmaken, het account verwijderen, het wachtwoord wijzigen. De software moet ze voor agenttoegang op de server blokkeren, niet alleen in de documentatie afraden.

3. Bevestiging voor alles wat onomkeerbaar is

Een definitieve factuur kun je niet terugnemen, alleen crediteren. De software moet zulke stappen als destructief markeren en alleen met uitdrukkelijke bevestiging uitvoeren. Die bevestiging moet in de tool zelf zitten; een zin in de prompt beschermde de database bij Replit niet.

4. Proefrun

Voordat de agent iets belangrijks wijzigt, moet hij je precies kunnen laten zien wat hij zou versturen: methode, adres, body. Je keurt dan goed wat je hebt gezien, niet een voornemen in woorden.

5. Idempotentie

Agents proberen opnieuw. Valt de verbinding weg, dan probeert de agent het nog eens, en zonder bescherming staat de tijdregistratie of betaling twee keer in het systeem. Kijk of het aanmaken van een record een eigen ID accepteert waarmee de server een herhaling herkent, en of bulkbewerkingen volledig of helemaal niet slagen. Waar een stap niet herhaald mag worden, moet de foutmelding dat zeggen.

6. Navolgbare logs

Achteraf wil je weten wat er is gebeurd. Dat betekent: elke handeling is een leesbaar commando dat je zelf kunt uitvoeren, verzoeken kunnen op verzoek worden gelogd zonder de sleutel prijs te geven, en je ziet welke sleutel wanneer actief was. Eén sleutel per agent maakt dat eenduidig.

7. Ongedaan maken

Fouten gebeuren. Het gaat erom hoe ze worden hersteld: concepten bewerken of verwijderen, boekingen corrigeren, uitgegeven stukken crediteren, met een spoor in plaats van stil overschrijven. Wat al gefactureerd is, moet vergrendeld zijn, zodat een correctie op één plek geen afgeronde factuur verandert.

8. Abonnementslimieten

Loopt de agent tegen een limiet aan, zoals een functie buiten je abonnement of te veel verzoeken, dan moet de software dat duidelijk zeggen: met een reden en of wachten helpt of jij moet beslissen. Een agent die een limiet voor een fout aanziet, blijft het proberen of zoekt een omweg.

De acht checks in Time Momentum

Je agent bedient Time Momentum via de command line tm.

  • Welke commando's zijn er, welke zijn destructief?tm --json
  • Welke velden heeft een factuur?tm schema invoices --json
  • Laat me het verzoek zien voordat je hem definitief maakttm invoices finalize <invoice-id> --dry-run
  • Ziet er goed uit, maak hem definitieftm invoices finalize <invoice-id> --yes
  • Registreer de 90 minuten van vanochtendtm timers add --project-id <project-id> --started-at "today 09:00" --duration 1:30 --client-id <uuid>
  • Crediteer de factuurtm invoices cancel <invoice-id> --reason "Wrong service period" --yes
  • Welke sleutel was het laatst actief?tm api-keys list

Toegang voor agents hoort bij Pro.

CheckIn Time Momentum
1. InterfaceElke API-operatie heeft precies één tm-commando, en een test controleert dat bij elke wijziging. Uitvoer en fouten als JSON, tm schema toont commando's en velden, en de exitcode vertelt de agent of hij de aanroep moet verbeteren, jou moet vragen, moet wachten of opnieuw moet proberen.
2. Gescheiden rechtenEén API-sleutel per agent, aangemaakt in de webapp en op elk moment in te trekken. tm wisselt hem in voor een token dat één uur geldig is; de sleutel intrekken beëindigt de sessie meteen. Sleutels aanmaken en het account verwijderen zijn voor deze toegang op de server geblokkeerd. Een leessleutel bereikt alleen geselecteerde leesroutes en de timers.
3. BevestigingDefinitief maken, crediteren, verwijderen en intrekken zijn als destructief gemarkeerd. In een terminal vraagt tm het na; een agent heeft een uitdrukkelijke --yes nodig, anders stopt tm zonder iets te versturen. De server weigert een e-factuur met ontbrekende verplichte gegevens, en die blijft een concept.
4. Proefrun--dry-run toont methode, adres en body van het verzoek zonder het te versturen en zonder de sleutel.
5. IdempotentieTijdregistraties accepteren een eigen ID (--client-id), zodat herhalingen geen dubbele registraties maken. Een gecombineerde betaling over meerdere facturen slaagt volledig of helemaal niet. Mislukt het opbouwen van een factuur nadat het concept bestaat, dan noemt de fout het concept waarmee je verder kunt.
6. LogsElke handeling is een leesbaar commando dat je zelf kunt uitvoeren. --verbose logt elk verzoek, nooit de sleutel of het token. De sleutellijst toont wanneer elke sleutel het laatst is gebruikt. Een apart activiteitenlog per agent is er niet.
7. Ongedaan makenConcepten kunnen worden bewerkt en verwijderd, betalingen gecorrigeerd of verwijderd. Standaard kan een definitieve factuur alleen worden gecrediteerd, met een eigen creditnota. Tijd op definitieve facturen en vastgelegde urenverantwoordingen is vergrendeld.
8. AbonnementslimietenEen Pro-functie zonder Pro geeft upgrade_required met de naam van de functie, te veel verzoeken geven rate_limited met een wachttijd. De exitcode vertelt de agent of hij jou moet vragen of moet wachten.

Wat geen software voor je doet

Geef elke agent een eigen sleutel met zo weinig rechten als nodig, een leessleutel waar lezen genoeg is. Sta onomkeerbare stappen alleen toe als je erom vraagt, en bekijk de proefrun voordat je goedkeurt. Toegang voor agents tot Time Momentum hoort bij Pro.

Meer over dit onderwerp

  • De beste CRM voor AI-agents

    Wat mensen bedoelen met een CRM voor AI-agents, en waar de grote CRM's en Time Momentum passen.

    Gids lezen
  • MCP of CLI voor AI-agents

    Waarom een command line vaak beter bij agents past dan een MCP-server.

    Gids lezen

Veelgestelde vragen

Wat is een AI CRM?

Ofwel een CRM met ingebouwde AI-functies, zoals voorgeschreven e-mails of lead scoring, ofwel een CRM dat je eigen AI-agent kan bedienen via een API, een MCP-server of een command line. Deze gids gaat over de tweede soort.

Waarom wiste de agent van Replit de database?

Volgens de berichten voerde hij tijdens een code freeze zonder toestemming het databasecommando npm run db:push uit. Preview, tests en productie deelden toen dezelfde database (heise online). De instructie om niets te wijzigen stond alleen in het gesprek, niet in de software.

Is het genoeg om de agent te zeggen dat hij niets mag verwijderen?

Nee. Een prompt is een verzoek, geen slot. Alleen grenzen die de server afdwingt beschermen je: ontbrekende rechten, verplichte bevestiging, vergrendelde gefactureerde gegevens.

Wat als mijn agent in Time Momentum iets fout doet?

Je bewerkt of verwijdert concepten, corrigeert betalingen en crediteert een definitieve factuur met een eigen creditnota. Gefactureerde tijd blijft daarbij steeds vergrendeld.

Laat je agent veilig factureren

  • 30 dagen Pro
  • Geen creditcard
  • Daarna verder met Free