RegisterParticipant

Kernflow für die Teilnehmer-Anmeldung

Flow-ID12db96ef-b7e7-6cf8-c1c4-24d7f9fb96c5
StatusStarted (produktiv)
TriggerSharePoint - When an item is created (Intervall: 5 Minuten)
KategorieRegistrierung

Beschreibung

Der RegisterParticipant-Flow ist das Herzstück des Anmeldeprozesses. Er verarbeitet alle neuen Teilnehmeranmeldungen, die über die Power App eingehen, und entscheidet basierend auf der verfügbaren Kapazität, ob ein Teilnehmer registriert oder auf die Warteliste gesetzt wird.

Was dieser Flow macht

Entscheidungslogik:

Anmeldung eingetroffen → Kapazität prüfen →
Ja: Platz frei → Status "Registered" → E-Mail + Kalender
Nein: Event voll → Status "Waitlist" → Wartelisten-Info

Auslöser und Timing


Actions im Detail

Der Flow besteht aus 14 Actions, die in 4 logische Cluster unterteilt sind:

1. Initialisierung & Datenabfrage

Vorbereitung der Verarbeitung und Laden aller benötigten Daten:

  • Arbeitsvariablen werden initialisiert für Item-ID, User-Listen-ID und Status
  • Die Event-Details werden aus SharePoint geladen (Kapazität, aktuelle Teilnehmerzahl)
  • Die aktuelle Anzahl registrierter Teilnehmer wird gezählt
  • Diese Daten bilden die Grundlage für die Kapazitätsentscheidung
ActionTypBeschreibung
Initialize_Mail_LoeschenInitializeVariableFlag für E-Mail-Verarbeitung
Initialize_varItemIDInitializeVariableSpeichert ID des Eintrags
Initialize_variable-_varUserListIdInitializeVariableSpeichert User-Listen-ID
Initialize_variable-varRegisteredColumnInitializeVariableSpeichert Registrierungsstatus
Get_itemSharePoint GetItemLädt Event-Details (Kapazität etc.)
Get_itemsSharePoint GetItemsZählt aktuelle Registrierungen

2. Kapazitätsprüfung & Entscheidung

Die zentrale Geschäftslogik des Flows - Entscheidung über Registrierung oder Warteliste:

  • Die Anzahl registrierter Teilnehmer wird mit der maximalen Kapazität verglichen
  • Ist Kapazität verfügbar (Registrierte < Maximum), wird der Teilnehmer registriert
  • Ist das Event ausgebucht, wird der Teilnehmer auf die Warteliste gesetzt
  • Der Status wird entsprechend als "Registered" oder "Waitlist" gespeichert
ActionTypBeschreibung
Condition (Kapazität)IfPrüft: Registrierte < Kapazität?
Update_item (Registered)SharePoint PatchItemErstellt Eintrag mit Status "Registered"
Update_item (Waitlist)SharePoint PatchItemErstellt Eintrag mit Status "Waitlist"

3. E-Mail & Kalender-Integration

Benachrichtigung des Teilnehmers und Outlook-Integration (nur bei erfolgreicher Registrierung):

  • Bei Registrierung wird der Child Flow für Outlook-Kalender aufgerufen
  • Der Teilnehmer wird zum bestehenden Event-Termin hinzugefügt
  • Eine Bestätigungsmail wird über die Shared Mailbox versendet
  • Bei Warteliste erhält der Teilnehmer eine andere E-Mail mit seiner Position
ActionTypBeschreibung
Run_a_Child_Flow (Outlook)WorkflowRuft RegisterOutlookEventParticipant auf
Run_a_Child_Flow (Mail)WorkflowRuft SendMailSharedMailbox auf

4. Batch-Verarbeitung & Fehlerbehandlung

Strukturierung für mehrere gleichzeitige Anmeldungen und robuste Fehlerbehandlung:

  • Eine Apply_to_each-Schleife verarbeitet alle neuen Anmeldungen in der Queue
  • Scope-Blöcke gruppieren zusammengehörige Actions für bessere Fehlerbehandlung
  • Bei Fehlern in einem Durchlauf werden andere Anmeldungen nicht beeinträchtigt
  • Jede Anmeldung wird unabhängig voneinander verarbeitet
ActionTypBeschreibung
Apply_to_eachForeachIteriert über alle neuen Anmeldungen
ScopeScopeGruppiert Actions für Fehlerbehandlung

Abhängigkeiten

Ruft aufWird aufgerufen von
  • RegisterOutlookEventParticipant
  • SendMailSharedMailbox
  • Automatisch durch SharePoint-Trigger (Queue-Liste)
  • Indirekt durch Power App (erstellt Queue-Eintrag)

Zusammenspiel mit anderen Flows

SzenarioBeteiligte Flows
Normale Anmeldung RegisterParticipant → RegisterOutlookEventParticipant → SendMailSharedMailbox
Warteliste + Nachrücken RegisterParticipant (Waitlist) → DeregisterParticipant (anderer User) → RegisterParticipant (Promote)