Zum Inhalt springen

Technische Dokumentation

Wie Threada funktioniert, was es benötigt und wie es integriert wird.

Architekturüberblick

  • Crawl — Ruft Seiten Ihrer Domain über Sitemap und interne Links ab
  • Render — Rendert JavaScript-lastige Seiten vor der Extraktion
  • Extract — Extrahiert Inhalte inklusive strukturierter Daten
  • Chunk — Teilt Inhalte in semantische Abschnitte
  • Embed — Wandelt Abschnitte in Vektor-Embeddings um
  • Index — Speichert Embeddings für Retrieval
  • Retrieve — Ruft relevante Abschnitte per semantischer Ähnlichkeit ab
  • Generate — Synthesiert eine Antwort aus den abgerufenen Inhalten
  • Cite — Verlinkt die Quellseite, wenn Inhalte vorhanden sind

Crawling

Was wir crawlen

  • HTML-Seiten aus Sitemap oder internen Links
  • Strukturierte Daten (JSON-LD, schema.org)
  • Manuell hochgeladene Dokumente (PDF, HTML, DOCX)

Crawl-Verhalten

  • Respektiert robots.txt
  • User-Agent identifiziert
  • Rate-limited zur Schonung des Servers
  • Backoff bei 429 oder 5xx

JavaScript-Rendering — Seiten werden vor der Extraktion in einem Headless-Browser gerendert (SPAs, dynamische Inhalte).

Reindexierung

  • Sitemap-Monitoring triggert automatische Reindexierung
  • Manuelle Reindexierung jederzeit möglich
  • Geplante Reindexierung je nach Plan

Retrieval

Semantische Suche Anfragen werden in Embeddings umgewandelt und per semantischer Ähnlichkeit gematcht, nicht nach Keywords.

Relevanz-Schwellen Konfigurierbar. Höhere Schwellen = weniger, aber sicherere Antworten. Niedrigere Schwellen = mehr Abdeckung mit mehr Rückfragen.

Antwortgenerierung

Abgerufene Inhalte dienen als Kontext. Antworten werden ausschließlich aus diesem Kontext erstellt.

Zitate — Wenn Inhalte vorhanden sind, enthalten Antworten einen Link zur Quelle. Bei Unsicherheit gibt es ggf. keine Quelle.

Grenzverhalten

  • Gibt zu, was es nicht weiß
  • Stellt klärende Fragen
  • Schlägt verwandte Themen vor

Embed-Integration

Installation Ein Snippet. Lädt asynchron.

Kompatibilität

  • WordPress
  • Webflow
  • Shopify
  • Squarespace
  • Custom Builds
  • SPAs (React, Vue, Angular)

Konfiguration im Dashboard

  • Farben, Logo, Platzierung
  • Begrüßung, Ton
  • Spracheinstellungen
  • Relevanz-Schwellen

Öffentliche API

Sicherer, mandantenbezogener API-Zugriff für Tickets und Aktionen über alle Kanäle.

Authentifizierung und Zugriff

  • API-Schlüssel im Header `X-Api-Key` senden.
  • Schlüssel in Admin → API keys erstellen und widerrufen; ein Schlüssel pro Integration.
  • Schlüssel sind mandantenbezogen und nutzen Least Privilege über Scopes.

Scopes

  • `support.read` — Tickets, Nachrichten und Aktionen auflisten und abrufen.
  • `support.write` — Tickets erstellen/aktualisieren und Nachrichten anhängen.
  • `support.actions` — Aktionen ausführen und Status abfragen.

Kern-Endpunkte

  • `/api/v1/public/tickets` — Tickets auflisten oder erstellen.
  • `/api/v1/public/tickets/{ticket_id}` — Ticket abrufen oder aktualisieren.
  • `/api/v1/public/tickets/{ticket_id}/messages` — Nachrichten auflisten oder hinzufügen.
  • `/api/v1/public/tickets/{ticket_id}/actions` — Aktion für ein Ticket ausführen.
  • `/api/v1/public/actions` — Aktionen auflisten oder Status abrufen.

Antwortformat

  • JSON-Antworten; Zeitstempel im RFC-3339-Format.
  • Fehler liefern `{ error: { type, message, code } }`.
  • Listen-Endpunkte akzeptieren `limit` und `page_token`.

Kanalwerte

  • `web`, `email`, `sms`, `whatsapp`, `social`, `voice`, `custom`.
  • `channel_id` und `channel_thread_id` für externe Konversationen verwenden.
  • `external_message_id` zur Deduplizierung von Nachrichten verwenden.

Zapier-Einrichtung

Threada mit Zapier für No-Code-Automatisierung mit kontrollierter Oberfläche verbinden.

Ausgehende Automatisierung (Threada → Zapier)

  • Einen Zap mit dem Webhooks-by-Zapier-Trigger „Catch Hook“ erstellen und die Hook-URL kopieren.
  • In Admin → Support → Integrations eine Zapier-Integration mit der Webhook-URL und optionalem Secret-Header hinzufügen.
  • Eine Custom-HTTP-Aktion verwenden; wenn keine Custom-HTTP-Integration gewählt ist, wird Zapier standardmäßig genutzt.

Eingehende Automatisierung (Zapier → Threada)

  • Einen API-Schlüssel mit Scopes für Zapier erstellen (Least Privilege).
  • Webhooks by Zapier verwenden, um die Public-API-Endpunkte für Tickets und Aktionen aufzurufen.
  • Den Schlüssel sicher in Zapier speichern und regelmäßig rotieren.

Enterprise-Hygiene

  • Schlüssel pro Umgebung trennen (Produktion vs. Sandbox).
  • Schlüssel widerrufen, wenn ein Zap deaktiviert wird oder der Besitzer wechselt.
  • Nur Lese-Scopes bevorzugen, außer eine Automatisierung muss schreiben.

Sicherheit

Hosting: GCP, US-Central1 Standard. Verschlüsselung: TLS 1.2+ in Transit, AES-256 at Rest. Authentifizierung: SSO via OIDC/SAML (Enterprise). Compliance: GDPR, konfigurierbare Retention, Audit-Logs. Threat Model dokumentiert (Prompt Injection, XSS, SSRF, Exfiltration).

Datenverarbeitung

Gespeichert

  • Indexierte Inhalte
  • Embeddings
  • Chat-Logs
  • Analytics
  • Konfiguration

Nicht gespeichert

  • Zahlungsinformationen (vom Zahlungsanbieter verarbeitet)
  • Zugangsdaten im Klartext

Retention Konfigurierbar pro Tenant. Löschung auf Anfrage.

Training Ihre Inhalte werden nicht zum Training von KI-Modellen verwendet.

FAQ

Passwortgeschützte Seiten?
Derzeit nicht. Laden Sie Dokumente für private Inhalte hoch.
Seiten ausschließen?
Ja. Über robots.txt oder Dashboard-Konfiguration.
Wie schnell aktualisiert es sich?
Automatische Reindexierung meist innerhalb von 24 Stunden. Manuelle Reindexierung sofort.
Website während des Crawlings down?
Crawler verlangsamt und versucht erneut. Vorherige Inhalte bleiben verfügbar.
Indexierte Inhalte ansehen?
Ja. Das Dashboard zeigt indexierte Seiten und Status.
Mehrere Sprachen?
Ja. Automatische Erkennung oder Standard-Sprache pro Embed.
Warum manchmal kein Zitat?
Zitate verlinken Quellen. Bei Unsicherheit gibt es keine Quelle zum Zitieren.