> ## Documentation Index
> Fetch the complete documentation index at: https://docs.famulor.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Messaging-Kanäle (Telegram, Slack, Messenger)

> Discord, Teams, Google Chat und weitere Messaging-Kanäle mit einem gemeinsamen Assistenten verbinden

Multi-Channel-Text lässt denselben Assistenten Kunden auf Telegram, Slack,
Messenger, Microsoft Teams, Discord, Google Chat, X und WhatsApp
beantworten. Diese Messaging-Kanäle sind reine Textkanäle; Telefon und
WhatsApp Voice werden separat eingerichtet. Unabhängig vom Kanal landet
jede Konversation in [Verlauf](/de/monitoring/history).

## Tools (Voice-Parität)

Der Assistent kann dieselben textsicheren Tools nutzen wie bei Voice:

* API-Tools (HTTP)
* MCP-Tools (Workspace- + Assistant-Server)
* Wissensdatenbank-Suche
* Kalenderintegrationen (eingebaute Engine / Cal.com / Calendly / Acuity /
  eTermin – HighLevel-Kalender sind nur für Voice)
* Built-ins: aktuelle Uhrzeit, Geschäftszeiten, SMS senden, E-Mail senden,
  Rückruf planen, Variable setzen

Voice-only-Aktionen stehen auf Textkanälen nicht zur Verfügung: Anruf- oder
Assistenten-Transfer, Anruf beenden, DTMF/Tastenfeld und
Zahlungskartenerfassung.

## Voraussetzungen

1. Dein Plan enthält den Kanal, den du verbinden möchtest (Telegram, Slack,
   Messenger, Teams, Discord, Google Chat, X, WhatsApp Text / WhatsApp
   Voice).
2. Benötigt ein Anbieter einen Webhook, nutze genau die URL, die nach dem
   Verbinden des Kanals angezeigt wird. Verifizierte Custom Domains werden
   automatisch unterstützt.

## Verbinden (Produkt-UI)

Settings → Channels → Telegram / Slack / Messenger:

1. Assistenten auswählen.
2. Wo verfügbar per One-Click verbinden (**Add to Slack**, **Connect with
   Facebook**), oder Bot-Zugangsdaten manuell einfügen.
3. Konversationseinstellungen konfigurieren (siehe unten).
4. Speichern – Telegram-Webhooks werden automatisch registriert;
   Slack/Messenger **BYO** benötigen die angezeigte Webhook-URL in ihren
   Developer-Konsolen. One-Click-Installationen erfordern kein Kopieren
   einer URL.

### Slack – Add to Slack

Das bevorzugte Onboarding (nur Plattform-Domain / Root-Workspaces – nicht
Whitelabel-Hosts) nutzt die **shared Famulor Slack app**:

1. Settings → Channels → Slack → **Add to Slack**
2. Die angeforderten Slack-Berechtigungen bestätigen.
3. Zu den Kanaleinstellungen zurückkehren und bestätigen, dass die
   Verbindung aktiv ist.

Das manuelle Einfügen von Bot-Token + Signing Secret bleibt als Fallback
verfügbar (Connector-spezifische Webhook-URL wird in Settings angezeigt).
Whitelabel-Hosts bleiben ausschließlich beim manuellen Weg (der geteilte
Bot würde als Famulor erscheinen).

Public API: `GET/POST /api/v1/slack/oauth` · MCP: `get_slack_oauth_config`,
`start_slack_oauth`.

### Messenger – Connect with Facebook

Das bevorzugte Onboarding (nur Plattform-Domain / Root-Workspaces – nicht
Whitelabel-Hosts) nutzt dieselbe **platform Meta app** wie WhatsApp:

1. Settings → Channels → Messenger → **Connect with Facebook** (HTTPS
   erforderlich)
2. Die angeforderten Berechtigungen bestätigen und eine Facebook-Page
   auswählen.
3. Zu den Kanaleinstellungen zurückkehren und bestätigen, dass die
   Verbindung aktiv ist.

Das manuelle Einfügen des Page-Tokens bleibt als Fallback verfügbar
(Connector-spezifische Webhook-URL wird in Settings angezeigt).

Public API: `GET/POST /api/v1/messenger/facebook-login` · MCP:
`complete_messenger_facebook_login`.

## Konversationseinstellungen

Gilt für jeden Textkanal:

| Einstellung                        | Standard | Beschreibung                                                                                                                                                                             |
| ---------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Response delay (seconds)**       | `5`      | Regler `0`–`30`. Wartezeit nach der letzten Kundennachricht, bevor eine Antwort gesendet wird (fasst schnelle Mehrfachnachrichten zusammen). `0` = sofortige Antwort auf jede Nachricht. |
| **Inactivity timeout (minutes)**   | `30`     | Minuten der Inaktivität nach der letzten Kundennachricht, bevor die Konversation als beendet markiert wird.                                                                              |
| **Allow re-triggering**            | aus      | Ist diese Option aktiviert, kann der Conversation-ended-Webhook erneut auslösen, wenn der Kunde eine beendete Konversation wieder aufnimmt und danach erneut inaktiv wird.               |
| **Conversation ended webhook URL** | leer     | Optionale HTTPS-URL. Leer lassen, um zu deaktivieren. Nutze **Test webhook**, um ein Beispiel-Payload zu senden.                                                                         |

### Conversation-ended-Webhook

Drei Dinge lösen eine `conversation.ended`-Zustellung aus:

* **Inactivity** – das Inaktivitäts-Timeout oben läuft ab, ohne dass eine
  neue Kundennachricht eingeht (Prüfung etwa einmal pro Minute).
* **Manual** – jemand wählt **Actions → End conversation** bei einer
  offenen Konversation in [Verlauf](/de/monitoring/history).
* **Test** – du wählst **Test webhook** in den Connector-Einstellungen; dies
  sendet immer ein realistisches Beispiel-Payload, unabhängig davon, ob
  bereits eine echte Konversation beendet wurde.

Vor dem Senden lässt die Plattform die konfigurierten
[Analysis](/de/assistants/analysis)-Felder des Assistenten über das
Transkript laufen und schließt die Konversation, sodass das Payload immer
die fertige Analyse trägt, nie eine unvollständige. Standardmäßig
benachrichtigt jede Konversation ihren Webhook einmal; aktiviere **Allow
re-triggering**, wenn ein Kunde eine beendete Konversation wieder aufnehmen
kann und du beim nächsten Inaktivwerden eine neue Benachrichtigung
möchtest.

Eine Zustellung sieht so aus:

```json theme={null}
{
  "event": "conversation.ended",
  "timestamp": "2026-08-26T14:32:07.000Z",
  "reason": "inactivity",
  "data": {
    "tenant_id": "9f86d081-0000-4000-8000-000000000020",
    "conversation_id": "c1b2c3d4-0000-4000-8000-000000000010",
    "platform": "telegram",
    "status": "closed",
    "duration_sec": 187,
    "message_count": 6,
    "conversation": {
      "id": "c1b2c3d4-0000-4000-8000-000000000010",
      "platform": "telegram",
      "external_thread_id": "123456789",
      "external_user_id": "123456789",
      "external_user_name": "Max Mustermann",
      "started_at": "2026-08-26T14:28:40.000Z",
      "ended_at": "2026-08-26T14:32:07.000Z",
      "last_customer_message_at": "2026-08-26T14:29:55.000Z"
    },
    "connector": { "id": "1b2c3d4e-0000-4000-8000-000000000030", "name": "Support Telegram", "platform": "telegram" },
    "assistant": { "id": "2c3d4e5f-0000-4000-8000-000000000040", "name": "Support Assistant" },
    "transcript": "Customer: Hi, I need help with my order.\nAssistant: Of course — what's your order number?",
    "messages": [
      { "id": "msg-1", "role": "user", "direction": "inbound", "text": "Hi, I need help with my order.", "created_at": "2026-08-26T14:28:40.000Z" }
    ],
    "analysis": {
      "summary": "Customer asked about an order and got help finding it.",
      "sentiment": "positive",
      "success": true,
      "success_reason": "The order was located and the delivery date confirmed.",
      "data": { "order_number": "12345" },
      "analyzed_at": "2026-08-26T14:32:07.000Z"
    }
  }
}
```

`reason` ist `inactivity`, `manual` oder `test`. `conversation`,
`connector`, `assistant`, `transcript` und `analysis` werden zusätzlich auf
der obersten Ebene des Payloads wiederholt, für ältere Empfänger, die gegen
diese flache Form statt gegen die `data`-Hülle gebaut wurden. Innerhalb von
`analysis` sind nur die Teile vorhanden, die du beim Assistenten aktiviert
hast – Sentiment, Success samt Begründung sowie eine `data`-Map deiner
eigenen extrahierten Felder; die vollständige Form findest du unter
[Analysis](/de/assistants/analysis).

Konfiguriere das Ziel im Feld **Conversation ended webhook URL** oben, oder
mit `PATCH /api/v1/messaging-connectors/{id}` / `update_messaging_connector`
– jeder Kanal-Connector trägt seine eigene URL. Um eine Zustellung im
Nachhinein erneut zu senden – etwa nachdem eine Neubewertung die Analyse
geändert hat –, nutze **Resend webhooks** bei der Konversation in
[Verlauf](/de/monitoring/history).

## Beta-Connectors

Zehn zusätzliche Kanäle lassen sich auf die gleiche Weise verbinden, sobald
dein Workspace **Beta Features** unter **Settings → Workspace** aktiviert:
Freshdesk, Gmail, Outlook, Zendesk, ServiceNow, Intercom, Zoho Mail,
AgentMail, Instagram und Zulip. Ihre Einträge erscheinen erst unter
**Settings → Channels**, wenn Beta Features aktiviert ist.

Statt einen Bot-Token oder ein App-Secret einzufügen, verbindest du diese
über den OAuth-Connector-Flow von Famulor: Melde dich einmal beim Konto an,
und Famulor hält die Verbindung aufrecht. Über die
[Konversationseinstellungen](#konversationseinstellungen), die jeder
Textkanal teilt, hinaus kann ein Beta-Connector Folgendes ergänzen:

| Einstellung               | Was sie bewirkt                                                                                                                                                            | Wo sie gilt                                           |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| **Reply mode**            | Sendet die Antwort des Assistenten automatisch, oder speichert sie als Entwurf im Postfach, damit ein Teammitglied sie prüft und sendet.                                   | Gmail, Outlook                                        |
| **Watch**                 | Welcher Teil des Postfachs vom Assistenten beantwortet wird: die Inbox (Standard), das gesamte Postfach oder ein einzelnes Label bzw. ein einzelner Ordner.                | Gmail, Outlook, Zoho Mail                             |
| **Extra action**          | Eine zusätzliche, dienstspezifische Fähigkeit – ein Label setzen, ein Ticket taggen, auf eine Nachricht reagieren und Ähnliches. Standardmäßig aus, bis du sie aktivierst. | Jeder Beta-Connector, jeweils eine Aktion             |
| **Import existing items** | Beim Verbinden, wie weit zurück bereits vorhandene Nachrichten abgerufen werden – die letzte Stunde, 24 Stunden oder 7 Tage. Standardmäßig nur neue Nachrichten.           | Freshdesk, ServiceNow, Intercom, Zoho Mail, Instagram |

<Warning>
  **Import existing items** ist kein stiller Import: Jede abgerufene Nachricht erhält eine echte, automatische Antwort des Assistenten. Lass die Einstellung auf **Only new messages**, außer du möchtest, dass der Assistent deinen bestehenden Rückstand beantwortet.
</Warning>

## Abrechnung

Das Senden und Empfangen von Nachrichten auf Telegram, Slack, Messenger,
Teams, Discord, Google Chat, X und den Beta-Connectors kostet Credits pro
Nachricht, zum **Messaging (sent)**- / **Messaging (received)**-Tarif deines
Workspace – demselben Tarif, den auch [WhatsApp-Text](/de/channels/whatsapp#abrechnung)
nutzt. Aktuelle Tarife findest du auf der [Usage-Seite](https://app.famulor.io/usage);
siehe auch [Wie Nutzung abgerechnet wird](/de/billing/minutes).

## Plattform-Apps, die du erstellst

| Kanal       | Was du erstellst                                                                        | Wichtige Felder                                                                           |
| ----------- | --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| Telegram    | Bot über [@BotFather](https://t.me/BotFather)                                           | Bot-Token                                                                                 |
| Slack       | Famulor Slack App (Add to Slack) oder eigene Slack App (BYO; Bot + Event Subscriptions) | OAuth-Installation; oder Bot-Token `xoxb-…` + Signing Secret (BYO)                        |
| Messenger   | Plattform-Meta-App (Connect with Facebook) oder eigene Meta App + Page (BYO)            | Page Access Token, App Secret, Verify Token (BYO); Facebook Login für den bevorzugten Weg |
| Teams       | Azure Bot                                                                               | App-ID, App-Passwort                                                                      |
| Discord     | Discord Application                                                                     | Bot-Token, Public Key, Application ID                                                     |
| Google Chat | GCP Chat App + Service Account                                                          | Service-Account-JSON                                                                      |
| X           | X Developer App + Activity-API-Webhook                                                  | Consumer Secret, OAuth User Token (oder Client-ID + Refresh-Token)                        |

Kopiere die Connector-spezifische Webhook-URL, die unter **Settings →
Channels** angezeigt wird. Bei Telegram wird dies nach dem Speichern
automatisch konfiguriert.

## Public API & MCP

* REST: `GET/POST /api/v1/messaging-connectors`, `PATCH/DELETE /api/v1/messaging-connectors/{id}`, `GET /api/v1/messaging-connectors/{id}/watch-options` (Gmail-Labels / Outlook- und Zoho-Mail-Ordner), `POST /api/v1/messaging-connectors/{id}/ended-webhook-test`
* Slack OAuth: `GET/POST /api/v1/slack/oauth`
* WhatsApp-Vorlagen: `GET/POST /api/v1/whatsapp/templates`
* WhatsApp Outbound Voice: `POST /api/v1/calls/whatsapp-outbound`
* MCP-Tools: `list_messaging_connectors`, `list_messaging_connector_watch_options`, `create_messaging_connector`, `update_messaging_connector`, `delete_messaging_connector`, `test_messaging_ended_webhook`, `get_slack_oauth_config`, `start_slack_oauth`, plus WhatsApp-Template-/Call-Tools
* OpenAPI-Tag: **Messaging** / **Calls**

## WhatsApp

Vollständige Einrichtung (Zugangsdaten, Webhook-Felder, Vorlagen,
Voice-Toggles): **[WhatsApp (Text + Voice)](/de/channels/whatsapp)**.

* **Text:** WhatsApp-Business-Chat, sofern in deinem Plan enthalten.
* **Voice:** WhatsApp-Telefonie über dieselbe Verbindung, sofern in deinem
  Plan enthalten – siehe [WhatsApp Voice](/de/telephony/whatsapp-voice).
* **Templates:** `GET/POST /api/v1/whatsapp/templates` (+ MCP-Tools).
* **Outbound voice:** `POST /api/v1/calls/whatsapp-outbound`.

## E-Mail

Vollständige Einrichtung – Domain verbinden, Adressen erstellen,
Standardwerte festlegen: **[E-Mail-Kanal einrichten](/de/channels/email)**.
E-Mail-Konversationen erscheinen im [E-Mail-Verlauf](/de/email/history)
neben deinen anderen Kanälen.

## SMS

Eine SMS-fähige Workspace-Nummer mit aktiviertem **Allow outbound SMS** kann
über das eingebaute **Send SMS**-Tool Text versenden – aus einem
Assistenten heraus mitten im Anruf oder Chat, oder als Automatisierungsschritt
(zum Beispiel eine Bestätigung nach Anrufende oder eine Terminerinnerung).
Welche Nummern infrage kommen und wie die Send-API funktioniert, steht
unter [SMS](/de/api-reference/sms).

Ein paar Praktiken halten SMS nützlich statt nervig:

* Halte Nachrichten kurz und auf den Punkt – SMS hat keine reichhaltige
  Formatierung und wird pro 160-Zeichen-Segment abgerechnet (70, wenn du
  Emoji oder Sonderzeichen verwendest), Länge kostet also Geld.
* Ergänze Opt-out-Hinweise, wo lokales Recht sie vorschreibt.
* Sende dir selbst eine Testnachricht, bevor du eine Vorlage auf eine ganze
  Kampagne loslässt.
* Behalte die SMS-Ausgaben unter **Usage** im Blick, besonders nach dem
  Ändern einer Vorlage oder beim Targeting eines neuen Landes.
