Einführung
Zertifikate sind ein häufiges Ergebnis vieler Geschäftsprozesse, von Schulungsabschlussnachweisen bis zu Auszeichnungen und Teilnahmebestätigungen. Die manuelle Erstellung einzelner Zertifikate für jeden Empfänger ist mühsam und fehleranfällig, insbesondere wenn es sich um Dutzende oder Hunderte von Datensätzen handelt. In diesem Tutorial erstellen wir einen automatisierten Workflow mit FlowRunner und DocuGenerate, der jedes Mal PDF-Zertifikate generiert, wenn ein neuer Datensatz zu einer Datenbanktabelle hinzugefügt wird.
FlowRunner ist Teil der Backendless-Plattform und ermöglicht die einfache Erstellung intelligenter Workflows mit nur wenigen Klicks. Es orchestriert automatisierte Workflows, die KI-Agenten, menschliche Entscheidungsfindung und Systemintegrationen kombinieren. Sowohl technische als auch nicht-technische Benutzer können Workflows erstellen. Nicht-technische Benutzer arbeiten über die visuelle Oberfläche, während technische Benutzer benutzerdefinierten Code und erweiterte Integrationen nutzen können.
Der von uns erstellte Workflow überwacht neue Datensätze in einer Backendless-Datenbanktabelle, generiert ein personalisiertes PDF-Zertifikat mit DocuGenerate, speichert die generierte Datei im Backendless File Service und aktualisiert den ursprünglichen Datenbankdatensatz mit einem Link zur PDF-Datei. Am Ende dieses Leitfadens verfügen Sie über eine vollständig funktionsfähige Zertifikatautomatisierungs-Pipeline, die Sie für jeden Dokumenttyp anpassen können.
Die Zertifikatsvorlage Einrichten
Bevor wir den FlowRunner-Workflow aufbauen, müssen wir die Zertifikatsvorlage in DocuGenerate vorbereiten. Der Einfachheit halber verwenden wir das fertige Leistungszertifikat aus unserer Vorlagenbibliothek. Dies ist ein standardmäßiges Zertifikatslayout mit Merge-Tags für Company Name, Name, Course Name, Diploma Title und Certificate Date. Sie können die Vorlage anpassen, indem Sie das Design ändern, das Layout anpassen oder weitere Merge-Tags hinzufügen, um das Branding und die Anforderungen Ihrer Organisation zu erfüllen.

Nachdem Sie die Vorlagendatei heruntergeladen haben, laden Sie sie in Ihr DocuGenerate-Konto hoch. Notieren Sie sich nach dem Hochladen die Vorlagen-ID, die auf der Vorlagenseite angezeigt wird, da Sie sie beim Konfigurieren des Dokumentengenerierungsschritts im Workflow benötigen.
Die Participants-Tabelle Erstellen
Als Nächstes benötigen wir eine Datenbanktabelle in Backendless, um die für die Zertifikatsgenerierung verwendeten Daten zu speichern. Navigieren Sie zum Abschnitt Database Ihrer Backendless-App und erstellen Sie eine neue Tabelle namens Participants.

Fügen Sie der Tabelle folgende Spalten hinzu:
Certificate Date (DATETIME): Das auf dem Zertifikat aufzudruckende Datum. Certificate URL (STRING): Speichert die URL der generierten Zertifikatsdatei. Diese Spalte wird vom Workflow automatisch befüllt. Company Name (STRING): Der Name des Unternehmens oder der Organisation, die das Zertifikat ausstellt. Course Name (STRING): Der Name des Kurses oder Programms, das der Teilnehmer absolviert hat. Diploma Title (STRING): Der Titel des Diploms oder der zu vergebenden Auszeichnung. Name (STRING): Der vollständige Name des Teilnehmers.

Die Spalte Certificate URL beginnt bei jedem neuen Datensatz leer. Der Workflow füllt sie automatisch mit der URL der generierten PDF aus, nachdem der gesamte Flow abgeschlossen ist, und stellt so einen direkten Link vom Datenbankdatensatz zum Zertifikat bereit.
Den Datenbankauslöser Konfigurieren
Mit der vorhandenen Tabelle wechseln Sie zur Seite FlowRunner Designer und erstellen Sie einen neuen Flow namens “Certificate of Achievement Flow”. Das erste Element, das wir benötigen, ist ein Trigger, der den Flow startet, sobald ein neuer Teilnehmerdatensatz erstellt wird. Wählen Sie im Triggers-Panel den Trigger Record Created in Database aus der Kategorie Data Service.

Die Trigger-Konfiguration ist unkompliziert. Wählen Sie die Tabelle Participants im Dropdown Table or View und setzen Sie Reference Trigger Data As auf Participant. Alle anderen Felder können auf ihren Standardwerten belassen werden.

Das bedeutet: Jedes Mal, wenn eine neue Zeile in die Tabelle Participants eingefügt wird, wird der Flow ausgeführt, und die Datensatzdaten sind als Participant-Objekt in den verbleibenden Schritten zugänglich.
Das Dokument Generieren
Mit dem vorhandenen Trigger können wir den Dokumentengenerierungsschritt hinzufügen. Suchen Sie die DocuGenerate-Erweiterung und wählen Sie die Generate Document-Aktion. Diese Aktion wird jedes Mal ausgeführt, wenn der Trigger auslöst, und generiert ein neues Zertifikat basierend auf den Daten des Teilnehmers.

Konfigurieren Sie die Aktion mit folgenden Parametern:
- Template ID: Die ID der Vorlage, die Sie im früheren Schritt in DocuGenerate hochgeladen haben.
- Name: Verwenden Sie die Expression-Eingabe, um einen dynamischen Namen zu erstellen, indem Sie den Text
Certificate for mit dem Wert Participant -> Name verketten. - Output Name: Leer lassen; die generierte Datei verwendet den Dokumentnamen.
- Output Format: Setzen Sie auf
.pdf, um eine PDF-Datei zu erzeugen. - Data: Verwenden Sie die Expression-Eingabe, um das JSON-Datenobjekt zu erstellen (nachfolgend erklärt).
Setzen Sie abschließend Reference Result Data As auf Document und lassen Sie die übrigen Parameter unverändert.

Der Data-Parameter erfordert ein JSON-Array, das jedes Merge-Tag in der Vorlage dem entsprechenden Wert aus dem Participant-Datensatz zuordnet. Die Expression-Eingabe von FlowRunner ermöglicht es, statischen Text mit dynamischen Block-Ergebnissen zu kombinieren, um dieses JSON zur Laufzeit zu erstellen. Sie wechseln zwischen Text-Eingaben (für die JSON-Struktur und Schlüsselnamen) und Block-Ergebnissen (um die Eigenschaften des Participant-Objekts zu referenzieren). Der resultierende Ausdruck erzeugt einen Wert, der folgendem entspricht:
[{
"Company Name": "Participant -> Company Name",
"Name": "Participant -> Name",
"Course Name": "Participant -> Course Name",
"Diploma Title": "Participant -> Diploma Title",
"Certificate Date": "Participant -> Certificate Date"
}]
Der nachfolgende Screenshot zeigt die Expression-Eingabe mit allen assemblierten Text- und Referenzblöcken. Jeder Schlüssel im JSON-Objekt entspricht einem Merge-Tag in der Zertifikatsvorlage, und jeder Wert wird dynamisch aus dem Datenbankdatensatz des Teilnehmers abgerufen.

Die Datei in Backendless Speichern
Da der Dokumentengenerierungsschritt nun konfiguriert ist, können wir den Workflow weiter aufbauen, indem wir das generierte PDF-Zertifikat im Backendless File Service speichern. Wechseln Sie im Extensions-Panel zu Backendless File Services und wählen Sie die Add To File-Aktion. Diese Aktion fügt Inhalt an eine vorhandene Datei an und kann auch eine neue Datei aus einer Remote-URL erstellen, indem das Feld Content From URL verwendet wird.

Konfigurieren Sie die Aktion mit folgenden Body-Parametern:
- Directory Path: Setzen Sie auf
certificates, um alle generierten Dateien in einem dedizierten Ordner zu speichern. - File Name: Verwenden Sie den Ausdruck
Document -> filename, um die Datei nach dem im vorherigen Schritt generierten Dokument zu benennen. - Content From URL: Verwenden Sie
Document -> document_uri, um die generierte PDF von DocuGenerate herunterzuladen.

Vergessen Sie nicht, Reference Result Data As auf File zu setzen. Das File-Objekt enthält eine fileURL-Eigenschaft, die wir im nächsten Schritt verwenden, um den Speicherort der Datei zurück in der Datenbank zu hinterlegen.
Den Datenbankdatensatz Aktualisieren
Für den letzten Schritt des Workflows müssen wir den ursprünglichen Participants-Datensatz mit der URL des gespeicherten Zertifikats aktualisieren. Dies erstellt eine direkte Verbindung zwischen dem Datenbankdatensatz jedes Teilnehmers und seinem generierten Zertifikat, was es einfach macht, die Datei später abzurufen oder anzuzeigen – sei es aus einer Webanwendung, einem Bericht oder direkt aus der Datenbanktabelle.
Wechseln Sie im Actions-Panel zu Data Service und wählen Sie die Aktion Save Record In Database. Diese Aktion speichert oder aktualisiert Daten in Ihrer Backendless-Datenbank und kann an jedem Punkt im Workflow platziert werden, um zeitnahe Datenaktualisierungen als Reaktion auf bestimmte Ereignisse oder Aktionen sicherzustellen.

Um die Aktion zu konfigurieren, wählen Sie die Option Update record from flow und wählen Sie Use data from dem Participant-Objekt. Im Abschnitt Perform Changes wählen Sie die Eigenschaft Certificate URL und geben den Wert File -> fileURL ein. Dies schreibt die URL der im vorherigen Schritt gespeicherten Datei zurück in den Datensatz des Teilnehmers. Optional können Sie Reference Result Data As auf Record setzen.

Den Workflow Testen
Da alle vier Schritte vorhanden sind, ist der Workflow vollständig und bereit für einen End-to-End-Test. Der Flow folgt einer klaren Sequenz: Ein neuer Datenbankdatensatz löst die Dokumentengenerierung aus, die generierte PDF wird im Backendless File Service gespeichert, und der Datensatz wird mit der Datei-URL aktualisiert.
Um den Flow zu starten, klicken Sie auf die Schaltfläche Play im FlowRunner Designer. Beachten Sie, dass Sie nach dem Start eines Flows keine Änderungen daran vornehmen können, ihn aber jederzeit stoppen und die Konfiguration bei Bedarf aktualisieren können.
Es gibt mehrere Möglichkeiten, den Workflow zu testen. Eine der einfachsten ist die Verwendung der REST Console in der Tabelle Participants. Wir können beispielsweise eine POST-Anfrage mit folgendem Request-Body ausführen:
{
"Company Name": "Wikivu",
"Name": "Brandtr Lusk",
"Course Name": "Property-Casualty Insurers",
"Diploma Title": "Food Chemist",
"Certificate Date": "7/12/2024"
}
Der Response-Body bestätigt, dass ein neuer Datensatz in der Datenbank erstellt wurde. Innerhalb von Momenten wird der Workflow ausgeführt und generiert das Zertifikat.

Wie erwartet erscheint das generierte PDF-Zertifikat im Ordner certificates im File Service. Als zukünftige Verbesserung könnten Sie das Dokument nach dem Speichern in Backendless auch aus DocuGenerate löschen, um Ihr DocuGenerate-Konto übersichtlich zu halten.

In der Tabelle Participants enthält die Spalte Certificate URL nun einen Link zur im Backendless File Service gespeicherten Datei, was bestätigt, dass der gesamte Flow vom Trigger bis zum Abschluss korrekt funktioniert.

Wenn Sie diesen Workflow selbst ausprobieren möchten, können Sie die vollständige Flow-Definition herunterladen und in Ihre FlowRunner-Instanz importieren. Sie müssen die Vorlagen-ID und Tabellenreferenzen aktualisieren, um Ihrer eigenen Backendless-App-Konfiguration zu entsprechen.
Fazit
In diesem Tutorial haben wir einen vollständigen Zertifikatautomatisierungs-Workflow mit FlowRunner und DocuGenerate aufgebaut. Der Flow überwacht neue Datensätze in einer Backendless-Datenbank, generiert ein personalisiertes PDF-Zertifikat für jeden Teilnehmer, speichert die Datei im Backendless File Service und aktualisiert den Datenbankdatensatz mit einem Link zum generierten Dokument. Der gesamte Prozess läuft automatisch ab, ohne manuellen Eingriff, sobald der Flow gestartet wurde.
Dieser Workflow demonstriert ein praktisches Beispiel dafür, was Sie mit FlowRunner und DocuGenerate aufbauen können. Dasselbe Muster gilt für jedes Szenario, in dem Sie Dokumente aus Datenbankdatensätzen generieren müssen – wie Rechnungen, Verträge, Berichte oder andere Dokumente auf Vorlagenbasis. Sie könnten diesen Workflow auch durch E-Mail-Benachrichtigungen, bedingte Verzweigungen basierend auf Datensatzdaten oder Integrationen mit anderen im Backendless-Ökosystem verfügbaren Diensten erweitern.
Ressourcen