In der öffentlichen Verwaltung und in den Unternehmen werden die bisherigen Papierformulare immer häufiger durch PDF-Dokumente ersetzt.
Mithilfe des Service "pdf-fill-in" kann der Nutzer beim Ausfüllen eines solchen PDF-Formulars durch einen Chatbot unterstützt werden.
Im ersten Teil dieser Anleitung wird die Einrichtung eines einfachen Formular-Assistenten gezeigt, welcher die Nutzereingaben in ein PDF-Formular einträgt und die ausgefüllte PDF zum Download anbietet.
Im
zweiten Teil wird eine PDF-Erstellung per individuellem Webservice mit dynamisch berechneten Inhalten betrachtet.
Zuerst benötigen Sie eine leere Vorlage für das PDF-Formular. Hierfür eignet sich z.B. eine bestehende PDF für die Papiervorlage, welche um interaktive Text-Felder zu ergänzen ist.
Felder können z.B. mit der Open-Source-Desktop-Publishing-Software
Scribus hinzugefügt werden. Jedes Feld erhält einen eigenen Namen. Diese Namen
werden später noch benötigt für die Zuordnung der Nutzereingaben. Die fertige Vorlage ist als PDF-Dokument zu exportieren.
Damit der Webservice Zugriff auf die Vorlage erhält, ist die PDF-Datei auf einen Datei-Server in der Cloud hochzuladen.
Der Webservice unterstützt hier z.B. das kostenfreie Angebot von "Google Drive".
Laden Sie also das PDF-Dokument in Ihre Google-Drive-Ablage und teilen Sie es mit dem Dienstkonto-Nutzer production@kiko-webservices.iam.gserviceaccount.com .
Ermitteln Sie nun noch die Google-Drive File-ID. Dafür lassen Sie sich die Datei in Google-Drive anzeigen und öffnen Sie dann in einem neuen Fenster (Dreipunkt-Menü oben rechts --> "In neuem Fenster öffnen").
Als nächstes richten Sie einen Chatbot mit eine Absicht zum Ausfüllen der PDF ein. Dafür benötigen Sie ein Kiko-CMS-Konto (
Kostenlose Registrierung),
Die Beispiel-Absicht besitzt
- einer Erkennungsregel,
- einer Weiterleitung zu einem externen Subbot und
- einer Eingabeaufforderung für die individuellen Formular-Werte.
- einer Vorlage für die Chatbot-Ausgabe,
Einige dieser Elemente erstellen Sie vorher im CMS-Konto.
Im Beispiel genügt die Eingabe des Schlüsselwortes "pdf", um die Absicht zu erkennen.
Dafür wird unter "Inhalt" im "metabot" eine neuer Entitätstyp "schluesselwort" angelegt (Rückfrage: "Welches Schlüsselwort?").
Die Berechnung der PDF und die Versendung der Chatbot-Nachricht erfolgt im Webservice.
Für den Webservice richten Sie einen neuen externen Subbot "pdf-fill-in-external" in der Botliste ein.
Den Kiko_Webservice-Apikey erhalten Sie über den Kiko-Support.
Zur Eingabe der individuellen Formular-Werte wird im Beispiel die Slot-Filling-Funktion genutzt.
Legen Sie dafür die beiden Parameter "firstname" ("Wie lautet Ihr Vorname?") und "lastname" ("Wie ist Ihr Nachname?") an.
Legen Sie nun die Absicht "pdf" an.
Die Ergebnis-Nachricht erhält der Nutzer, nachdem er seine Formular-Daten eingegeben hat.
Die Nachricht mit dem PDF-Link ist vom Typ "Visuell" (=HTML). Der Platzhalter {{PDF-LINK}} wird später mit dem individuellen PDF-Link ersetzt.
Tragen Sie ein: "Hier die fertige {{PDF-LINK}}."
Tragen Sie bei der Erkennungsregel den Wert "pdf" ein.
Geben Sie beim Ablauf die Weiterleitung zum Subbot "pdf-fill-in-external".
Aktivieren Sie die beiden Slot-Filling-Parameter und "Parameter abfragen".
Tragen Sie folgenden JSON-Text in die Metadaten für den externen Subbot ein und verwenden Sie ihre individuellen Werte:
- {
- "template-source-type": "google-drive",
- "template-identifier": "GOOGLE-DRIVE FILE-ID",
- "template-fields": {
- "PDF-FELD-NAME-1": "{{lastname}}, {{firstname}}",
- "PDF-FELD-NAME-2": "Sehr geehrte Damen und Herren, \n\nLorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque in libero nec mi laoreet volutpat. Aliquam eros pede, scelerisque quis, tristique cursus, placerat convallis, velit. \n\nMit freundlichen Grüßen \n{{firstname}} {{lastname}}"
- },
- "destination":{
- "flatten": true,
- "filename": "brief.pdf"
- },
- "link": {
- "label": "PDF",
- "target": "_self",
- "auto-open": true
- }
- }
Parameter | Erläuterung |
template-fields | Für jedes PDF-Feld kann der Inhalt bestimmt werden. Die Namen der Slot-Filling-Parameter können als Platzhalter genutzt werden. Zeilenumbrüche sind mit \n zu ersetzen. |
destination.flatten | Wenn "false", bleiben die Inhalte der Formularfelder interaktiv. Der Nutzer kann dann auch nach dem Download weitere Änderungen direkt in der PDF vornehmen. |
destination.filename | Hier können Sie einen Dateinamen festlegen. |
link.label | Der Titel des Links in der Chatbot-Ausgabe kann angepasst werden. |
link.target | "_self" öffnet die PDF im Info-Bereich des Webchats. Wenn der Chat als "app" gestartet wurde, dann befindet sich dieser Bereich in der Desktop-Darstellung rechts neben dem Chat. |
link.auto-open | Falls "app"-Modus und "_self"-Target eingestellt sind, wird die PDF sofort im Info-Bereich angezeigt - als ob der PDF-Link geklickt worden wäre. |
Nun können Sie die Absicht testen.
Starten Sie eine neue Conversation (Testchat -> 3-Punkt-Menü -> Schalter)
- Chatbot: Hallo, ich bin Kiko und versuche gerne, Ihre Fragen zu beantworten.
- Nutzer: pdf
- Chatbot: Wie lautet Ihr Vorname?
- Nutzer: Max
- Chatbot: Wie ist Ihr Nachname?
- Nutzer: Mustermann
...
- Chatbot: Hier die fertige PDF(verlinkt).
Für jede Conversation wird vom Webservice eine neue URL erzeugt.
Das erneute Ausfüllen der gleichen PDF-Vorlage in einer Conversation überschreibt die letzte erzeugte PDF des Nutzers.
Weiterführende Links
- Kiko-CMS-Konto (Kostenlose Registrierung)
- PDF - Individuell aus Vorlage (Teil 2)