LimeSoda Blog ☰ Zeige Kategorien

Facebook Bots – Welcome to the Future

Was zum Teufel ist ein Bot?

Grundsätzlich nimmt ein Bot den Input eines Users entgegen und reagiert/antwortet darauf. Grob kann man dabei zwischen zwei Interaktionsmöglichkeiten unterscheiden:

  • Rulebased Bots: Der User schreibt entweder fix vorgegebene Textbausteine oder nutzt ein vorgegebenes Interface (zb. Buttons).
  • AI (Artificial Intelligence) / NLP (Natural Language Processing): Bots können auf vollständige Sätze reagieren (siehe SIRI oder Google Now) und/oder sind „lernfähig“. Der Film „Her“ zeigt das ebenfalls eindrucksvoll (und bedenklich).

Rulebased Bots sind naturgemäß sehr einfach zu programmieren, für komplexere (AI-)Bots gibt es Services wie wit.ai (von Facebook). Die User Nachrichten werden dabei an die Plattform (bei Facebook wäre das eine Facebook Seite) versendet und ausgewertet. Nebenbei gibt es fertige Bot-Plattformen, bei welchen man sich einen simplen Bot einfach zusammenklicken kann: Bei Chatfuel kann ein durchaus umfangreicher Bot erstellt werden, der jedoch niemals die Flexibilität eines eigenen Bots besitzt und auch nicht auf dynamischen User-Input reagieren kann – zum Beispiel könnte ich mir nicht den Lagerstatus eines bestimmten Shop-Produktes ausgeben lassen, weil ich dafür den Produkttitel (oder die Produkt-ID) in der User-Eingabe auswerten müsste. Positiv ist allerdings dass bei Chatfuel kein Review-Prozess notwendig ist, nachdem Chatfuel schon der fertige Chatbot ist.

Das Konzept der Bots gibt es schon länger, wirklich bekannt wurden die Message Bots aber erst mit Facebooks Messenger Platform. Mittlerweile hat sich ein unglaublicher Hype darum entwickelt, von simplen Wetter-Bots bis hin zu komplexen textbasierten Games ist mittlerweile einiges dabei.

Anforderungen eines Facebook Bots

  • Bots erhalten Nachrichten per POST request an einen bestimmten URL („Webhook“). Grundsätzlich bleibt die Wahl der Serversprache dem Programmierer überlassen, Facebook bietet allerdings für Node.js ein umfangreiches Beispielprojekt an und verwendet auch in der Dokumentation Node.js. Dafür kann ich als Node.js Fan aber generell eine klare Empfehlung aussprechen :) – PHP macht eher bei fertigen Systemen Sinn, die (noch) auf PHP basieren (Shopsysteme, CMS). Neben Node.js ist Python ebenfalls sehr populär für Bots.
  • Für den Webhook URL ist zwingend SSL notwendig. Das sollte aber mittlerweile ohnehin Pflicht sein.
  • Ein Bot muss einer Seite hinzugefügt werden, der Bot antwortet im Namen der Seite.
  • Ein eigener Bot muss erst durch den Facebook Review Prozess, bevor er für alle User funktioniert.
  • Nicht direkt eine Anforderung, aber ein Tipp: Der Bot muss nicht nur ein simpler Antwort-Automat sein, er kann auch ein Gesicht erhalten, bzw. eine „Persönlichkeit“ und einen Namen. Es darf ruhig etwas kreativer sein als „SupportBot“.

Wie kommt der User zu meinem Bot?

Bots werden bei Facebook zu Pages hinzugefügt, ähnlich den Page Apps. Die Bots antworten wie erwähnt im Namen der Seite, optisch sieht es für den User aus als ob er eine reale Antwort erhält – mit dem Unterschied dass ein Bot sofort antwortet. Wobei das natürlich nicht Pflicht ist, ein Bot kann auch erst nach einer definierten (oder zufälligen) Wartezeit antworten. In der Regel macht das aber keinen Sinn, der User sollte schon wissen ob ein Bot antwortet oder eine reale Person.

Die initiale Kontaktaufnahme passiert indem der User einfach eine Nachricht an die Seite sendet, es gibt allerdings auch andere Möglichkeiten: Web Plugin, Customer Matching und Messenger Codes – oder per Suche direkt im Messenger. Der User kann somit direkt von einer externen Website zum Bot (bzw. zu einer Konversation mit der Facebook Page) geleitet werden. Customer Matching ist aktuell nur in den USA verfügbar und bietet sich vor allem bei Webshops/Bestellungen an, wie man aus der Dokumentation entnehmen kann.

Ein „Persistent Menu“ kann während der gesamten Unterhaltung aktiv bleiben, eine Art Hauptmenü für den Bot. Das macht vor allem bei komplexeren Bots Sinn. Für „Rulebased Bots“ bietet das API „User Controls“ und „Quick Replies“ – der User muss damit nicht per Text antworten sondern kann einfach auf diverse Buttons klicken:

Bots - Quick Replies

Pro Seite können natürlich auch mehrere Bots hinzugefügt werden. Die Nachrichten werden zwar an alle gesendet, je nach Inhalt kann aber ein anderer Bot antworten. Ob das Sinn macht ist eine andere Frage.

Anwendungsfälle?

Bots sind nicht nur eine Spielerei, es gibt durchaus sinnvolle Anwendungsgebiete:

  • Online Shops können List Templates verwenden, um Produkte direkt im Messenger aufzulisten. In Kombination mit dem Receipt Template und dem Buy Button kann man so kleine Teile eines Shops direkt abbilden – zumindest in den USA. Kunden können zudem den Lagerstand eines Produktes abrufen, oder den Lieferstatus ihrer Bestellungen. Der Lieferstatus kann nicht nur abgefragt werden, auf Wunsch des Users kann auch automatisch eine Aktualisierung per Messenger versendet werden. D.h. ein Bot muss nicht nur reagieren, er kann auch aktiv Nachrichten versenden. Hier ein Beispiel für eine Bestellbestätigung:

Bots - Receipt Template

  • Customer Support kann von Bots profitieren, simple Anfragen können automatisiert beantwortet werden, zumindest kann man den User per Bot darauf hinweisen dass sich in Kürze jemand um ihn kümmert – gleichzeitig kann man ihm alternative Supportmöglichkeiten anzeigen. Gleichzeitig wäre hier eine „Sentiment Detection“ interessant, um eher negative Kommentare zum Beispiel schneller/anders zu behandeln.
  • News-/Sport-Seiten können dem User aktuelle Themen oder Ergebnisse direkt zum Messenger senden.
  • Hotels/Restaurants/Fluglinien können per Messenger Buchungen entgegennehmen, die Buchung kann per Messenger auch verwaltet/storniert werden.
  • Komplette Spiele können per Bot erstellt werden, zum Beispiel in Form von MUDs. Bots können natürlich auch Bilder senden, man ist bei Games also nicht nur auf Text beschränkt.
  • Ob man Gewinnspiele per Bot abhandeln könnte ist eine rechtliche Frage, grundsätzlich würde es sich anbieten. Natürlich wäre dann die Inbox der Facebook Seite voll mit Gewinnspiel-Einträgen.

Man darf gespannt sein was uns Facebook in Zukunft noch rund um die Messenger Platform bietet, vermutlich werden komplexere Templates möglich sein und hoffentlich kommen auch die Messenger Payments bald zu uns. Geschickt eingesetzte Bots können jedenfalls bereits jetzt viel Arbeit abnehmen.

Hinterlasse einen Fingerabdruck für die Ewigkeit: Ein Kommentar bei LimeSoda!

(*) Pflichtfeld

Bewirb dich bei uns!

LimeSoda.
Digitalagentur in Wien.

Bewirb dich jetzt!
Andreas Teufel

Verpasse nicht den nächsten Blog-Post von Andreas!

Jetzt zum LimeSoda-Newsletter anmelden