Eighty
← Blog

Claude Code als AI-agent inzetten zoals ClickUp: zo bouw je een autonome taakverwerker

26 mei 2026/4 min lezen/Door de Eighty redactie

ClickUp vervangt mensen met AI-agents. Wat kun jij daarmee?

Negen jaar oud, honderden ontslagen medewerkers, duizenden AI-agents ingezet. ClickUp maakte groot nieuws door openlijk te zeggen dat ze repetitief werk structureel overhevelen naar AI-agents. Geen tijdelijk experiment, maar een strategische herstructurering.

Wat ClickUp doet met enterprise-budget, kun jij al vandaag doen in je eigen SaaS-project. Het principe is hetzelfde: een agent krijgt een taak, voert die zelfstandig uit, en rapporteert terug. Geen handmatig klikken, geen toezicht per stap.

Wat betekent dit voor jouw project?

Als jij een SaaS bouwt waarbij iets repetitief of regelmatig moet gebeuren, zoals nieuwe aanmeldingen verwerken, rapporten genereren, data valideren of e-mails versturen, dan kun je Claude Code inzetten als die agent. Niet als chatbot die je antwoorden geeft, maar als zelfstandige werker die een taak oppakt en afmaakt.

Vanavond kun je dit concreet bouwen: een Claude Code-agent die een map met inkomende bestanden bewaakt, ze verwerkt en het resultaat wegschrijft. Kleine versie van wat ClickUp op grote schaal doet.

Hoe pak je het aan met Claude Code?

Stap 1: Definieer de taak die je wilt automatiseren

Kies één terugkerende taak in je project. Goede voorbeelden:

  • Nieuwe CSV-uploads van klanten omzetten naar databaserecords
  • Inkomende support-e-mails samenvatten en categoriseren
  • Elke nacht een rapport genereren op basis van Supabase-data

Voor dit voorbeeld: een agent die tekstbestanden in een map leest, ze samenvatten en de samenvatting wegschrijft.

Stap 2: Geef Claude Code de structuur via een CLAUDE.md

Maak eerst een CLAUDE.md in je project met de context die de agent altijd nodig heeft:

# Agent-context

Dit project bevat een autonome verwerker voor inkomende tekstbestanden.

- Inkomende bestanden staan in: /inbox
- Verwerkte output gaat naar: /processed
- Gebruik altijd UTF-8 encoding
- Schrijf logs naar: /logs/agent.log
- Nooit bestanden verwijderen, alleen verplaatsen

Dit is de "geheugen" van je agent. Claude Code leest dit automatisch aan het begin van elke sessie.

Stap 3: Schrijf de agent-prompt voor Claude Code

Gebruik deze prompt in Claude Code om de agent te bouwen:

Bouw een Python-script agent.py dat de map /inbox bewaakt. Voor elk nieuw .txt bestand in die map:

  1. Lees de inhoud
  2. Maak een samenvatting van maximaal 3 zinnen
  3. Schrijf de samenvatting weg naar /processed/[bestandsnaam]-summary.txt
  4. Log de actie met timestamp naar /logs/agent.log
  5. Verplaats het originele bestand naar /processed/originals/

Gebruik de watchdog library om de map te bewaken. Voeg foutafhandeling toe zodat een kapot bestand de agent niet stopt. Maak ook een requirements.txt.

Claude Code schrijft nu het volledige script. Typisch resultaat:

import time
import logging
from pathlib import Path
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler

logging.basicConfig(
    filename="logs/agent.log",
    level=logging.INFO,
    format="%(asctime)s - %(message)s"
)

class InboxHandler(FileSystemEventHandler):
    def on_created(self, event):
        if event.is_directory or not event.src_path.endswith(".txt"):
            return
        self.verwerk(Path(event.src_path))

    def verwerk(self, pad: Path):
        try:
            tekst = pad.read_text(encoding="utf-8")
            samenvatting = self.maak_samenvatting(tekst)

            output_pad = Path("processed") / f"{pad.stem}-summary.txt"
            output_pad.write_text(samenvatting, encoding="utf-8")

            archief = Path("processed/originals") / pad.name
            pad.rename(archief)

            logging.info(f"Verwerkt: {pad.name}")
        except Exception as e:
            logging.error(f"Fout bij {pad.name}: {e}")

    def maak_samenvatting(self, tekst: str) -> str:
        zinnen = tekst.strip().split(". ")
        return ". ".join(zinnen[:3]) + "."

if __name__ == "__main__":
    for map_naam in ["inbox", "processed", "processed/originals", "logs"]:
        Path(map_naam).mkdir(parents=True, exist_ok=True)

    observer = Observer()
    observer.schedule(InboxHandler(), path="inbox", recursive=False)
    observer.start()
    print("Agent actief. Ctrl+C om te stoppen.")
    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()

Stap 4: Vervang de samenvatting-logica met een echte API-call

De samenvatting-functie hierboven is een placeholder. Vraag Claude Code om die te upgraden:

Vervang de maak_samenvatting functie in agent.py door een aanroep naar de Anthropic API. Gebruik claude-3-haiku-20240307 want dat is snel en goedkoop. De API-sleutel haalt het script op uit de omgevingsvariabele ANTHROPIC_API_KEY. De prompt is: "Vat de volgende tekst samen in maximaal 3 Nederlandse zinnen:"

Stap 5: Draai de agent als achtergrondproces

Vraag Claude Code tot slot:

Schrijf een start-agent.sh bash-script dat de virtual environment activeert, agent.py start als achtergrondproces, en het PID opslaat in agent.pid. Voeg ook een stop-agent.sh toe dat het proces netjes stopt.

# start-agent.sh
#!/bin/bash
source venv/bin/activate
nohup python agent.py > logs/stdout.log 2>&1 &
echo $! > agent.pid
echo "Agent gestart met PID $(cat agent.pid)"

Wat te checken na afloop

  • Gooi een testbestand in de /inbox map. Verschijnt er binnen 2 seconden een -summary.txt in /processed?
  • Open logs/agent.log. Staat er een regel met timestamp en bestandsnaam?
  • Staat het originele bestand in /processed/originals/ en niet meer in /inbox?
  • Gooi een leeg bestand of een bestand met rare tekens in de inbox. Blijft de agent draaien zonder te crashen?

Als dat allemaal klopt, heb je een werkende autonome agent. Klein van schaal, maar hetzelfde principe als waar ClickUp miljoenen in steekt.


Wil je dit zelf leren?

Bij Eighty leer ik je Claude Code in het Nederlands gebruiken, van installatie tot een werkend SaaS-product. Wekelijks een nieuwe module, persoonlijke begeleiding.