Support
Support-Fragen aus deiner eigenen Dokumentation beantworten
Erstelle ein LiveDoc, lade Helpcenter und internes Runbook, rufe die Passagen ab, die den Ticket beantworten, und lass das Modell nur aus diesen Belegen antworten.
Prompt kopieren
Ersetze die Felder in eckigen Klammern und füge den Prompt in Claude Code, Codex oder eine KI mit Terminalzugriff ein. Sie installiert den Felo-Skill, fragt vor Credits und führt den Workflow aus.
Beantworte diese Support-Frage ausschließlich mit unserer Dokumentation: [Kundenfrage]. Wissensbasis: [Help-Center-URL oder LiveDoc short_id]. Eskalationsweg: [Verantwortlicher oder Queue]. Verfügbarer Kundenkontext: [Plan, Region, Produkt] (frage niemals nach Passwörtern oder Zahlungsdaten). Erstelle: 1. Eine direkte Antwort in zwei bis vier Sätzen. 2. Die tragenden Dokumentationsstellen mit Ressourcentitel. 3. Den nächsten Schritt für den Kunden. 4. Eine interne Notiz: genutzte Ressourcen und Relevanzwerte. Regeln: - Antworte nur aus den abgerufenen Stellen. Bei keinem Treffer oder niedriger Relevanz eskaliere; rate niemals. - Erfinde keine Richtlinien, Rückerstattungen, Preise oder Kontomaßnahmen. - Ziehe keine privaten Kundendaten, Zugangsdaten oder Zahlungsinformationen ein. - Frage vorher, bevor du Credits für Ingestion oder Retrieval ausgibst. - Sende die Antwort nicht an den Kunden; gib sie mir zur Prüfung zurück.
Die Kopie enthält auch die Installationsschritte und Sicherheitsregeln.
Das bekommst du
Beispielausgabe eines Laufs. Keine Live-Generierung.
Antwort: Dein Plan verlängert sich am Ersten des Monats. Eine fehlgeschlagene Karte wird drei Tage lang erneut versucht, bevor der Seat pausiert wird.
Quellen: „Häufige Fragen zur Abrechnung“ - https://example.com/help/billing
Wenn das nicht abgedeckt ist: mit der Rechnungs-ID an die Billing-Queue eskalieren.
Die konkreten Aufrufe
Für Entwickler: derselbe Workflow als kopierbarer Code in Ausführungsreihenfolge.
Konkrete API-Aufrufe zeigen
Wissensbasis erstellen
Erstelle die Basis über die LiveDoc API und speichere die short_id.
support.ts const BASE = "https://openapi.felo.ai"; const headers = { Authorization: `Bearer ${process.env.FELO_API_KEY}`, "Content-Type": "application/json", }; async function felo<T>(path: string, body?: unknown): Promise<T> { const res = await fetch(`${BASE}${path}`, { method: body ? "POST" : "GET", headers, body: body ? JSON.stringify(body) : undefined, }); if (!res.ok) throw new Error(`${res.status}: ${await res.text()}`); return res.json() as Promise<T>; } type LiveDocData = { data: { short_id: string } }; const kb = await felo<LiveDocData>("/v2/livedocs", { name: "Support knowledge base", description: "Help center, policy pages, and internal runbooks", }); const kbId = kb.data.short_id; // save this in your configBeispielausgabe
{ "short_id": "PvyKouzJirXjFdst4uKRK3", "name": "Support knowledge base", "description": "Help center, policy pages, and internal runbooks" }Öffentliches Helpcenter laden
Füge die Helpcenter-URL als Ressource im LiveDoc hinzu.
support.ts type UrlResult = { data: { url: string; status: string; fail_reason: string | null; resource_id: string | null; }[]; }; const added = await felo<UrlResult>( `/v2/livedocs/${kbId}/resources/urls`, { urls: [ "https://example.com/help/getting-started", { url: "https://example.com/help/billing", title: "Billing FAQ" }, ], }, ); const failed = added.data.filter((item) => item.status === "failed");Beispielausgabe
[ { "url": "https://example.com/help/getting-started", "status": "success", "resource_id": "res_003" }, { "url": "https://example.com/help/billing", "status": "existed", "resource_id": "res_004" } ]Interne Dokumentation ergänzen
Füge das interne Runbook als Dokument hinzu.
support.ts type ResourceData = { data: { id: string } }; const runbook = `# Refund policy Refunds are available within 30 days of purchase. Requests after 30 days need a manual review by the billing team. `; const policy = await felo<ResourceData>( `/v2/livedocs/${kbId}/resources/doc`, { title: "Refund policy", content: runbook }, ); console.log(policy.data.id); // use this for updatesBelege zur Frage abrufen
Die semantische Suche liefert die relevantesten Passagen und Scores.
support.ts type Hit = { id: string; title: string; content: string; score: number }; async function findEvidence(question: string) { const res = await felo<{ data: Hit[] }>( `/v2/livedocs/${kbId}/resources/retrieve`, { query: question }, ); return res.data.filter((hit) => hit.score >= 0.7).slice(0, 4); } const question = "Can I get a refund after 45 days?"; const hits = await findEvidence(question);Beispielausgabe
[ { "id": "res_005", "title": "Refund policy", "content": "Refunds are available within 30 days of purchase…", "score": 0.92 } ]Nur aus Belegen antworten
Lass das Modell nur die abgerufenen Passagen nutzen und ohne Treffer eskalieren.
support.ts type Completion = { choices: { message: { content: string | null } }[]; usage: { prompt_tokens: number; completion_tokens: number; total_tokens: number }; }; const context = hits .map((hit) => `### ${hit.title}\n${hit.content}`) .join("\n\n"); const completion = await felo<Completion>("/api/v1/chat/completions", { model: "anthropic/claude-haiku-5.5", messages: [ { role: "system", content: "Answer only from the context. If the context does not cover the question, say so and hand the ticket to a human.", }, { role: "user", content: `Context:\n${context}\n\nQuestion: ${question}`, }, ], }); console.log(completion.choices[0].message.content); console.log(completion.usage.total_tokens);Beispielausgabe
"No. The Refund policy says refunds are available within 30 days of purchase, so a request at 45 days needs a manual review by the billing team."
Enthalten
- LiveDoc aus Helpcenter und internem Runbook
- Semantische Suche mit Passagen und Titeln
- Antwort mit zitierbaren Quellen
- Klare Eskalation bei fehlender Abdeckung
Was es nicht macht
- Antwortet nur aus deiner Dokumentation und durchsucht nicht das offene Web
- Führt keine Kontomaßnahmen, Erstattungen oder Planwechsel aus
- Keine privaten Kundendaten oder Zugangsdaten in die Wissensbasis
- Veraltete Dokumentation erzeugt veraltete Antworten; regelmäßig aktualisieren
- Nur Antwortentwurf, kein Versand an Kunden
Fragen
Woher kommt die Antwort?
Nur aus deinem LiveDoc: Helpcenter-Seiten und Runbook. Die Suche liefert Passagen, und der Agent schreibt die Antwort daraus.
Was, wenn die Dokumentation nicht abdeckt?
Eskalation. Keine Treffer oder niedrige Relevanz gelten als nicht abgedeckt, nicht als Erlaubnis zu raten.
Wie bleibt die Wissensbasis aktuell?
Bei Richtlinienänderungen URLs erneut hinzufügen und Dokumente aktualisieren; der Workflow enthält Update- und Audit-Befehle.
Kann ich es in der Ticket-Warteschlange nutzen?
Ja, als Entwurfsschritt. Vor dem Versand an Kunden bleibt eine menschliche Freigabe.
Kann es kontospezifische Fragen beantworten?
Nur aus der Dokumentation nicht. Kontodaten liegen in deinem System; übergib nur den nötigen sicheren Kontext, niemals Zugangsdaten.
Was kostet ein Lauf?
Ingestion und Suche werden nutzungsbasiert abgerechnet; aktuelle Preise stehen auf der Preisseite, und der Prompt fragt vor Ausgaben nach Bestätigung.
Verwandte Workflows
Eine Frage in ein belegtes Research-Briefing verwandeln
Frage das Web, speichere die Seiten hinter der Antwort als Markdown, ergänze, was Praktiker auf X sagen, und halte die Belege in einem LiveDoc fest, das du später erneut durchsuchen kannst.
Workflow öffnenContentEinen täglichen KI-News-Digest bauen, den dein Team wirklich liest
Hole eine belegte News-Zusammenfassung, ergänze Diskussionen von Praktikern auf X, nimm ein Video-Transkript auf, verfasse die Ausgabe in Markdown und archiviere sie im LiveDoc.
Workflow öffnenOfficeEine Rechercheseite in eine Präsentation verwandeln
Extrahiere die Seite, speichere sie als LiveDoc-Kontext, lass die PPT Task API das Deck bauen und frage ab, bis der fertige Link vorliegt.
Workflow öffnenMach es zu deinem
Dasselbe Rezept, angepasst an deinen tatsächlichen Ablauf.
Nur eine Produktlinie
Beschränke dich auf ein Produkt, damit die Basis sauberer bleibt.
Ticket-Klassifikation ergänzen
Klassifiziere zuerst den Fragetyp und suche dann die passende Dokumentation.
Regelmäßiges Audit
Prüfe monatlich defekte Links und alte Richtlinien.
Weiter
Die Referenzseiten hinter diesem Rezept und die nächsten Schritte.