How To Build Chatbots

on The Personality Forge
Chapter 16: Robotics & The API

The Personality Forge has many features that facilitate integration with outside systems, from toys to robotics, games, interactive agents, and more.

Incoming Triggers

You can write your own Special Keyphrases which won't match anything except trigger messages coming in from your external system. For example, if you had a toy or game with a battery, you could set up a Special Keyphrase like this:

Keyphrase: #low-battery
Response: Sorry to interrupt, but it appears my battery is getting low. Please connect me to a power source when you get the chance.

Or if a person was talking with the Chatbot and stopped responding:

Keyphrase: #quiet
Response: Hey (mem-name), you've been quiet for a while. Are you still there?
Outgoing Triggers: FX

If your system is speaking the response using TTS (text to speech), you can add inline triggers to your chatbot that trigger special behaviors on the external side at certain points in the message. These can be anything you want that your system recognizes - playing sounds, adding pauses, make facial expressions, turning the toy or device off - anything you can imagine. Here are some examples:

Response: Hold on a moment.. (fx:pause=1000). Okay, I've done it.
Response: (fx:laugh) That was so funny!
Response: (fx:express-asking) You know what? (fx:express-smile) I like you.
Response: I'm allergic to pollen! (fx:sneeze)
Response: Listen carefully: (fx:cat-sound). I think I heard something..
Response: It sounds like you're gone away. Alright, I'll take a nap then. Bye! (fx:power-off)
Outgoing Triggers: API Data

To pass data to your system based on the selected Keyphrase or Response, you can use API Data. On the Keyphrase editing page, select "more" by the Keyphrase or "more" then "data" by the Response to add API Data in any format that you like that your system can use. This is different from (fx:) triggers in that it isn't meant to be processed at certain points while the chatbot is speaking. It can be acted upon right away by your system or saved for later.

Between Incoming Triggers, Outgoing Triggers, and API Data, your Chatbot can trigger any range of behaviors and actions in your external system, and respond to any triggers coming from it. The only limits are your imagination.