Im ersten Teil der Blogreihe zum Thema CRM Automatisierung haben wir berichtet, wie wir Leads aus unterschiedlichen Quellen mit Microsoft 365 und Power Automate in eine zentrale Microsoft List speichern. Darauf aufbauend erklärten wir im zweiten Teil der Blogreihe zum Thema CRM Automatisierung, wie wir Leads mit Azure Functions in unsere Liste übertragen. Dadurch haben wir eine zentrale Anlaufstelle für effektiveres CRM. Damit wir möglichst zeitnahe eine Folgeaktion durchführen können, wollen wir unser Team über neue Leads informieren. Dies setzen wir als Flow mit Adaptive Cards, Deeplinking und List Conversations in Microsoft Teams um.

Team über neue Leads informieren - Adaptive Card in Teams mit Deep Link zur List Conversation

Dein Team benachrichtigen mit Adaptive Cards in Power Automate

Um das Team über neue Leads zu informieren, bietet sich wieder ein Power Automate Flow an. Der Ablauf ist wie folgt:

Trigger: Es wird ein neuer Lead in der Microsoft List erstellt.

  1. Als erstes prüfen wir, ob es in der Aufgabenliste unseres Teams diesen Lead mit dem selben Produktinteresse schon gibt.
  2. Wenn es den Lead noch nicht gibt, erstellen wir einen Eintrag in der Aufgabenliste unseres Teams.
  3. Danach veröffentlichen wir eine Nachricht über den neuen Lead im Allgemeinen Kanal unseres Teams in Form einer Adaptive Card.
  4. Zum Schluss speichern wir die Nachricht im List Conversation Thread ab.
Team über neue Leads informieren - Power Automate Flow zum Veröffentlichen einer Adaptive Card in Teams

Veröffentlichen einer Adaptive Card um das Team über neue Leads zu informieren

Deeplinking zu einem Listitem in Teams

Um eine Adaptive Card in einem Teams-Kanal zu veröffentlichen, nutzen wir die Power Automate Action Adaptive Karte in einem Chat oder Kanal veröffentlichen. Die Handhabung ist denkbar einfach:

  • Du kannst wählen, ob du die Nachricht als Benutzer, Flow-Bot oder Power Virtual Agent veröffentlichen möchtest. Hier musst du später beachten, dass du die enstprechende Zielversion im Card-Designer wählst.
  • Du kannst wählen, in welchem Chat, Kanal und/oder Team du die Karte veröffentlichen möchtest.
  • Es gibt ein Feld für die Karte selbst, in das du die Card Payload der Adaptive Card einträgst. Am besten ist es, den Card Designer von Microsoft zu verwenden, um deine Card zu gestalten. So sieht das Schema unserer Card aus:
{
    "type": "AdaptiveCard",
    "body": [
        {
            "type": "TextBlock",
            "weight": "Bolder",
            "size": "Large",
            "text": "Neuer Lead: @{triggerOutputs()?['body/Title']}",
            "wrap": true
        },
        {
            "type": "ColumnSet",
            "columns": [
                {
                    "type": "Column",
                    "items": [
                        {
                            "type": "ColumnSet",
                            "columns": [
                                {
                                    "type": "Column",
                                    "width": "stretch",
                                    "items": [
                                        {
                                            "type": "TextBlock",
                                            "text": "Produkt:",
                                            "wrap": true,
                                            "weight": "Bolder",
                                            "size": "Medium"
                                        }
                                    ]
                                },
                                {
                                    "type": "Column",
                                    "items": [
                                        {
                                            "type": "TextBlock",
                                            "text": "@{triggerOutputs()?['body/Interestedin/Value']}",
                                            "wrap": true
                                        }
                                    ],
                                    "width": "stretch"
                                }
                            ]
                        },
                        {
                            "type": "ColumnSet",
                            "columns": [
                                {
                                    "type": "Column",
                                    "width": "stretch",
                                    "items": [
                                        {
                                            "type": "TextBlock",
                                            "text": "E-Mail:",
                                            "wrap": true,
                                            "weight": "Bolder",
                                            "size": "Medium"
                                        }
                                    ]
                                },
                                {
                                    "type": "Column",
                                    "items": [
                                        {
                                            "type": "TextBlock",
                                            "text": "@{triggerOutputs()?['body/Email']}",
                                            "wrap": true
                                        }
                                    ],
                                    "width": "stretch"
                                }
                            ]
                        },
                        {
                            "type": "ColumnSet",
                            "columns": [
                                {
                                    "type": "Column",
                                    "width": "stretch",
                                    "items": [
                                        {
                                            "type": "TextBlock",
                                            "text": "Source:",
                                            "wrap": true,
                                            "weight": "Bolder",
                                            "size": "Medium"
                                        }
                                    ]
                                },
                                {
                                    "type": "Column",
                                    "items": [
                                        {
                                            "type": "TextBlock",
                                            "text": "@{triggerOutputs()?['body/LeadSource/Value']}",
                                            "wrap": true
                                        }
                                    ],
                                    "width": "stretch"
                                }
                            ]
                        }
                    ],
                    "width": 80
                },
                {
                    "type": "Column",
                    "items": [
                        {
                            "type": "Image",
                            "url": "https://www.smarterbusiness.at/wp-content/uploads/2021/12/Thanks.png",
                            "size": "Medium"
                        }
                    ],
                    "width": 20
                }
            ]
        },
        {
            "type": "ActionSet",
            "actions": [
                {
                    "type": "Action.OpenUrl",
                    "title": "Mehr Informationen",
                    "style": "positive",
                    "url": "https://teams.microsoft.com/l/entity/26bda823-6023-480c-a22b-6b6s6605ce8c/_djb2_msteams_prefix_3161176291?context=%7B%22subEntityId%22%3A%22<listItemId>%22%2C%22channelId%22%3A%2219%3Aa7d7f48c9854129040ac4057c5245727%40thread.skype%22%7D"
                }
            ]
        }
    ],
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.4"
}

Klickt man in unserer Adaptive Card auf Mehr Informationen, sollte man zum jeweiligen Eintrag in der Registerkarte der Aufgabenliste in Teams springen. Dies nennt sich Deeplinking. Hierfür müssen wir eine Url – einen sogenannten Deep Link – zusammenbauen, die wir der OpenUrl-Action übergeben.

Das Format vor der URL-Kodierung für einen Deep Link zu einem Listenelement ist https://teams.microsoft.com/l/entity/<appId>/<entityId>?context={„subEntityId“:“<listItemId>“, „channelId“:“<channelId>“}. Der einfachste Weg, die meisten benötigten Informationen zu erhalten, ist, den Link zur Registerkarte selbst zu kopieren:

Team über neue Leads informieren - Link zur Liste in der Registerkarte

Somit erhält man eine Url so ähnlich wie https://teams.microsoft.com/l/entity/26bda823-6023-480c-a22b-6b6s6605ce8c/_djb2_msteams_prefix_3161176291?context=%7B%22subEntityId%22%3Anull%2C%22channelId%22%3A%2219%3Aa7d7f48c9854129040ac4057c5245727%40thread.skype%22%7D&groupId=372f916c-76da-427c-887c-b1cf48ee6d4a&tenantId=9b8fa496-cfa6-4554-87a0-b6ad369872a15.

Der markierte Teil ist die URL-codierte Version des Deep Links. Jetzt fehlt nur noch die ID des Listenelements, auf das wir verlinken möchten. Dafür erstzen wir null in der URL mit der Zeichenkette %22<ID>%22, wobei <ID> die ID des Listenelements ist.

Veröffentlichen der Nachricht in List Conversations

Unsere Adaptive Card können wir mit einem HTTP-Request im List Conversation Thread des Listenelements anzeigen lassen.

Team über neue Leads informieren - HTTP-Request zum Posten der Teams-Nachricht als List Conversation

Hierfür brauchen wir:

  • die Listen-Url und die ID des Listenelements
  • die Message-ID unserer Adaptive Card
  • die Kanal-ID, Team-ID

Um die Kanal-ID zu erhalten, klickst du einfach auf die 3 Punkte beim Kanal und wählst Get link to channel. Hier erhältst du eine Url, wie: https://teams.microsoft.com/l/channel/19%3ab8ad7f48c4546fb90ac4057c524ab727%40thread.skype/<list>?groupId=<groupid>&tenantId=<tenantid>. Für die Kanal-ID ersetzt du nun vom markierten Abschnitt %3a durch einen Doppelpunkt und %40 durch ein at-Zeichen (@). In diesem Fall würde die Kanal-ID 19:b8ad7f48c4546fb90ac4057c524ab727@thread.skype lauten.

Das selbe machst du mit dem Team-Link bzw. der Team-ID. Und das war’s. Jetzt können wir unser Team über neue Leads informieren, sobald ein neuer Eintrag in unserer Lead-List erstellt wurde.

Team über neue Leads informieren - Adaptive Card im List Conversation Thread

Haben wir dein Interesse geweckt und hättest du gerne mehr Informationen über CRM Automatisierung und wie du dein Team über neue Leads informieren kannst? Oder hast du weitere Vorschläge, wie man das Management von Kundenbeziehungen noch effektiver gestalten kann? Dann nimm gerne mit uns Kontakt auf. Du kannst dich auch in unseren Newsletter eintragen, wenn du als Erster Neuigkeiten informiert erhalten willst:

Keine Angebote und Neuheiten mehr verpassen?

Melde dich für unseren Newsletter an und erfahre als Erstes von spannenden neuen Produkten und Themen rund um Microsoft SharePoint, Teams und Co.



Du kannst dich jederzeit wieder abmelden. Deine Daten werden nur für den Versand unseres Newsletters verwendet und nicht an Dritte weitergegeben. Zusätzliche Informationen zum Schutz deiner Daten erhältst du in unserer Datenschutzerklärung.