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 zeitnah 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.
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.
- Als Erstes prüfen wir, ob es in der Aufgabenliste unseres Teams diesen Lead mit demselben Produktinteresse schon gibt.
- Wenn es den Lead noch nicht gibt, erstellen wir einen Eintrag in der Aufgabenliste unseres Teams.
- Danach veröffentlichen wir eine Nachricht über den neuen Lead im Allgemeinen Kanal unseres Teams in Form einer Adaptive Card.
- Zum Schluss speichern wir die Nachricht im List Conversation Thread ab.
Veröffentlichen einer Adaptive Card um das Team über neue Leads zu informieren
Deeplinking zu einem Listenelement 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 entsprechende 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:
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 ersetzen wir null in der URL mit der Zeichenkette %22
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.
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**/?groupId=
Dasselbe 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.



