Vom Formular zum Zertifikat: Ein automatisierter Workflow mit Zoho und externen APIs
In der heutigen digitalen Landschaft geht es nicht mehr nur darum, eine einzelne, gute Softwarelösung zu haben. Der wahre Mehrwert entsteht, wenn du verschiedene Systeme intelligent miteinander verbindest, um manuelle Prozesse zu eliminieren und nahtlose Abläufe zu schaffen. Viele Zoho-Nutzer stehen vor der Herausforderung, Daten nicht nur innerhalb des Zoho-Ökosystems auszutauschen, sondern auch externe Dienste und Plattformen nahtlos zu integrieren. Dieser Artikel zeigt dir anhand eines praxisnahen Beispiels, wie du einen kompletten Prozess – von der Datenerfassung über die Verarbeitung bis hin zur Erstellung und dem Versand eines Dokuments – vollständig automatisieren kannst. Wir konzentrieren uns dabei auf die Kombination von Zoho Apps und die gezielte Nutzung von Webhooks und externen APIs, um die Funktionalität deines Setups erheblich zu erweitern.
Praxisbeispiel: Automatisierte Zertifikatserstellung für Schulungsteilnehmer
Stell dir vor, du betreibst ein Unternehmen, das Schulungen oder Workshops anbietet, beispielsweise im Bereich Lebensmittelsicherheit, Softwareentwicklung oder Projektmanagement. Nach jeder Schulung müssen die Teilnehmer einen Test absolvieren. Bestehen sie diesen, erhalten sie ein personalisiertes Zertifikat. Der manuelle Prozess sieht oft so aus:
- Du versendest den Test als PDF oder Link per E-Mail.
- Die Antworten werden manuell ausgewertet.
- Für jeden erfolgreichen Teilnehmer wird eine Zertifikatsvorlage in Word oder einem anderen Programm geöffnet.
- Name, Datum und Ergebnis werden manuell eingetragen.
- Das Dokument wird als PDF gespeichert und anschließend per E-Mail versendet.
Dieser Prozess ist nicht nur zeitaufwendig, sondern auch extrem fehleranfällig. Ein Tippfehler im Namen, das falsche Datum oder eine vergessene E-Mail können schnell zu Unzufriedenheit führen. Unser Ziel ist es, diesen gesamten Ablauf zu 100 % zu automatisieren.
Schritt-für-Schritt Anleitung zur automatisierten Lösung
Für unsere Lösung kombinieren wir mehrere leistungsstarke Werkzeuge. Das Herzstück bildet dein Zoho CRM, in dem die Teilnehmerdaten gespeichert sind. Die Interaktion erfolgt über ein Zoho Forms, und die Magie passiert im Hintergrund durch eine Custom Function (Deluge-Skript) und die Anbindung einer externen API.
Schritt 1: Das Fundament in Zoho CRM vorbereiten
Alles beginnt mit sauberen Daten. In deinem Zoho CRM-Modul „Kontakte“ oder einem benutzerdefinierten Modul „Teilnehmer“ solltest du sicherstellen, dass alle relevanten Felder vorhanden sind. Für unser Beispiel fügen wir drei benutzerdefinierte Felder hinzu:
- Letzter Test-Score: Ein numerisches Feld, um die erreichte Punktzahl zu speichern.
- Zertifikatsstatus: Eine Auswahlliste mit Werten wie „Nicht teilgenommen“, „Nicht bestanden“, „Zertifikat ausgestellt“.
- Zertifikats-URL: Ein URL-Feld, falls du das generierte PDF auf einem Cloud-Speicher wie Zoho WorkDrive ablegen möchtest.
Schritt 2: Den Test in Zoho Forms erstellen
Erstelle in Zoho Forms ein neues Formular für deinen Test. Nutze die „Quiz“-Funktion, um für jede Frage Punkte zu vergeben. Der entscheidende Trick ist, die Teilnehmerdaten aus dem CRM mit der Formularübermittlung zu verknüpfen.
Dazu fügst du dem Formular ein verborgenes Feld hinzu (z. B. mit dem Namen `crm_contact_id`). Wenn du den Link zum Formular an deine Teilnehmer sendest (z.B. über eine E-Mail-Vorlage aus dem CRM), kannst du den Link dynamisch mit der Kontakt-ID des jeweiligen Teilnehmers personalisieren. Der Link sieht dann so aus:
https://forms.zoho.com/dein-formular-link?crm_contact_id=${Contacts.Contact Id}
So weißt du bei jeder Einsendung, welcher Kontakt den Test ausgefüllt hat.
Schritt 3: Die Logik per Webhook und Custom Function implementieren
Jetzt kommt der Kern der Automatisierung. Anstatt einer simplen Formular-zu-CRM-Integration nutzen wir einen Webhook. Ein Webhook ist ein HTTP-Aufruf, den Zoho Forms automatisch nach jeder Einsendung an eine von dir definierte URL sendet. Diese URL zeigt auf eine „Custom Function“ in Zoho CRM.
So richtest du es ein:
- Gehe in Zoho CRM zu Einstellungen > Entwicklerbereich > Funktionen und erstelle eine neue Funktion. Wähle „Standalone“ als Funktionstyp.
- Schreibe dein Deluge-Skript (siehe Codebeispiel unten).
- Nach dem Speichern klicke auf die drei Punkte neben der Funktion und wähle „REST API“. Kopiere die „Invoke URL“.
- Gehe in Zoho Forms zu den Einstellungen > Integrationen > Webhooks deines Formulars. Füge die kopierte URL ein. Wähle als Payload-Format „JSON“. Mappe die Formularfelder (insbesondere die `crm_contact_id` und den „Total Score“) auf die Parameter deines Skripts.
Dein Deluge-Skript könnte wie folgt aussehen:
// Name der Funktion: processTrainingTest
// Argumente: crm_contact_id (string), test_score (string)
void processTrainingTest(string crm_contact_id, string test_score)
{
// Log-Information für Debugging
info "Webhook empfangen für Kontakt-ID: " + crm_contact_id + " mit Score: " + test_score;
// Passing-Score definieren (z.B. 75 Punkte)
passing_score_threshold = 75;
// Konvertiere den Score in eine Zahl
score_as_int = test_score.toLong();
// 1. CRM-Kontakt-Datensatz aktualisieren
update_map = Map();
update_map.put("Letzter_Test_Score", score_as_int);
// 2. Prüfen, ob der Test bestanden wurde
if(score_as_int >= passing_score_threshold)
{
update_map.put("Zertifikatsstatus", "Zertifikat wird erstellt");
// CRM-Datensatz aktualisieren
updateResp = zoho.crm.updateRecord("Contacts", crm_contact_id.toLong(), update_map);
info updateResp;
// 3. Zertifikatserstellung anstoßen (siehe Schritt 4)
// Hole die notwendigen Kontaktdaten
contact_details = zoho.crm.getRecordById("Contacts", crm_contact_id.toLong());
contact_name = contact_details.get("Full_Name");
// Hier rufen wir die Funktion zur PDF-Erstellung auf
pdf_url = thisapp.generateCertificateViaAPI(contact_name, score_as_int);
// Optional: PDF-URL im CRM speichern
final_update_map = Map();
final_update_map.put("Zertifikats_URL", pdf_url);
final_update_map.put("Zertifikatsstatus", "Zertifikat ausgestellt");
zoho.crm.updateRecord("Contacts", crm_contact_id.toLong(), final_update_map);
// 4. Zertifikat per E-Mail versenden
sendmail
[
from :"[email protected]"
to :contact_details.get("Email")
subject :"Dein Schulungszertifikat!"
message :"Hallo " + contact_details.get("First_Name") + ", anbei findest du dein Zertifikat. Herzlichen Glückwunsch!
Du kannst es auch hier herunterladen: " + pdf_url
content_type : "html"
]
}
else
{
// Wenn nicht bestanden
update_map.put("Zertifikatsstatus", "Nicht bestanden");
updateResp = zoho.crm.updateRecord("Contacts", crm_contact_id.toLong(), update_map);
info updateResp;
// Optional: Benachrichtigungs-E-Mail senden
}
}
Schritt 4: Das Zertifikat on-the-fly generieren
Für die Erstellung des PDFs gibt es zwei exzellente Wege:
Option A: Intern mit Zoho Writer
Du kannst in Zoho Writer eine Vorlage für dein Zertifikat erstellen. Über die Zoho Writer API kannst du diese Vorlage mit den Daten aus dem CRM (Name, Datum, Score) zusammenführen (Mail Merge) und das Ergebnis als PDF in Zoho WorkDrive speichern. Dies ist eine robuste Lösung, die komplett im Zoho-Universum bleibt.
Option B: Extern und flexibel mit einer PDF-API
Manchmal benötigst du mehr Flexibilität im Design oder hast bereits einen Dienst im Einsatz. Hier glänzt die API-Integration. Dienste wie PDF.co, Api2Pdf oder Docamatic ermöglichen es dir, aus einfachem HTML-Code ein PDF zu generieren. Dies ist extrem mächtig, da du das Aussehen des Zertifikats komplett mit HTML und CSS steuern kannst.
Hier ein Beispiel-Snippet für eine weitere Deluge-Funktion, die eine solche externe API aufruft:
// Name der Funktion: generateCertificateViaAPI
// Argumente: participant_name (string), score (int)
// Rückgabewert: URL zum PDF (string)
string generateCertificateViaAPI(string participant_name, int score)
{
// API-Endpunkt und Key (sicher in Zoho Vault speichern!)
api_endpoint = "https://api.pdf.co/v1/pdf/convert/from/html";
api_key = "DEIN_PDF_CO_API_KEY";
// HTML-Code für das Zertifikat erstellen
html_content = "Zertifikat
für " + participant_name + "
hat den Test mit " + score + " Punkten erfolgreich bestanden.
";
// Request-Parameter vorbereiten
request_body = Map();
request_body.put("html", html_content);
request_body.put("name", "Zertifikat_" + participant_name.replaceAll(" ","_") + ".pdf");
request_body.put("inline", false);
// Header für die Authentifizierung
headers = Map();
headers.put("x-api-key", api_key);
// API-Aufruf mit invokeurl
response = invokeurl
[
url :api_endpoint
type :POST
parameters:request_body.toString()
headers:headers
];
// Log-Response für Debugging
info response;
// URL aus der API-Antwort extrahieren und zurückgeben
response_map = response.toMap();
return response_map.get("url");
}
Tipps und Best Practices
- Sicherheit geht vor: Speichere API-Schlüssel, Passwörter und andere sensible Daten niemals direkt im Code. Nutze Zoho Vault, um diese sicher zu verwalten und per Deluge-Skript abzurufen.
- Robustes Error-Handling: Was passiert, wenn die externe API nicht erreichbar ist? Baue `try…catch`-Blöcke in dein Deluge-Skript ein, um Fehler abzufangen. Du könntest den „Zertifikatsstatus“ im CRM auf „Fehler bei Erstellung“ setzen und eine interne Benachrichtigung an einen Admin in Zoho Cliq senden.
- Skalierbarkeit bedenken: Wenn du Tausende von Zertifikaten pro Tag erstellen musst, könnte eine CRM Custom Function an ihre Limits stoßen. Für solche hochvolumigen Anwendungsfälle ist Zoho Catalyst, die Serverless-Plattform von Zoho, die bessere Wahl. Dort kannst du komplexere Funktionen ohne Ausführungslimits erstellen.
- Mehr als nur E-Mail: Statt das Zertifikat nur per E-Mail zu versenden, könntest du es auch im Kundenportal deines Zoho Desk zur Verfügung stellen oder den Link per SMS über eine Integration mit Diensten wie Twilio versenden.
Zusätzliche Erweiterungsmöglichkeiten
Dieser Workflow ist nur der Anfang. Du könntest ihn weiter ausbauen:
- Event-Management: Verwalte deine Schulungen mit Zoho Backstage. Nach dem Event werden die Teilnehmer automatisch in eine Drip-Kampagne in Zoho Campaigns aufgenommen, die sie zum Test einlädt.
- Lernplattform: Integriere den gesamten Prozess in ein Learning Management System (LMS) wie Zoho Learn.
- Reporting: Nutze Zoho Analytics, um die Daten aus CRM und Forms zu synchronisieren. Erstelle Dashboards, die Erfolgsquoten, durchschnittliche Punktzahlen pro Kurs und andere wichtige KPIs visualisieren.
- KI-Unterstützung: Lass dir von KI wie ChatGPT bei der Erstellung der Testfragen oder bei der Formulierung der E-Mail-Texte helfen, um deine Prozesse noch effizienter zu gestalten.
Fazit
Die wahre Stärke von Zoho liegt in seiner Fähigkeit, als zentraler Hub für deine Geschäftsprozesse zu fungieren. Durch die intelligente Kombination von Apps wie Zoho CRM und Zoho Forms mit der Flexibilität von Deluge-Skripten, Webhooks und externen APIs kannst du maßgeschneiderte Automatisierungen bauen, die exakt auf deine Bedürfnisse zugeschnitten sind. Du sparst nicht nur enorm viel Zeit und reduzierst manuelle Fehler, sondern schaffst auch ein professionelles und reibungsloses Erlebnis für deine Kunden. Die Investition in die Konzeption und Umsetzung solcher Workflows zahlt sich durch Effizienz und Skalierbarkeit schnell aus.
Verwendete Zoho Apps in diesem Beispiel:
- Zoho CRM
- Zoho Forms
- Zoho Writer (Option A)
- Zoho WorkDrive (Option A)
- Zoho Cliq (für Benachrichtigungen)
- Zoho Vault (für Sicherheit)
