Human-in-the-Loop
für KI-Agenten
Dein KI-Agent erstellt ein Formular per API — einen Empfänger für eine schnelle Freigabe oder Tausende für eine unternehmensweite Umfrage. Jede Person bekommt eine eigene URL, die du über deine Kanäle versendest: E-Mail, Slack oder eingebettet auf deiner Seite. Sobald sie antworten, bekommt dein Agent strukturiertes JSON zurück.
So läuft's ab
Dein Agent stößt es an. Ein Mensch antwortet. Dein Agent macht weiter.
┌─────────────┐
│ KI-Agent │ "Ich brauche menschlichen Input"
└──────┬──────┘
│
1. POST /api/v1/forms
│
▼
┌───────────────┐
│ Let's Clarify │ Erzeugt individuelle URLs
└──────┬────────┘
│
2. URL teilen ───► E-Mail / Slack / Einbetten
│
▼
┌─────────────┐
│ Mensch │ Füllt Formular im Browser aus
└──────┬──────┘
│
3. Sendet Antwort ab
│
▼
┌───────────────┐
│ Let's Clarify │ Speichert strukturiertes JSON
└──────┬────────┘
│
4. Webhook / GET Ergebnisse
│
▼
┌─────────────┐
│ KI-Agent │ Setzt Workflow fort ✓
└─────────────┘
Drei Schritte. Strukturierte Daten.
Keine SDKs, kein Frontend nötig. Nur HTTP und ein API Key.
Formular erstellen
Sende dein Schema und Kontext per POST an die API. Zurück bekommst du ein Form-Token und individuelle URLs für jeden Empfänger.
Link verschicken
Verteile die URL per E-Mail, Slack, WhatsApp — über jeden Kanal. Jeder Empfänger bekommt seinen eigenen Link.
Strukturiertes JSON erhalten
Frag die Ergebnisse per API ab oder empfang einen Webhook. Jede Antwort entspricht exakt deinem Schema.
Live-Beispiel
Ein API-Aufruf. Ein Formular. Strukturiertes JSON zurück.
Dein KI-Agent organisiert das Team-Offsite. Er hat den Veranstaltungsort gebucht, Kalendereinladungen verschickt und den Transport organisiert. Aber er kennt nicht die Essensvorlieben aller — und erraten kann er sie auch nicht. Also erstellt er per API-Aufruf ein Formular, schickt jeder Person einen eigenen Link und bekommt strukturiertes JSON mit genau den Daten zurück, die er für die Catering-Bestellung braucht.
API Key holen
curl -X POST https://letsclarify.ai/api/v1/register \
-H "Content-Type: application/json" \
-d '{ "name": "My Agent", "email": "you@example.com" }'
{
"api_key": "lc_...",
"warning": "Store securely. Shown only once."
}
Keine Kreditkarte. Kein Account-Dashboard. Nur ein API Key.
curl -X POST https://letsclarify.ai/api/v1/forms \
-H "Content-Type: application/json" \
-H "Authorization: Bearer lc_..." \
-d '{
"title": "Team Lunch Preferences",
"context_markdown":
"**Friday Team Lunch — March 21st**\n\nOrdering catering for **Loft 42**.\nShare your preferences by Wednesday.",
"recipient_count": 12,
"retention_days": 3,
"webhook_url": "https://your-agent.ai/hook",
"schema": [
{ "id": "name", "type": "text",
"label": "Your name", "required": true },
{ "id": "cuisine", "type": "select",
"label": "Preferred cuisine",
"required": true,
"options": [
{ "value": "italian", "label": "Italian" },
{ "value": "japanese", "label": "Japanese" },
{ "value": "mexican", "label": "Mexican" },
{ "value": "indian", "label": "Indian" }
] },
{ "id": "restrictions",
"type": "checkbox_group",
"label": "Dietary restrictions",
"options": [
{ "value": "vegetarian", "label": "Vegetarian" },
{ "value": "vegan", "label": "Vegan" },
{ "value": "gluten_free", "label": "Gluten-free" },
{ "value": "halal", "label": "Halal" }
] }
]
}'
{
"form_token": "BVyzfoQB8IqZvt1OfUI-3fM9iGg3xdTnDutienigIPk",
"delete_token": "NGgulTYu-sCtwll53a8o2hcQjwV3dVIFGr7ctfpuPOU",
"base_url_template":
"https://letsclarify.ai/f/BVyzfoQB8IqZ.../{recipient_uuid}",
"poll_url":
"https://letsclarify.ai/api/v1/forms/BVyzfoQB8IqZ.../results",
"summary_url":
"https://letsclarify.ai/api/v1/forms/BVyzfoQB8IqZ.../summary",
"delete_url":
"https://letsclarify.ai/api/v1/forms/BVyzfoQB8IqZ...",
"recipients": [
"9c95f23c-878b-441b-8e1a-5a6af2f2c35f",
"8859a8f5-e28c-465b-9972-e641db1c61dd",
"0f56c698-4088-4e0e-9c60-ed21ae26cf28",
// ...12 unique UUIDs total
]
}
Team Lunch Preferences
Friday Team Lunch — March 21st
We're ordering catering for the offsite at Loft 42. Please share your food preferences so we can place the order by Wednesday.
{
"name": "",
"cuisine": "",
"restrictions": []
}
Was dein Server empfängt
Wenn ein Mensch das Formular absendet, schickt Let's Clarify strukturiertes JSON per POST an deine Webhook-URL.
{
"form_token": "BVyzfoQB8IqZvt1O...",
"recipient_uuid": "9c95f23c-878b-...",
"submitted_at": "2025-03-19T14:32:07Z",
"response_json": {
"name": "Alice Chen",
"cuisine": "japanese",
"restrictions": ["vegetarian"]
}
}
Automatische Wiederholung mit exponentiellem Backoff. SSRF-Schutz per DNS-Validierung. HTTPS erforderlich.
Unterstützte Typen: text, textarea, checkbox, checkbox_group, radio, select, file
Oder direkt einbetten
Formulare in jede beliebige Seite einbinden. Das Widget übernimmt Rendering, Validierung, Datei-Uploads und Absenden. Kein extra CSS nötig.
<script src="https://letsclarify.ai/embed.js"></script>
<div data-letsclarify-form="{token}"
data-letsclarify-recipient="{uuid}"></div>
Zwei Zeilen Code. Mehr braucht es nicht. Funktioniert in jeder HTML-Seite, React, Vue oder statischen Seiten.
Install the Skill
Give your AI agent the ability to collect human input — one command.
claude install github:heisee/LetsClarify-Skill
Works with Claude Code, or any agent that supports skill files.
Alles, was dein Agent braucht
Eine API. Alle Funktionen. Kein Frontend nötig.
Datei-Uploads
Bis zu 10 Dateien, je 10 MB. MIME-Erkennung per Magic Bytes.
Webhooks
Automatischer POST bei Absendung. Retry mit Backoff. SSRF-geschützt.
Feld-Validierung
Regex, Min/Max-Länge, Pflichtfelder, Min/Max-Auswahl.
Cursor-Paginierung
Stabile Cursor. Filter nach Status oder letzter Änderung.
Theme-Farben
Eigene Hex-Farbe pro Formular. Das Widget passt sich automatisch an.
Markdown-Kontext
Formatierter Kontext über den Feldern. Überschriften, Listen, Code.
Viele Empfänger
Bis zu 10.000 individuelle URLs pro Formular. Jederzeit per API erweiterbar.
Automatischer Ablauf
1 bis 365 Tage Speicherdauer. Danach werden Daten und Dateien gelöscht.
Korrektur möglich
Empfänger können ihre Antwort aktualisieren. Es zählt immer die letzte.
7 Feldtypen
text, textarea, select, radio, checkbox, checkbox_group, file.
Embed Widget
Einfach JS einbinden. Kein Build-Schritt. Läuft sofort.
Vorausgefüllte Werte
Felder pro Empfänger vorbelegen. Eigene UUIDs möglich.
Sofort löschbar
Mit Delete-Token löschen. Alle Daten sofort und dauerhaft entfernt.
Funktioniert mit jedem Agenten
Reines HTTP. Kein SDK nötig. Hier ein Formular in drei Sprachen.
import requests
resp = requests.post(
"https://letsclarify.ai/api/v1/forms",
headers={"Authorization": f"Bearer {api_key}"},
json={
"title": "Approve budget",
"recipient_count": 1,
"schema": [{"id": "ok", "type": "radio",
"label": "Approved?",
"options": [{"value": "yes"}, {"value": "no"}]},
{"id": "limit", "type": "text",
"label": "Approved up to ($)",
"placeholder": "50000"}]
}
)
url = resp.json()["base_url_template"]
Gemacht für KI-Workflows
Immer wenn dein Agent einen Menschen im Loop braucht.
Freigaben
Menschliches OK für KI-generierte Vorschläge, Budgets oder Pläne einholen, bevor es weitergeht.
Datenerfassung
Strukturierte Informationen von Personen einsammeln, die keinen API-Zugang oder Entwickler-Tools haben.
Menschliche Prüfung
KI-Ergebnisse von Menschen prüfen lassen, bevor irreversible Aktionen ausgeführt werden.
Entscheidungen
Menschen zwischen Optionen wählen lassen, die dein Agent vorbereitet hat — mit vollem Kontext.
Dokumentenprüfung
Dokumente zur Durchsicht vorlegen und strukturiertes Feedback einsammeln.
Einwilligung
Explizite Zustimmung zu Bedingungen einholen, bevor ein Workflow fortgesetzt wird.
Sicherheit als Grundprinzip
Kein Tracking. Daten werden automatisch gelöscht.
Nur HTTPS
Gesamter Datenverkehr verschlüsselt. Webhook-URLs müssen HTTPS sein.
Automatische Löschung
Alle Daten werden nach der eingestellten Frist gelöscht. Keine unbefristete Speicherung.
DSGVO-konform
Datenminimierung. Kein Marketing. Kein Profiling. Keine Cookies.
Kein Tracking
Keine Analyse-Tools. Kein Fingerprinting. Keine Drittanbieter-Skripte.
Offen. Fair. Rate-Limited.
Keine Kreditkarte. Kein Abo. Einmal registrieren und los.
| Endpunkt | Limit | Zeitfenster |
|---|---|---|
POST /api/v1/register |
3 Anfragen | 1 Stunde |
POST /api/v1/forms |
10 Anfragen | 1 Minute |
GET /api/v1/forms/* |
60 Anfragen | 1 Minute |
GET /api/v1/embed/* |
30 Anfragen | 1 Minute |
POST /api/v1/embed/* |
20 Anfragen | 1 Minute |
Bei Überschreitung kommt HTTP 429 mit Retry-After Header.
Häufige Fragen
Bereit loszulegen?
API Key holen und in unter einer Minute starten.
API Key holen →Keine Kreditkarte. Kein Dashboard. Nur curl und ein API Key.