Zurück zum Blog
Engineering

Die Veille API in einem autonomen Paperclip-Unternehmen nutzen

Josselin Liebe
Josselin Liebe

Paperclip ist eine Open-Source-Plattform für autonome KI-Unternehmen. Du definierst ein Ziel, stellst Agenten ein - Claude, Codex, OpenClaw oder beliebige HTTP-kompatible Bots - organisierst sie in einem Org-Chart und lässt sie arbeiten. Heartbeats wecken Agenten nach einem Zeitplan auf. Tickets erfassen jede Entscheidung. Budgets begrenzen, was jeder Agent ausgeben kann.

Wenn diese Agenten Nutzerdaten berühren - Registrierungen, Leads, Zahlungen, Kontaktaufnahmen - müssen sie das Empfangene validieren. Ein KI-gesteuerter Lead-Qualifizierungsworkflow, der unverifizierte E-Mails verarbeitet, erzeugt Rauschen. Ein Abrechnungsagent, der ungeprüfte IBANs akzeptiert, produziert fehlgeschlagene Transaktionen. Eine Registrierungsautomatisierung, die Wegwerf-E-Mail-Adressen ignoriert, bläst deine Konversionsmetriken mit Geisterkonten auf.

Dieser Artikel zeigt, wie die Veille API mit Paperclip-Agenten verbunden wird, um Datenqualitätsprüfungen in jeder Phase eines autonomen Unternehmens hinzuzufügen.

Wo Veille in ein Paperclip-Unternehmen passt

Veille bietet vier Validierungs-Endpunkte:

Endpunkt Was validiert wird
GET /v1/intelligence/email Wegwerf-Erkennung, Risikobewertung, SMTP-Prüfung
GET /v1/intelligence/domain Domain-Alter, DNS, Bedrohungssignale
GET /v1/intelligence/ip VPN/Proxy/Tor, Bedrohungsbewertung, Geolokalisierung
GET /v1/vat/iban IBAN-Gültigkeit, BIC, Bankname, SEPA-Mitgliedschaft

Jeder Endpunkt akzeptiert einen einzelnen Abfrageparameter und gibt eine strukturierte JSON-Antwort zurück. Jeder Paperclip-Agent, der eine HTTP-GET-Anfrage stellen kann - einschließlich des integrierten HTTP-Agenten-Typs - kann diese direkt aufrufen.

Das natürlichste Muster ist ein dedizierter Datenqualitäts-Agent, der zwischen dem Roheingabe (Formularübermittlungen, CRM-Importe, Webhook-Ereignisse) und den Agenten sitzt, die auf diese Daten reagieren (Kontaktaufnahme, Abrechnung, Bereitstellung). Denk daran als Filterschicht in deinem Org-Chart.

Anwendungsfall 1 - Lead-Qualifizierung

Szenario: Dein CMO-Agent führt ausgehende Kampagnen durch. Leads kommen über Formulare, importierte CSV-Dateien oder Drittanbieter-Integrationen herein. Bevor ein Lead an den Outreach-Agenten weitergegeben wird, entfernt eine Datenqualitätsprüfung Adressen, die nie konvertieren werden.

Position im Org-Chart: Zwischen dem CRM-Import-Schritt und dem Outreach-Agenten.

Veille-Aufrufe:

  • GET /v1/intelligence/email?query={{email}} - disposable und risk_score prüfen
  • GET /v1/intelligence/domain?query={{domain}} - domain_age_days für kürzlich registrierte Domains prüfen

Entscheidungslogik:

IF email.disposable == true        → Lead verwerfen
IF email.risk_score >= 75          → Lead verwerfen
IF domain.domain_age_days < 30     → zur manuellen Überprüfung markieren
ELSE                               → an Outreach-Agenten weitergeben

Heartbeat-Konfiguration: Führe die Prüfung als Heartbeat beim Datenqualitäts-Agenten aus, sobald neue Leads eintreffen, oder nach einem Zeitplan (alle 4 Stunden, jede Nacht vor dem Outreach-Batch).

Ticket-Ablauf:

[CRM Import Agent]
  erstellt Ticket → "Neuer Lead-Batch: 240 Datensätze"
        ↓
[Data Quality Agent]
  validiert jede E-Mail über die Veille API
  erstellt Ticket → "Batch bereinigt: 198 bestanden, 42 verworfen"
        ↓
[Outreach Agent]
  verarbeitet 198 verifizierte Leads

Ein einzelnes Paperclip-Ticket erfasst jeden Veille-API-Aufruf und sein Ergebnis. Das Audit-Log zeigt genau, welcher Lead verworfen wurde und warum - disposable: true, risk_score: 91 oder domain_age_days: 3.

Anwendungsfall 2 - Betrugserkennungbei Registrierungen

Szenario: Deine Plattform bietet eine kostenlose Testphase an. Ein Registrierungsautomatisierungs-Agent stellt neue Konten bereit. Ohne einen Validierungsschritt können Wegwerf-E-Mails und VPN-IPs unbegrenzte gefälschte Konten erstellen, Testressourcen verbrauchen und Aktivierungsmetriken verzerren.

Position im Org-Chart: Zwischen dem Webhook-Empfänger und dem Bereitstellungs-Agenten.

Veille-Aufrufe:

  • GET /v1/intelligence/email?query={{email}} - disposable, risk_score, smtp_valid prüfen
  • GET /v1/intelligence/ip?query={{ip}} - is_vpn, is_proxy, threat_score prüfen

Zusammengesetzte Bewertungslogik:

composite = (
    email["risk_score"] * 0.60
    + ip["threat_score"] * 0.40
)

if email["disposable"] or composite >= 75:
    action = "reject"
elif composite >= 50:
    action = "flag_for_review"
else:
    action = "provision"

Diese Logik läuft im Datenqualitäts-Agenten, bevor ein Bereitstellungs-Ticket erstellt wird. Der Agent postet das Ergebnis als Ticket-Kommentar mit der vollständigen API-Antwort für die Rückverfolgbarkeit.

Eine vollständige Erklärung dieses Erkennungsmusters findest du unter Wegwerf-E-Mails in OpenClaw blockieren - dieselben Veille-Endpunkte funktionieren in jedem HTTP-fähigen Agenten, einschließlich OpenClaw innerhalb von Paperclip.

Anwendungsfall 3 - Finanzielle Validierung

Szenario: Dein Abrechnungs- oder Auszahlungsagent verarbeitet IBAN- und USt-Nummern während des B2B-Onboardings. Ungültige IBANs verursachen fehlgeschlagene Überweisungen. Inaktive Umsatzsteuer-Identifikationsnummern erzeugen Steuerkonformitätsprobleme.

Position im Org-Chart: Der Abrechnungsagent ruft Veille direkt auf, bevor Zahlungsdaten geschrieben werden.

Veille-Aufrufe:

  • GET /v1/vat/iban?query={{iban}} - valid, in_sepa_zone, bank_name prüfen
  • GET /v1/vat?query={{vat_number}} - valid, company_name, country_code prüfen

Entscheidungslogik:

IF iban.valid == false               → Zahlungseinrichtung ablehnen, COO benachrichtigen
IF iban.in_sepa_zone == false        → markieren: Nicht-SEPA-Überweisung erfordert manuelle Genehmigung
IF vat.valid == false                → lokalen Mehrwertsteuersatz berechnen, kein Reverse-Charge anwenden
IF vat.country_code != customer.country → zur Compliance-Prüfung markieren
ELSE                                 → mit Onboarding fortfahren

Ticket-Beispiel:

#1087 - Neuen Kunden onboarden: Acme GmbH
Abrechnungsagent - In Bearbeitung

IBAN: DE89370400440532013000
  → valid: true, in_sepa_zone: true, bank_name: Commerzbank

VAT: DE123456789
  → valid: true, company_name: Acme GmbH, country_code: DE

Ergebnis: Onboarding genehmigt, Reverse-Charge angewendet.

Jedes Validierungsergebnis ist Teil des Ticket-Threads und des unveränderlichen Audit-Logs. Falls eine Compliance-Prüfung jemals einen Nachweis erfordert, dass eine USt-Identifikationsnummer zum Zeitpunkt des Onboardings aktiv war, sind die Daten vorhanden.

Den HTTP-Agenten einrichten

Paperclip unterstützt jeden Agenten, der einen Heartbeat empfangen kann. Für Veille-API-Aufrufe ist die einfachste Einrichtung ein Bash- oder HTTP-Agent.

SKILLS.md für den Datenqualitäts-Agenten:

# Data Quality Agent

## Role
Validate email addresses, IP addresses, and financial identifiers before
they are passed to other agents in the org.

## Veille API
Base URL: https://api.veille.io/v1
Authentication: x-api-key header (use the VEILLE_API_KEY environment variable)

## Endpoints available
- Email validation: GET /v1/intelligence/email?query={email}
- Domain validation: GET /v1/intelligence/domain?query={domain}
- IP validation: GET /v1/intelligence/ip?query={ip}
- IBAN validation: GET /v1/vat/iban?query={iban}
- VAT validation: GET /v1/vat?query={vat_number}

## Decision thresholds
- email.disposable == true → discard
- email.risk_score >= 75 → discard
- email.risk_score 50–74 → flag for review
- ip.is_vpn or ip.is_proxy → flag for review
- ip.threat_score >= 75 → discard
- iban.valid == false → reject
- vat.valid == false → do not apply reverse charge

## Output
Post results as a ticket comment with the full API response.
Create a summary line: "Validated: {result} - {reason}".

Beispiel-Bash-Agent-Aufruf:

#!/bin/bash
# Wird vom Datenqualitäts-Agenten beim Heartbeat ausgeführt

EMAIL=$1
API_KEY=$VEILLE_API_KEY

response=$(curl -s \
  "https://api.veille.io/v1/intelligence/email?query=${EMAIL}" \
  -H "x-api-key: ${API_KEY}")

disposable=$(echo "$response" | jq -r '.disposable')
risk_score=$(echo "$response" | jq -r '.risk_score')

if [ "$disposable" = "true" ] || [ "$risk_score" -ge 75 ]; then
  echo "REJECT: disposable=${disposable}, risk_score=${risk_score}"
  exit 1
else
  echo "PASS: risk_score=${risk_score}"
  exit 0
fi

Der Exit-Code signalisiert Paperclip, ob der Workflow fortgesetzt werden soll (0) oder ob er angehalten und ein Überprüfungs-Ticket erstellt werden soll (1).

Org-Chart-Muster

Ein Paperclip-Unternehmen, das Veille-Validierung über mehrere Workflows hinweg nutzt, könnte so aussehen:

CEO (Claude)
├── CMO (OpenClaw)
│   ├── Lead Import Agent
│   └── Outreach Agent
├── CTO (Cursor)
│   ├── Data Quality Agent ← calls Veille API
│   └── Provisioning Agent
└── CFO (Claude)
    └── Billing Agent ← calls Veille IBAN/VAT

Der Datenqualitäts-Agent dient mehreren Teams: Er validiert Leads für die Outreach-Pipeline des CMO und validiert Registrierungen für den Bereitstellungsfluss des CTO. Ein Agent, eine Budgetlinie, zentralisierte Validierungslogik.

Kostentransparenz

Paperclip verfolgt die Kosten pro Agent. Veille-API-Aufrufe haben vorhersehbare Kosten pro Anfrage, sodass du das monatliche Budget des Datenqualitäts-Agenten basierend auf dem erwarteten Volumen schätzen kannst.

Wenn deine Plattform beispielsweise 10.000 Registrierungen pro Monat verarbeitet und du zwei Veille-Endpunkte pro Registrierung aufrufst (E-Mail + IP), weißt du genau, wie viele API-Anfragen du einplanen musst. Setze das monatliche Ausgabelimit des Agenten in Paperclip entsprechend. Wenn der Agent das Limit erreicht, stoppt er automatisch - keine Überschreitungen.

Verwandte Artikel