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

# Workflows

> Automatisiere Aktionen, wenn Anrufe enden oder Kontakte erstellt werden, mit visueller Workflow-Automation.

Mit Workflows kannst du **automatisieren, was passiert, wenn wichtige Ereignisse in telli auftreten**. Du baust sie visuell auf einer Canvas - wähle einen Trigger, ziehe Aktions- und Bedingungsblöcke hinein und verbinde sie mit Linien. Kein Code erforderlich.

Wenn dein Agent einen Anruf abschließt oder ein neuer Kontakt erstellt wird, können Workflows automatisch Daten an dein CRM senden, Kontaktdatensätze aktualisieren, heiße Leads an dein Team weiterleiten oder beliebige nachgelagerte Automatisierungen auslösen.

## Schnellstart

<Steps>
  <Step title="Workflows öffnen">
    Klicke in der linken Seitenleiste des telli-Dashboards auf **Workflows**
  </Step>

  <Step title="Auf Workflow erstellen klicken">
    Gib ihm einen aussagekräftigen Namen wie „Heiße Leads an Salesforce senden" (nicht „Workflow 1")
  </Step>

  <Step title="Trigger wählen">
    Wähle **Anruf beendet** (läuft nach Agenten-Anrufen) oder **Kontakt erstellt** (läuft wenn neue Kontakte hinzugefügt werden)
  </Step>

  <Step title="Blöcke hinzufügen">
    Klicke auf den +-Button auf der Canvas, um Aktions- und Bedingungsblöcke hinzuzufügen. Verbinde Blöcke, indem du Linien zwischen ihnen ziehst
  </Step>

  <Step title="Jeden Block konfigurieren">
    Klicke auf einen Block, um sein Einstellungspanel zu öffnen, und fülle die erforderlichen Informationen aus
  </Step>

  <Step title="Entwurf veröffentlichen">
    Klicke auf **Veröffentlichen**, um deinen aktuellen Entwurf als Live-Version zu speichern
  </Step>

  <Step title="Workflow aktivieren">
    Schalte den **Aktiviert**-Schalter auf AN (Veröffentlichen allein lässt den Workflow nicht laufen)
  </Step>

  <Step title="Manuell testen">
    Öffne den Tab **Läufe** → klicke auf **Manuell ausführen** → wähle einen kürzlichen Anruf → beobachte, was passiert
  </Step>
</Steps>

<Warning>
  Ein Workflow läuft nur dann automatisch, wenn er **SOWOHL veröffentlicht ALS AUCH aktiviert** ist. Teste ihn immer manuell, bevor du ihn aktivierst.
</Warning>

***

## Triggers

<Tabs>
  <Tab title="Anruf beendet">
    <Info>
      **Anruf beendet** wird automatisch ausgelöst, sobald ein ausgewählter Agent einen Telefonanruf beendet.

      * Jeder Workflow ist an EINEN bestimmten Agenten gebunden
      * Du wählst aus, ob verbundene Anrufe ohne Follow-up, verbundene Anrufe mit Follow-up, nicht verbundene Anrufe und Mailboxen den Workflow starten
      * Fehlgeschlagene, unbekannte und noch nicht beendete Anrufe lösen den Workflow nicht aus
      * Bestehende Workflows, die noch nicht aktualisiert wurden, laufen weiterhin nur für verbundene Anrufe ohne Follow-up
    </Info>

    ### Verfügbare Daten

    Jeder Block kann auf den Anruf zugreifen, der den Workflow ausgelöst hat, sowie auf alles, was vorherige Blöcke produziert haben.

    | **Datentyp**             | **Was verfügbar ist**                                                                                 |
    | :----------------------- | :---------------------------------------------------------------------------------------------------- |
    | **Kontaktinformationen** | Name, Telefon, E-Mail und alle benutzerdefinierten Kontakteigenschaften, die du eingerichtet hast     |
    | **Anruf-Metadaten**      | Status, Follow-up-Zustand, Richtung, Dauer, Endgrund, wer aufgelegt hat, Tageszeit                    |
    | **Anruf-Ergebnisse**     | Die strukturierten Ergebnisse, die dein Agent zugewiesen hat (z. B. „Demo Gebucht", „Kein Interesse") |
    | **Erfasste Daten**       | Alles Spezifische, das der Agent während des Anrufs erfasst hat (Wunschtermin, Budget, Adresse usw.)  |
  </Tab>

  <Tab title="Kontakt erstellt">
    <Info>
      **Kontakt erstellt** wird automatisch ausgelöst, wenn ein neuer Kontakt zu telli hinzugefügt wird.

      * Löst unabhängig davon aus, wie der Kontakt erstellt wurde (manuell, über API, durch Integrationen oder importiert)
      * Läuft einmal pro Kontakt zum Zeitpunkt der Erstellung
      * Perfekt für Onboarding-Workflows, Willkommenssequenzen oder automatische CRM-Synchronisierung
    </Info>

    ### Verfügbare Daten

    Jeder Block kann auf den Kontakt zugreifen, der den Workflow ausgelöst hat, sowie auf alles, was vorherige Blöcke produziert haben.

    | **Datentyp**              | **Was verfügbar ist**                                                                             |
    | :------------------------ | :------------------------------------------------------------------------------------------------ |
    | **Kontaktinformationen**  | Name, Telefon, E-Mail und alle benutzerdefinierten Kontakteigenschaften, die du eingerichtet hast |
    | **Erstellungs-Metadaten** | Wie der Kontakt erstellt wurde (manuell, API, Integration), Zeitstempel                           |
  </Tab>
</Tabs>

***

<Tabs>
  <Tab title="Aktionsblöcke">
    | **Aktion**                               | **Was sie tut**                                                                                                                                                                                                                                      |
    | :--------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Anruf-Benachrichtigungs-E-Mail**       | Sendet eine Anrufzusammenfassung per E-Mail an ein bestimmtes Teammitglied oder eine E-Mail-Adresse. Enthält Transkript, Aufnahme, Ergebnisse und erfasste Daten. Perfekt, um Vertriebsmitarbeiter oder Manager über wichtige Anrufe zu informieren. |
    | **SMS senden**                           | Sendet eine Textnachricht an den Kontakt nach dem Anruf. Verwende sie für Follow-ups, Terminbestätigungen oder um im Gespräch erwähnte Ressourcen zu senden.                                                                                         |
    | **Anruf planen**                         | Plant automatisch einen Folgeanruf mit dem Kontakt. Legt Zeit fest, weist einen Agenten zu und fügt ihn zur Dialer-Warteschlange hinzu.                                                                                                              |
    | **Kontakt aktualisieren**                | Ändert Informationen über den Kontakt in telli. Funktioniert mit Standardfeldern (Name, Telefon, E-Mail) und deinen eigenen benutzerdefinierten Kontakteigenschaften.                                                                                |
    | **HTTP-Anfrage**                         | Sendet Daten als HTTP-Anfrage an einen beliebigen externen Endpunkt (auch „Webhook" genannt). Verwende sie, um Daten in HubSpot, Pipedrive, Slack, Zapier, Make, n8n, dein Data Warehouse oder deine eigene interne API zu pushen.                   |
    | **Salesforce - Datensatz erstellen**     | Erstellt einen brandneuen Datensatz in Salesforce (z. B. einen Lead, Kontakt, eine Opportunity oder ein beliebiges benutzerdefiniertes Objekt). Erfordert die Salesforce-Integration.                                                                |
    | **Salesforce - Datensatz aktualisieren** | Aktualisiert einen bestehenden Salesforce-Datensatz. Wird häufig verwendet, um Opportunities basierend auf Anrufergebnissen in neue Pipeline-Stufen zu verschieben.                                                                                  |
  </Tab>

  <Tab title="Bedingungsblöcke">
    | **Bedingung**    | **Was sie tut**                                                                                                                                                                        |
    | :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Wenn / Sonst** | Eine einfache Ja-oder-Nein-Verzweigung. Beispiel: „WENN der Kunde einer Demo zugestimmt hat → nimm Pfad A. SONST → nimm Pfad B."                                                       |
    | **Switch**       | Eine mehrfache Verzweigung basierend auf einem einzelnen Wert. Beispiel: „Wenn das Ergebnis Demo Gebucht ist → Pfad 1. Wenn Kein Interesse → Pfad 2. Wenn Rückruf gewünscht → Pfad 3." |

    Bei einem aktualisierten Trigger **Anruf beendet** kannst du mit **Status** zwischen verbundenen, nicht verbundenen und Mailbox-Anrufen unterscheiden. Mit **Hat Folgeanruf** trennst du verbundene Anrufe danach, ob der Agent ein Follow-up geplant hat.
  </Tab>
</Tabs>

***

<Tabs>
  <Tab title="Häufige Anwendungsfälle">
    ### Der CRM-Updater (häufigstes Muster)

    Sende jedes Anrufergebnis an HubSpot:

    ```
    [Anruf beendet: Mein Sales-Agent]
            ↓
    [HTTP-Anfrage → POST an HubSpot-Endpunkt mit Anrufdaten]
    ```

    ***

    ### Routing für heiße Leads

    Aktualisiere Salesforce nur, wenn der Anruf wirklich gut gelaufen ist:

    ```
    [Anruf beendet: Mein Sales-Agent]
            ↓
    [Wenn/Sonst: War das Anrufergebnis = „Demo Gebucht"?]
       ↓ JA                                ↓ NEIN
    [Salesforce: Opportunity aktualisieren  [Kontakt aktualisieren:
     → Stufe = „Demo geplant"]               als „Nicht bereit" markieren]
            ↓
    [HTTP-Anfrage: #sales-wins auf Slack benachrichtigen]
    ```

    ***

    ### Mehrwege-Ergebnis-Handler

    Verschiedene Aktionen für verschiedene Anrufergebnisse:

    ```
    [Anruf beendet: Mein Support-Agent]
            ↓
    [Switch: Was war das Ergebnis?]
       ↓                ↓                       ↓
    „Problem gelöst"   „Engineer benötigt"     „Verärgerter Kunde"
       ↓                ↓                       ↓
    [Kontakt           [Salesforce: Engineering-  [HTTP-Anfrage:
     aktualisieren      Ticket erstellen]          Bereitschaftsmanager
     → Status: Erledigt]                           anpiepen]
    ```

    ***

    ### Personen, die Nein gesagt haben, nicht mehr anrufen

    Opt-outs automatisch respektieren:

    ```
    [Anruf beendet: Outbound-Agent]
            ↓
    [Wenn/Sonst: Ergebnis = „Nicht kontaktieren"?]
       ↓ JA
    [Kontakt aktualisieren: „Status" auf gesperrt setzen]
    ```

    ***

    ### Neue Kontakte automatisch mit CRM synchronisieren

    Sende jeden neuen Kontakt an dein externes System:

    ```
    [Kontakt erstellt]
            ↓
    [HTTP-Anfrage → POST Kontaktdaten an HubSpot/Salesforce/Pipedrive]
    ```

    ***

    ### Follow-up-SMS nach Anrufen senden

    Sende automatisch eine SMS an Kunden nach dem Gespräch:

    ```
    [Anruf beendet: Support-Agent]
            ↓
    [Wenn/Sonst: Ergebnis = „Problem gelöst"?]
       ↓ JA
    [SMS senden: „Danke für Ihren Anruf! Ihr Ticket #{{ticket_nummer}} ist gelöst."]
    ```

    ***

    ### Manager über heiße Leads benachrichtigen

    Informiere Teammitglieder, wenn wichtige Anrufe stattfinden:

    ```
    [Anruf beendet: Sales-Agent]
            ↓
    [Wenn/Sonst: Ergebnis = „Demo Gebucht"?]
       ↓ JA
    [Anruf-Benachrichtigungs-E-Mail → Zusammenfassung an sales-manager@firma.de senden]
    ```
  </Tab>

  <Tab title="Entwürfe, Veröffentlichen & Aktivieren">
    Diese drei Zustände sorgen für die meiste Verwirrung:

    | **Zustand**        | **Was er bedeutet**                                                                                                                                                |
    | :----------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Entwurf**        | Deine Arbeit in Bearbeitung. Wird beim Bauen automatisch gespeichert. Läuft nicht für echte Anrufe. Sicher zu bearbeiten.                                          |
    | **Veröffentlicht** | Die festgeschriebene Version, die telli für neue automatische Läufe verwendet. Du veröffentlichst einen Entwurf, um ihn zur neuen Live-Version zu machen.          |
    | **Aktiviert**      | Ein separater AN/AUS-Schalter. Ein Workflow muss veröffentlicht sein, bevor er aktiviert werden kann. Deaktivieren löscht NICHTS - es pausiert nur die Ausführung. |

    <Warning>
      Ein Workflow läuft nur dann automatisch, wenn er **SOWOHL veröffentlicht ALS AUCH aktiviert** ist.
    </Warning>

    <Tip>
      **Versionsverlauf**

      Jede Veröffentlichung erstellt eine neue Revision. Du kannst:

      * Alle vorherigen Versionen durchsuchen
      * Eine ältere Version auf der Canvas vorschauen (schreibgeschützt)
      * Eine vorherige Version wiederherstellen, was sie als aktuelle Live-Version neu veröffentlicht

      Das macht Experimente sicher - wenn eine neue Version etwas kaputt macht, rolle sie mit zwei Klicks zurück.
    </Tip>
  </Tab>
</Tabs>
