FyneDesk-Benachrichtigungen an Microsoft Teams senden

Erhalten Sie jedes Mal eine Nachricht in Ihrem Teams-Kanal, wenn ein Ticket erstellt, kommentiert wird oder seinen Status ändert. FyneDesk sendet das Ereignis an einen Webhook, und ein kurzer Power-Automate-Flow wandelt es in eine Teams-Nachricht um. Folgen Sie den Schritten unten der Reihe nach — es dauert etwa zehn Minuten.

Getestet und „erfolgreich gesendet“ gesehen, aber nichts in Teams? Das ist zu erwarten — und Sie sind fast fertig. Der „Erfolg“ bedeutet nur, dass Microsoft die Daten erhalten hat; es postet von selbst nichts. Fügen Sie die eine Posting-Aktion in Teil 3 unten hinzu, und Nachrichten beginnen zu erscheinen.

Wie es funktioniert

FyneDesk sendet jedes Ereignis (neues Ticket, neuer Kommentar usw.) als kleines JSON-Datenpaket an die von Ihnen angegebene URL. Microsoft Teams zeigt dieses Paket nicht von selbst an — Ihr Power-Automate-Flow muss die Daten nehmen und als Nachricht posten.

Deshalb kann ein Test „erfolgreich gesendet“ melden, während in Teams nichts erscheint: Power Automate antwortet in dem Moment, in dem es eine Anfrage erhält, mit 202 Accepted, sodass „Erfolg“ nur bedeutet, dass Microsoft die Daten erhalten hat. Es sagt nichts darüber aus, ob eine Nachricht gepostet wurde. Sobald Sie den Posting-Schritt in Teil 3 hinzufügen, erscheinen Nachrichten.

Bevor Sie beginnen

  • Ein Microsoft Teams-Team und einen -Kanal, in dem Sie die Benachrichtigungen wünschen, und ein Power Automate-Konto mit einer Lizenz, die in Teams posten kann.
  • Administratorzugriff auf FyneDesk-Webhooks, unter Administratoreinstellungen → Erweitert → Webhooks (auch erreichbar über Einstellungen → Verbindungen → Webhooks).
  • Etwa zehn Minuten. Sie erstellen einen Flow aus einer fertigen Vorlage, fügen seine URL in FyneDesk ein und fügen dann einen Schritt hinzu, der die Nachricht postet.
Bereits eine Power-Automate-URL in FyneDesk eingefügt? Dann haben Sie den schwierigen Teil erledigt. Springen Sie zu Teil 3 — Sie müssen nur den Posting-Schritt hinzufügen.

Einrichten

Dies ist genau der Weg, den unser Team von Anfang bis Ende verwendet. Er erzeugt eine einfache, gut lesbare Textnachricht. (Möchten Sie, dass die Nachricht jeden Ereignistyp benennt, oder bevorzugen Sie eine formatierte Karte? Siehe die erweiterten Optionen unten.)

Teil 1 — Den Flow aus einer Vorlage erstellen

Gehen Sie zu make.powerautomate.com und melden Sie sich an. Wählen Sie im linken Menü Vorlagen, geben Sie webhook in das Suchfeld ein und öffnen Sie Webhook-Warnungen an einen Kanal senden — die einfache Version, nicht die „(TEST)“-Versionen. Klicken Sie auf Weiter (melden Sie sich erneut an, falls gefragt).

Der Power-Automate-Bildschirm Vorlagen mit „webhook“ im Suchfeld. Vier Vorlagen werden angezeigt; die erste, Webhook-Warnungen an einen Kanal senden, ist die zu öffnende.

Die Vorlage zeigt, dass sie Teams → Microsoft Teams verbindet und eine Webhook-URL generiert. Bevor Sie auf Erstellen klicken, legen Sie das Team und den Kanal fest, in dem die Benachrichtigungen gepostet werden sollen — das wird leicht übersehen und ist wichtig.

Der Vorlagenbildschirm Webhook-Warnungen an einen Kanal senden, der zeigt, dass er Teams mit Microsoft Teams verbindet, mit dem verbundenen Microsoft-Teams-Konto und einer Schaltfläche Weiter. Die Vorlageneinrichtung mit einem Microsoft-Teams-Team-Dropdown, das auf ein Team eingestellt ist, und einem Microsoft-Teams-Kanal-Dropdown, oberhalb einer Schaltfläche Erstellen. Der Kanalwert ist geschwärzt.

Wählen Sie Ihr Team und Ihren Kanal und klicken Sie dann auf Erstellen. Wenn der Flow geöffnet wird, klicken Sie auf Bearbeiten, um mit der Bearbeitung zu beginnen.

Teil 2 — Die URL an FyneDesk geben

Klicken Sie im Flow auf das erste Feld, „Wenn eine Teams-Webhook-Anfrage empfangen wird“, und kopieren Sie die angezeigte HTTP-URL.

Der Auslöser Wenn eine Teams-Webhook-Anfrage empfangen wird, erweitert, mit einem Dropdown Wer kann den Flow auslösen, das auf Jeder eingestellt ist, und einem HTTP-URL-Feld mit einer Kopierschaltfläche. Der URL-Wert ist geschwärzt.

Gehen Sie dann in FyneDesk zu Administratoreinstellungen → Erweitert → Webhooks und klicken Sie auf Webhook hinzufügen:

  • Benennen Sie ihn so, dass Sie ihn später wiedererkennen, z. B. Microsoft Teams.
  • Fügen Sie die Power-Automate-URL in Endpunkt-URL ein (es muss ein HTTPS-Link sein).
  • Lassen Sie ticket.created markiert — das ist alles, was Sie für den Anfang brauchen. (Sie können später weitere Ereignisse hinzufügen.)
  • Klicken Sie auf Speichern.
Der FyneDesk-Bildschirm Webhook hinzufügen mit einem Namensfeld, das auf Microsoft Teams eingestellt ist, einem Endpunkt-URL-Feld für den Power-Automate-Link, einer Liste der zu sendenden Ereignisse mit markiertem ticket.created und einer Schaltfläche Speichern.

Teil 3 — Dem Flow sagen, was er posten soll

Dies ist der Schritt, der leicht übersehen wird — und genau deshalb kann ein Test „gesendet“ melden, während in Teams nichts erscheint.

1. Löschen Sie die beiden vorgefertigten Schritte. Die Vorlage fügt eine Aktion Variable initialisieren (manchmal zwei) und eine Bedingung Anhänge ist null hinzu. Löschen Sie beide — klicken Sie auf die bei jedem Schritt und dann auf Löschen. Sie drinzulassen löst den „AdaptiveCard“-Fehler aus.

Der Flow-Editor, der den Auslöser Wenn eine Teams-Webhook-Anfrage empfangen wird, gefolgt von zwei Schritten Variable initialisieren und einer Bedingung Anhänge ist null zeigt — die Schritte, die gelöscht werden sollten.

2. Fügen Sie die Posting-Aktion hinzu. Klicken Sie auf das + unter dem Auslöser und wählen Sie In einem Chat oder Kanal posten (der Microsoft-Teams-Connector). Stellen Sie die Dropdowns ein:

FeldEinstellen auf
Posten alsFlow-Bot
Posten inKanal
TeamIhr Team
KanalDer Kanal, in dem Sie Benachrichtigungen wünschen

3. Erstellen Sie die Nachricht. Klicken Sie in das Nachrichten-Feld, klicken Sie auf die blaue Schaltfläche fx (Ausdruck einfügen), fügen Sie den folgenden Ausdruck genau ein und klicken Sie dann auf Hinzufügen.

concat('New ticket ', triggerBody()?['data']?['ticket_number'], ' - ', triggerBody()?['data']?['title'], ' | Status: ', triggerBody()?['data']?['status'], ' | Priority: ', triggerBody()?['data']?['priority'], ' | https://fynedesk.ai/tickets/', string(triggerBody()?['data']?['id']))
Die Aktion In einem Chat oder Kanal posten mit Posten als auf Flow-Bot eingestellt, Posten in auf Kanal eingestellt, einem ausgewählten Team und Kanal, und dem Nachrichtenfeld, das einen einzelnen concat-Ausdruck enthält, der über den rechts angezeigten fx-Ausdruckseditor eingefügt wurde.

4. Speichern. Klicken Sie auf Speichern (oben rechts). Sie sollten „Ihr Flow ist startbereit.“ sehen.

Zwei Stolpersteine, die Stunden kosten
  • Fügen Sie den Ausdruck immer mit der Schaltfläche fx ein — tippen Sie ihn nie als reinen Text ein und umschließen Sie ihn nie mit @{ }.
  • Wenn Sie irgendwann ein Copilot-Feld verwendet haben, leeren Sie das Kommentar-Feld dieses Schritts vor dem Speichern. Eine lange Notiz dort (über 256 Zeichen) blockiert das Speichern stillschweigend.

Teil 4 — Testen

Erstellen oder aktualisieren Sie ein echtes Ticket in FyneDesk. Innerhalb weniger Sekunden erscheint eine Nachricht in Ihrem Teams-Kanal.

Über die Schaltfläche Test senden FyneDesks Test senden sendet ein kleines ping-Paket ohne Ticket-Nummer oder Titel, sodass die Testnachricht spärlich aussieht (überwiegend leere Felder). Das ist zu erwarten. Der echte Beweis ist, ein tatsächliches Ticket zu erstellen oder zu kommentieren und den Kanal zu beobachten.

Optional: jedes Ereignis kennzeichnen oder eine Karte posten

Der obige Ausdruck beginnt immer mit „New ticket“. Wenn Sie möchten, dass die Nachricht das Ereignis benennt (neuer Kommentar, Statusänderung usw.) oder eine formatierte Karte bevorzugen, verwenden Sie eine der folgenden Optionen. Die Einrichtung ist identisch — nur der Nachrichten-Ausdruck ändert sich.

Was FyneDesk sendet

Ihr Webhook kann vier Ereignisse abonnieren. Hier ist die Form jedes Pakets (die Werte sind Beispiele).

ticket.created

{
  "event": "ticket.created",
  "timestamp": "2026-05-30T22:19:59",
  "organization": { "id": 173, "name": "SafePACS" },
  "data": {
    "id": 6381,
    "ticket_number": "INC004736",
    "title": "Printer not working",
    "description": "The 3rd floor printer is offline",
    "status": "New",
    "priority": "Medium",
    "ticket_type": "Incident",
    "source": "Email",
    "created_at": "2026-05-30T22:19:59"
  }
}

ticket.updated und ticket.status_changed verwenden dieselbe Form wie oben, plus updated_at, assigned_to und assigned_team_id.

ticket.commented — beachten Sie, dass die Feldnamen hier leicht abweichen:

{
  "event": "ticket.commented",
  "timestamp": "2026-05-30T22:19:59",
  "organization": { "id": 173, "name": "SafePACS" },
  "data": {
    "ticket_id": 6381,
    "ticket_number": "INC004736",
    "ticket_title": "Printer not working",
    "ticket_status": "New",
    "content": "Any update on this?",
    "comment_id": 8809,
    "is_internal": false
  }
}
Ein Flow verarbeitet alle vier Die folgenden Ausdrücke verwenden coalesce(...), um zwischen den abweichenden Feldnamen zurückzufallen, sodass ein einzelner Flow jeden Ereignistyp abdeckt. Um sie zu verwenden, markieren Sie die zusätzlichen Ereignisse auf Ihrem FyneDesk-Webhook (Teil 2).

Option A — Eine reichhaltigere Textnachricht

Geben Sie statt des einzelnen Ausdrucks das folgende Layout in das Nachrichten-Feld ein. Alles, was kein 〈Platzhalter〉 ist, ist reiner Text, den Sie eintippen. Klicken Sie für jeden 〈Platzhalter〉 auf die Schaltfläche fx, fügen Sie den passenden Ausdruck aus der Tabelle ein und klicken Sie dann auf Hinzufügen.

〈eventLabel〉  〈ticketNumber〉
〈title〉

Status: 〈status〉   •   Priority: 〈priority〉

〈message〉

Open in FyneDesk: 〈link〉
PlatzhalterFügen Sie dies in das fx-Ausdrucksfeld ein
〈eventLabel〉if(equals(triggerBody()?['event'],'ticket.created'),'🎫 New ticket',if(equals(triggerBody()?['event'],'ticket.commented'),'💬 New comment',if(equals(triggerBody()?['event'],'ticket.status_changed'),'🔄 Status changed','✏️ Ticket updated')))
〈ticketNumber〉triggerBody()?['data']?['ticket_number']
〈title〉coalesce(triggerBody()?['data']?['title'],triggerBody()?['data']?['ticket_title'],'(no title)')
〈status〉coalesce(triggerBody()?['data']?['status'],triggerBody()?['data']?['ticket_status'],'-')
〈priority〉coalesce(triggerBody()?['data']?['priority'],'-')
〈message〉coalesce(triggerBody()?['data']?['content'],triggerBody()?['data']?['description'],'')
〈link〉concat('https://fynedesk.ai/',if(equals(triggerBody()?['data']?['ticket_type'],'Service Request'),'requests/','tickets/'),string(coalesce(triggerBody()?['data']?['id'],triggerBody()?['data']?['ticket_id'])))

Option B — Eine formatierte Karte

Bevorzugen Sie eine Karte? Verwenden Sie die Aktion Karte in einem Chat oder Kanal posten und fügen Sie Folgendes in das Feld Adaptive Card ein. Sie verwendet dieselben Ausdrücke, also sind es dieselben Daten in einem aufgeräumteren Layout.

{
  "type": "AdaptiveCard",
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "version": "1.2",
  "body": [
    {
      "type": "TextBlock",
      "size": "Medium",
      "weight": "Bolder",
      "text": "@{if(equals(triggerBody()?['event'],'ticket.created'),'🎫 New ticket',if(equals(triggerBody()?['event'],'ticket.commented'),'💬 New comment',if(equals(triggerBody()?['event'],'ticket.status_changed'),'🔄 Status changed','✏️ Ticket updated')))} @{triggerBody()?['data']?['ticket_number']}"
    },
    {
      "type": "TextBlock",
      "text": "@{coalesce(triggerBody()?['data']?['title'],triggerBody()?['data']?['ticket_title'],'(no title)')}",
      "wrap": true
    },
    {
      "type": "FactSet",
      "facts": [
        { "title": "Status", "value": "@{coalesce(triggerBody()?['data']?['status'],triggerBody()?['data']?['ticket_status'],'-')}" },
        { "title": "Priority", "value": "@{coalesce(triggerBody()?['data']?['priority'],'-')}" }
      ]
    },
    {
      "type": "TextBlock",
      "text": "@{coalesce(triggerBody()?['data']?['content'],triggerBody()?['data']?['description'],'')}",
      "wrap": true
    }
  ],
  "actions": [
    {
      "type": "Action.OpenUrl",
      "title": "Open in FyneDesk",
      "url": "@{concat('https://fynedesk.ai/',if(equals(triggerBody()?['data']?['ticket_type'],'Service Request'),'requests/','tickets/'),string(coalesce(triggerBody()?['data']?['id'],triggerBody()?['data']?['ticket_id'])))}"
    }
  ]
}

Fehlerbehebung

Nachrichten erscheinen immer noch nicht — häufige Lösungen

Sie erhalten einen „AdaptiveCard“-Fehler, oder der Flow läuft, postet aber nie. Die vorgefertigten Schritte Variable initialisieren und Anhänge ist null der Vorlage verursachen dies. Löschen Sie beide (Teil 3, Schritt 1) und posten Sie Ihre Nachricht stattdessen mit einer einzigen Aktion In einem Chat oder Kanal posten.

Der Flow lässt sich nicht speichern. Wenn Sie irgendwann Copilot versucht haben, leeren Sie das Kommentar-Feld dieses Schritts — eine Notiz länger als 256 Zeichen blockiert das Speichern stillschweigend.

Nichts in Teams nach einer echten Ticket-Aktion. Öffnen Sie in Power Automate Ihren Flow und prüfen Sie den Ausführungsverlauf (das 28-Tage-Protokoll). Jedes FyneDesk-Ereignis sollte eine Ausführung zeigen. Gar keine Ausführungen bedeutet, dass der FyneDesk-Webhook nicht auf die URL dieses Flows zeigt oder dieses Ereignis nicht abonniert hat — prüfen Sie es in FyneDesk erneut. Ausführungen zeigen „Fehlgeschlagen“ bedeutet, dass ein Schritt einen Fehler hatte; klicken Sie auf einen, um zu sehen, welcher. Meistens ist es das nicht ausgewählte Team oder der nicht ausgewählte Kanal oder dem Besitzer des Flows fehlt eine Power-Automate-Lizenz.

Eine Nachricht wird gepostet, aber einige Felder sind leer. Verschiedene Ereignisse enthalten verschiedene Felder (ein Kommentar hat zum Beispiel keine priority). Die coalesce(...)-Ausdrücke in den erweiterten Optionen fallen elegant zurück, sodass ein leeres Feld nur bedeutet, dass dieses Ereignis dieses Feld nicht enthielt.

Ein Ausdruck zeigt einen roten Fehler. Einige Auslösertypen stellen den Body als triggerOutputs()?['body'] statt triggerBody() bereit. Wenn triggerBody() einen Fehler hat, tauschen Sie es aus — zum Beispiel triggerOutputs()?['body']?['data']?['ticket_number'].

Ein Hinweis zur Sicherheit

Ihre Power-Automate-URL enthält eine geheime Signatur (der Teil sig=...) — behandeln Sie die gesamte URL wie ein Passwort und teilen Sie sie nicht. FyneDesk signiert außerdem jede Anfrage mit einem X-FyneDesk-Signature-Header (HMAC-SHA256), falls Sie jemals die Authentizität innerhalb des Flows überprüfen möchten, obwohl das optional und nicht erforderlich ist, damit Nachrichten fließen.

Bevorzugen Sie null Einrichtung? Es gibt jetzt eine native Teams-App FyneDesk postet Ticket-Benachrichtigungen jetzt nativ in Teams — formatierte, lokalisierte Karten ohne zu erstellenden Flow, in den Tarifen Pro und Business. Siehe Microsoft-Teams-Benachrichtigungen. Verwenden Sie diese Anleitung weiterhin, wenn Sie volle Kontrolle über das Nachrichtenformat oder eine benutzerdefinierte Weiterleitungslogik in Power Automate wünschen.

Häufig gestellte Fragen

FyneDesk sagt „erfolgreich gesendet“, aber in Teams erscheint nichts. Warum?

„Erfolgreich gesendet“ bedeutet nur, dass Microsoft die Daten erhalten hat — Power Automate antwortet in dem Moment, in dem es eine Anfrage erhält, mit 202 Accepted. Es bedeutet nicht, dass eine Nachricht gepostet wurde. Teams zeigt das rohe JSON nicht von selbst an; Ihr Flow benötigt eine Aktion In einem Chat oder Kanal posten, um es zu formatieren und zu posten.

Welche Power-Automate-Vorlage sollte ich verwenden?

Öffnen Sie Vorlagen, suchen Sie nach webhook und wählen Sie Webhook-Warnungen an einen Kanal senden — die einfache Version, nicht die „(TEST)“-Versionen. Sie generiert die Webhook-URL, die Sie in FyneDesk einfügen, und lässt Sie das Team und den Kanal auswählen, in dem gepostet werden soll.

Warum erhalte ich einen „AdaptiveCard“-Fehler, oder warum postet der Flow nie?

Die Vorlage wird mit zwei vorgefertigten Schritten geliefert — einer Aktion Variable initialisieren und einer Bedingung Anhänge ist null —, und diese verursachen den AdaptiveCard-Fehler. Löschen Sie beide und fügen Sie dann eine einzige Aktion In einem Chat oder Kanal posten mit Ihrem eigenen Nachrichtenausdruck hinzu.

Kann FyneDesk ohne Power Automate in Teams posten?

Ja — FyneDesk hat jetzt eine native Microsoft-Teams-App, die Ticket-Benachrichtigungskarten direkt in Ihre Kanäle postet, in den Tarifen Pro und Business, ohne dass ein Flow erstellt werden muss. Der Weg über Webhook + Power Automate auf dieser Seite funktioniert weiterhin und bleibt nützlich, wenn Sie volle Kontrolle über Formatierung und Weiterleitung wünschen.

Welche Ticket-Ereignisse kann ich an Teams senden?

Ein FyneDesk-Webhook kann ticket.created, ticket.updated, ticket.status_changed und ticket.commented senden. Die empfohlene Einrichtung verwendet ticket.created; die erweiterten Ausdrücke verarbeiten alle vier automatisch, sodass ein Flow jedes Ereignis abdecken kann.