NewEventAdded_SiteProvis
Hauptflow für die automatische Event-Erstellung
Beschreibung
Dies ist der zentrale Flow für die Event-Erstellung in der DEX-Plattform. Er wird automatisch ausgelöst, wenn ein neues Event in der SharePoint Events-Liste angelegt wird und orchestriert den gesamten Erstellungsprozess.
Was dieser Flow macht
- Infrastruktur erstellen: Legt eine dedizierte SharePoint-Subsite für das Event an mit standardisierten Einstellungen
- Teilnehmerliste konfigurieren: Ruft den passenden Template-Flow auf (B2Run oder Other Event), der alle erforderlichen Listenfelder erstellt
- Outlook-Integration: Erstellt einen Kalender-Termin in der Shared Mailbox, der später für Teilnehmer-Einladungen verwendet wird
- Benachrichtigung: Informiert den Organizer per E-Mail über die erfolgreiche Erstellung mit Link zur Teilnehmerliste
- Berechtigungen setzen: Bei Events mit eingeschränkter Zielgruppe werden entsprechende Zugriffsrechte konfiguriert
Unterstützte Event-Typen
- B2Run Event: Verwendet ApplyTemplateB2Run mit speziellen Feldern für Laufstrecke, Team etc.
- JP Morgan Run: Verwendet ApplyTemplateOtherEvent mit Standardfeldern
- Other Deloitte Event: Verwendet ApplyTemplateOtherEvent mit Standardfeldern
Actions im Detail
Der Flow besteht aus 25 Actions, die in 6 logische Cluster unterteilt sind:
1. Initialisierung & Status-Update
Dieser Block bereitet den Flow vor und signalisiert den Start der Verarbeitung:
- Das Event wird auf "Under Construction" gesetzt, damit Anwender wissen, dass die Erstellung läuft
- Alle benötigten Variablen werden initialisiert (Titel, URL, Content Type)
- Diese Variablen werden im weiteren Verlauf des Flows befüllt und verwendet
| Action | Typ | Beschreibung |
|---|---|---|
| Update_item-_Set_Status_to_Under_Construction | SharePoint PatchItem | Setzt Event-Status auf "Under Construction" |
| Initialize_variable-_varSiteTitle | InitializeVariable | Speichert Event-Titel für Subsite |
| Initialize_variable-_varSiteURL | InitializeVariable | Initialisiert URL-Variable |
| Initialize_variable-_varSubject-Name | InitializeVariable | Variable für bereinigten Site-Namen |
| Initialize_variable-_varFinalURL | InitializeVariable | Speichert finale Subsite-URL |
| Initialize_variable-_varContentTypeName | InitializeVariable | Speichert Event-Typ für Switch |
2. URL-Bereinigung & Validierung
SharePoint-URLs dürfen bestimmte Sonderzeichen nicht enthalten. Dieser Block bereinigt den Event-Titel:
- Ein Array mit ungültigen Zeichen wird erstellt: Leerzeichen, :, #, %, ", *, ?, /, \, | etc.
- Der Event-Titel wird iterativ von allen ungültigen Zeichen bereinigt
- Das Ergebnis ist ein URL-sicherer Site-Name ohne Sonderzeichen
| Action | Typ | Beschreibung |
|---|---|---|
| Compose-_Create_FilterCharArray | Compose | Erstellt Array mit ungültigen URL-Zeichen |
| Apply_to_each (Filter) | Foreach | Entfernt jedes ungültige Zeichen aus dem Titel |
3. SharePoint-Subsite erstellen
Die eigentliche Erstellung der Event-Infrastruktur in SharePoint:
- Ein HTTP POST-Request an die SharePoint REST API erstellt die neue Subsite
- Template STS#3 (Team Site ohne Microsoft 365 Gruppe) wird verwendet
- Die API-Antwort wird geparst um die ServerRelativeUrl zu extrahieren
- Die finale URL wird zusammengesetzt und gespeichert
| Action | Typ | Beschreibung |
|---|---|---|
| Send_an_HTTP_request_to_SharePoint-_Create_New_Sub_Site | SharePoint HttpRequest | POST an /_api/web/webinfos/add |
| Parse_JSON-_Parse_Response | ParseJson | Extrahiert ServerRelativeUrl |
| Set_variable_-_varSiteURL | SetVariable | Speichert relative URL |
| Compose-_FinalURL_+_SubjectName | Compose | Kombiniert zu finaler URL |
4. Template-Flow aufrufen
Je nach Event-Typ wird der passende Template-Flow aufgerufen:
- Der Content Type des Events bestimmt, welcher Template-Flow verwendet wird
- B2Run Events erhalten spezielle Felder für Laufstrecke, Team-Zugehörigkeit etc.
- JP Morgan und andere Events erhalten die Standard-Teilnehmerliste
- Der Template-Flow erstellt die Teilnehmerliste mit allen erforderlichen Feldern
| Action | Typ | Beschreibung |
|---|---|---|
| Set_variable-_varContentTypeName | SetVariable | Liest Content Type des Events |
| Switch | Switch | Verzweigt nach Event-Typ |
| Run_a_Child_Flow (Template) | Workflow | Ruft ApplyTemplateB2Run oder ApplyTemplateOtherEvent auf |
5. Outlook-Kalendereintrag erstellen
Für die spätere Teilnehmer-Integration wird ein Basis-Kalendereintrag erstellt:
- Start- und Endzeit werden aus den Event-Daten in ISO-Format konvertiert
- Der Child Flow CreateOutlookEventSharedMailbox erstellt den Termin
- Die zurückgegebene Outlook-Event-ID wird gespeichert für spätere Teilnehmer-Einladungen
- Der Termin dient als "Master-Event", zu dem Teilnehmer hinzugefügt werden
| Action | Typ | Beschreibung |
|---|---|---|
| Compose_2, Compose_3 | Compose | Formatiert Start/End-Zeit in ISO |
| Run_a_Child_Flow_1 (Outlook) | Workflow | Ruft CreateOutlookEventSharedMailbox auf |
| Initialize_variable (varOutlookEventID) | InitializeVariable | Speichert Outlook-Event-ID |
| Update_item_-_Events | SharePoint PatchItem | Speichert URL und Outlook-ID im Event |
| Append_to_string_variable | AppendToStringVariable | Fügt /Lists/Teilnehmerliste hinzu |
6. Organizer benachrichtigen & Berechtigungen
Abschluss des Flows mit Benachrichtigung und optionaler Berechtigungskonfiguration:
- Event- und Deloitte-Logo werden geladen und als Data-URI für E-Mail vorbereitet
- Jeder Organizer erhält eine Bestätigungsmail mit Link zur Teilnehmerliste
- Falls eine Audience angegeben wurde, werden entsprechende Berechtigungen gesetzt
- Der EventPermission-Flow beschränkt dann den Zugriff auf die definierte Zielgruppe
| Action | Typ | Beschreibung |
|---|---|---|
| Get_file_content-_Logo | SharePoint GetFileContent | Lädt Event-Logo |
| Get_file_content-_Deloitte_Logo | SharePoint GetFileContent | Lädt Deloitte-Logo |
| Compose, Compose_1 | Compose | Konvertiert zu Data-URIs |
| Initialize_variable_1, Initialize_variable_2 | InitializeVariable | Erstellt HTML img-Tags |
| For_each (Organizer) | Foreach | Iteriert über alle Organizer |
| Send_an_email_from_a_shared_mailbox_(V2) | Office 365 | Sendet Bestätigungsmail |
| Initialize_variable_3 (EmailString) | InitializeVariable | Variable für Audience |
| Condition (Audience Mail) | If | Prüft ob Audience definiert |
| Run_a_Child_Flow_3 (Permission) | Workflow | Ruft EventPermission auf |
Abhängigkeiten
| Ruft auf | Wird aufgerufen von |
|---|---|
|
|