Personality Forge

by Personality Forge

Make your robot a chatbot with personality and engagement. It will allow your robot to remember details and form emotional relationships with people.

How to add the Personality Forge robot skill

  1. Load the most recent release of ARC (Get ARC).
  2. Press the Project tab from the top menu bar in ARC.
  3. Press Add Robot Skill from the button ribbon bar in ARC.
  4. Choose the Artificial Intelligence category tab.
  5. Press the Personality Forge icon to add the robot skill to your project.

Don't have a robot yet?

Follow the Getting Started Guide to build a robot and use the Personality Forge robot skill.

How to use the Personality Forge robot skill

Make your robot a chatbot with personality and engagement. It will allow your robot to remember details and form emotional relationships with people. The Personality Forge chatbot platform's AI Engine integrates memories, emotions, knowledge of hundreds of thousands of words, sentence structure, unmatched pattern-matching capabilities, and a scripting language called AIScript. It's the heart and mind of all the chatbots here, and it's easy enough to work with that you need no programming experience to get started.

*Note: This robot skill requires an internet connection.

Main Window

User-inserted image

  1. User input window for manually typing messages to send to the bot. In most cases, you'll want to use ControlCommand instead of manually entering. But you can manually enter for testing purposes.

  2. Submit the manually entered text

  3. The log window displays responses, script errors, or error messages.

Config Window

User-inserted image

  1. The API key from the Personality Forge website

  2. The API secret from the Personality Forge website

  3. The Bot ID from the Personality Forge that you wish the interact with

  4. The external ID represents the conversation memory. Long as this ID is the same, the memory for the conversation will be maintained forever. If you press the Generate New button, a new ID will be generated, and therefore the chatbot will have to relearn everything.

  5. Generate a new external ID

  6. The script that will execute for every response. By default, a script will speak the chatbot response out of the PC speaker. You can modify this code to speak out of an EZB speaker or process the response in more detail to execute Auto Position actions, etc.

Configure API Account

The Personality Forge website requires creating an account, getting API information, and creating a custom bot.

  1. Visit

  2. Create an account User-inserted image

  3. Press INTEGRATE User-inserted image

  4. Scroll down and press "Get Started Now." User-inserted image

  5. Choose the account type based on the number of messages you send per month. The free version (Puff) has a limit. You do not need to check Enable Simple API or fill Allowed sites, as we will not be using those two options. User-inserted image

  6. Press "Subscribe to API." User-inserted image

  7. Copy the API Key and Secret into the configuration screen of this robot skill User-inserted image

Creating Custom Chatbot

This manual doesn't cover the specific details of building a chatbot on the Personality Forge website. They have manuals and information about doing so. However, to get you started, press the BUILD -> Chatbot Workshop menu option to begin creating a chatbot. User-inserted image


There are a few variables created for every bot response from the server. You can read more about the Emotion and Data variable types on the Personality Forge website.

  • "$PersonalityForgeData" (array) contains the custom data that can be assigned per response when building a bot. Read more about this on the Personality Forge website.

- "$PersonalityForgeRequest" (string) is the message sent to the chatbot in the conversation.

- "$PersonalityForgeResponse" (string) is the response from the server.

- "$PersonalityForgeEmotion" (string) is the emotional value of how the chatbot feels about the current conversation.

Control Commands

There is a ControlCommand() for sending a custom text to this robot skill for processing. You can have another skill, such as the Bing Speech Recognition robot skill send your speech text to this robot skill for a verbal conversation.

Syntax: ControlCommand("Personality Forge", "send", "message");

Example: ControlCommand("Personality Forge", "send", "Hello, how are you?");


This example tutorial will explain how to configure this robot skill for a verbal conversation. We will use the Bing Speech Recognition robot skill in the example. Your speech will be converted to text and sent to this robot skill. The response of this robot skill will be spoken out of the PC speaker.

  1. Load ARC and create a new project

  2. Add the Personality Forge robot skill Project -> Add robot skill -> Artificial Intelligence -> Personality Forge User-inserted image

  3. Add the Bing Speech Recognition robot skill  Project -> Add robot skill -> Audio -> Bing Speech Recognition User-inserted image

  4. Configure the Personality Forge robot skill with your API Key and API Settings, etc.

  5. Configure the Bing Speech Recognition and press the edit button for All Recognized Script User-inserted image

  6. We'll add some code to take the Bing Speech recognition response variable and send it to the Personality Forge. Add this code to that All Recognized Script

ControlCommand("Personality Forge", "send", getVar("$BingSpeech"));

User-inserted image

  1. Save the configuration

  2. Now, let's start speaking to the robot!:) Press the Start Recording button on the Bing Speech Recognition control, speak, then press Stop Recording. Now you can have a conversation with the robot:) User-inserted image


Upgrade to ARC Pro

Join the ARC Pro community and gain access to a wealth of resources and support, ensuring your robot's success.


The state of the "so called" AI chatbots sure hasn't made any advancements in the last 10 years. They just throw the term"AI" in front of anything now to make it sound innovative. AI is more of a marketing term than a scientific one. I tried this one out and it is pretty much on par with the original Pandorabots skill that Synthiam has offered forever.

me: what color is the sky chatbot: the sky is blue me: what did I just ask you chatbot: what would you like to talk about

behold AI!


I think I mentioned once before, I had 2 chat bots talk to each other for about 30 minutes. The results were too Funny!

#3   — Edited

Haha - yeah. Out of the box, I’m guessing the conversation data is rudimentary.  I think the difference between them is how they’re configured. That’s the time-consuming part, though. You’d have to go through their config menus and tweak and tweak and tweak and tweak :)

All the chatbot ai I find is NLP (natural language processing). The difference with NLP is a conversation to achieve a predefined goal. So it’s more like a funnel that narrows the discussion to understand what the user wants the do. But that's not what we want. We want the robot to have a personality and feel alive.

The difference between robots and chatbots is that we want them to seem alive with a personality. That’s where we’re lacking in technology. No one seems to be focusing on that, except things like this.

In the landscape of these chatbots, they all seem to be on the same plane.


I hear you DJ and you have been very good at implementing these services. On their site you can select to chat with their most advanced chatbot as they call it. After all it has over 106,000 AI's, whatever that means. The responses it gives are as I pointed out above. Same as Pandorabots AIML 1.0.

They do have an option to watch 2 chatbots talk to each other though.

#5   — Edited

Hi Perry,

Interesting conversation

My AIML changes responses only when I edit the xml files or add a xml file, as you probably are aware of.

As DJ put it, "We want the robot to have a personality and feel alive." this will never happen, it's not alive.

My Alexa tells me to have a good day, but does she really care if I do, I don't think so lol