Inhalt

„Kann ich jemanden mitbringen?“ – Plus-One-Wartelisten in Customer Insights Journeys lösen (Teil 1)

Events sind selten ein Solo-Erlebnis.

In vielen Fällen möchten Teilnehmende eine Begleitperson mitbringen – einen Kollegen, Partner oder Freund. In Dynamics 365 Customer Insights – Journeys wird dieses „Plus-One“-Szenario jedoch standardmässig nicht unterstützt.

Das führt zu einem echten Problem:

  • Ihr Event zeigt 1 Registrierung
  • Tatsächlich erscheinen aber 2 Personen

Multipliziert man das mit mehreren Teilnehmenden, ist das Event schnell überbucht.

In diesem Artikel zeige ich Ihnen, wie Sie das lösen können mit:

  • Der integrierten Wartelistenfunktion
  • Einem Power-Automate-Flow zur Erstellung von Begleitregistrierungen

TL;DR:
  • Customer Insights Journeys bietet eine integrierte Warteliste für Events
  • Diese funktioniert gut für einzelne Teilnehmende, aber nicht für Plus-One-Szenarien
  • Mit Power Automate lässt sich die Logik erweitern, um Begleitpersonen zu verwalten

Das Problem mit Plus-One-Registrierungen

Der typische Ablauf sieht so aus:

  1. Ein Kontakt registriert sich und wählt „Ich bringe jemanden mit“
  2. Es wird eine Registrierung erstellt
  3. Die Eventkapazität erhöht sich um 1
  4. In Wirklichkeit nehmen 2 Personen teil

Das führt zu:

  • Überbuchten Locations
  • Schlechter Teilnehmererfahrung
  • Manuellem Nachbearbeiten durch Organisatoren

Mögliche Ansätze (und warum sie nicht ausreichen)

❌ Plus-One deaktivieren

Einfach, aber schlecht für die Benutzererfahrung.

❌ Manuelle Verwaltung

Funktioniert für kleine Events, ist aber nicht skalierbar.


Die Lösung

Wir erweitern den Standardprozess mit:

  • Einer neuen „Begleitperson“-Rolle in der Eventregistrierung
  • Einem Power-Automate-Flow, der:
    • Plus-One-Auswahl erkennt
    • Eine zusätzliche Registrierung erstellt
    • Wartelisten berücksichtigt

Wie sieht der Prozess aus?

Bevor wir in die Umsetzung gehen, hier das Prinzip:

  1. Teilnehmer registriert sich normal
  2. Wir erkennen, ob „Plus One“ gewählt wurde
  3. Zusätzliche Registrierung wird erstellt:
    • Wenn Platz vorhanden → Registriert
    • Wenn nicht → Warteliste
  4. Zuweisung der Rolle Begleitperson

So bleibt die Kapazität korrekt und die native Warteliste wird genutzt.


Umsetzung

Diese Lösung benötigt nur eine Anpassung:

  • Eine neue Option im Feld “Primary Role” der Registrierung

/posts/customer-insights-waitlist-1/image1.png

Falls das zu aufwendig ist, können Sie eine fertige Lösung nutzen: Companion Role Solution in Github

Nach der Erstellung sehen Sie die neue Option im Formular.


/posts/customer-insights-waitlist-1/image2.png


Einrichtung des Formulars

Für die Einrichtung des Formulars benötigst du ein nicht zugeordnetes Feld im Formular (ich empfehle vom Typ Dropdown) mit den Optionen, alleine zu kommen oder mit einer Begleitperson.

⚠️ Wichtig: Speichere den logischen Feldnamen, dieser wird später verwendet, um die Antwort in Power Automate abzurufen.

Stelle sicher:

  • Das Feld ist erforderlich
  • Standardwert ist „Nein, ich komme alleine“ (empfohlen)

/posts/customer-insights-waitlist-1/image3.png

Stelle ausserdem sicher:

Das Event hat die Warteliste aktiviert — andernfalls werden alle registriert

/posts/customer-insights-waitlist-1/image4.png

Power Automate Flow zur Erstellung zusätzlicher Registrierungen

Nun erstellen wir den Flow, der Begleitpersonen-Registrierungen automatisch verarbeitet

1. Trigger

Wir konfigurieren Folgendes:

  • Change type –> Added
  • Table Name –> Event Registrations
  • Scope –> Organization
  • Filter Rows –> msevtmgt_primaryrole eq null

/posts/customer-insights-waitlist-1/image5.png


2. Feldübermittlungen abrufen

Wir fügen die Aktion List Rows für die Tabelle Field Submissions hinzu:

/posts/customer-insights-waitlist-1/image6.png

Danach ist es einfacher und effizienter, eine fetchxml-Abfrage zu verwenden. Du musst lediglich [LOGICALNAME] durch den logischen Feldnamen ersetzen, den du deinem Formular bei der Einrichtung gegeben hast (siehe Einrichtung des Formulars).

<fetch top="1">
  <entity name="msdynmkt_marketingfieldsubmission">
    <attribute name="msdynmkt_localizedfieldvalue" />
    <filter>
      <condition attribute="msdynmkt_localizedfieldname" operator="like" value="[LOGICALNAME]" />
    </filter>
    <order attribute="msdynmkt_localizedfieldname" />
    <link-entity name="msdynmkt_marketingformsubmission" from="msdynmkt_marketingformsubmissionid" to="msdynmkt_marketingformsubmissionid" alias="Formsubmission">
      <filter>
        <condition attribute="msdynmkt_eventregistration" operator="eq" value="@{triggerOutputs()?['body/msevtmgt_eventregistrationid']}" />
      </filter>
    </link-entity>
  </entity>
</fetch>

3. Primäre Registrierung aktualisieren

Wir führen ein Update a Row auf der Entität Event Registrations aus. Mit dieser Aktion aktualisieren wir die bestehende Registrierung und weisen die Rolle Attendee zu.

Achte darauf, bei Row ID die Event Registration aus dem Trigger zu verwenden, also: @{triggerOutputs()?['body/msevtmgt_eventregistrationid']}

/posts/customer-insights-waitlist-1/image7.png


4. Bedingung hinzufügen

Wir fügen eine Bedingung hinzu, bei der geprüft wird, ob das Localized Value Field (1) bzw. technisch
@items('Apply_to_each')?['msdynmkt_localizedfieldvalue'] gleich 2 (2) ist (dies entspricht normalerweise dem zweiten Dropdown-Wert).

Wichtig: Verwende string(2) für den Vergleich, da der Wert im Localized Value Field als String gespeichert wird.

/posts/customer-insights-waitlist-1/image8.png


5. Registrierung für die Begleitperson hinzufügen

Füge eine neue Zeile hinzu mit folgenden Werten:

  • Table Name –> Event Registrations
  • Event (Events) –> /msevtmgt_events/@{triggerOutputs()?['body/_msevtmgt_eventid_value']}
  • Contact (Contacts) –> /contacts/@{triggerOutputs()?['body/_msevtmgt_contactid_value']}
  • Registration ID –> @null (dies ist ein Ausdruck)
  • Primary Role –> Companion
  • Status code –> Registered

/posts/customer-insights-waitlist-1/image9.png
Die Bezeichnungen können vom Bild abweichen, da meine Marketing-Umgebung auf Deutsch ist (Schweiz)


6. Wartelisten-Registrierung für die Begleitperson hinzufügen

Füge eine weitere neue Zeile hinzu mit folgenden Werten:

  • Table Name –> Event Registrations
  • Event (Events) –> /msevtmgt_events/@{triggerOutputs()?['body/_msevtmgt_eventid_value']}
  • Contact (Contacts) –> /contacts/@{triggerOutputs()?['body/_msevtmgt_contactid_value']}
  • Registration ID –> @null (dies ist ein Ausdruck)
  • Primary Role –> Companion
  • Status code –> Waitlisted

Der entscheidende Punkt hierbei ist: Diese Aktion soll nur ausgeführt werden, wenn die vorherige Aktion fehlgeschlagen ist (z. B. wenn das Event ausgebucht ist).

Die Schritte dazu findest du in diesem Artikel:
Microsoft Learn Artikel

Kurz zusammengefasst:

... –> Configure run after –> has failed

Nach der Konfiguration solltest du eine andere Verbindungslinie zwischen den beiden „Add a Row“-Schritten sehen.

/posts/customer-insights-waitlist-1/image10.png


Bleib dran für Teil 2

Super! Das war der erste Teil der „Kann ich jemanden mitbringen?“-Serie. Wir haben behandelt:

  • Wie man Begleitpersonen im Formular erfasst
  • Wie man Registrierungsrollen erweitert
  • Wie man Begleitpersonen automatisch mit Power Automate registriert

In Teil 2 gehen wir noch weiter:

  • Nutzer informieren, wenn ihre Begleitperson auf der Warteliste steht
  • Möglichkeit geben, bei Bedarf zu stornieren
  • Updates senden, wenn Plätze frei werden

Ich hoffe, dieser erste Teil hilft dir, einen saubereren und zuverlässigeren Registrierungsprozess aufzubauen. Im nächsten Artikel schauen wir uns an, wie man das Ergebnis an Teilnehmende kommuniziert und die Erfahrung verbessert, wenn Begleitpersonen involviert sind.

Bis dahin, mach’s gut 🐣


⚠️ UPDATE Part 2 ist schon verfügbar in „Kann ich jemanden mitbringen?“ – Plus-One-Wartelisten in Customer Insights Journeys lösen (Teil 2)