If you have a scenario where you need to have your customer answer a standard set of questions, one way to do this is with a chatbot.
For example, say you’re a customer-facing agent working at a company that manufactures spacesuits. Below is a hypothetical conversation you might have with a customer:
Customer
Heya, I need a spacesuit
You
Great, we'd love to help. May I have our chatbot ask you a few standard questions, so we can get started?
Customer
Of course!
You
@SpaceSuitor request suit details
SpaceSuitor
$$$ Hello! What is your height?
Customer
110cm
SpaceSuitor
What is your weight?
Customer
60kg
SpaceSuitor
Are you right-handed?
Customer
no
SpaceSuitor
Are you planning any long-range spacewalks?
Customer
yes
SpaceSuitor
Are you planning on carrying weapons?
Customer
yes
SpaceSuitor
Thank you! $$$
You
Thanks for this - our next printing cycle starts in two hours, so you can pick up your spacesuit this afternoon.
Customer
Is a delivery option available?
You
Of course! Mind if I have our bot collect delivery details?
Customer
No problem
You
@SpaceSuitor request delivery details
SpaceSuitor
$$$ Hello! What is your layer and quadrant?
...
...
To configure such a chatbot with Fogbender, you’ll need two things:
A script with a list of questions that follow the rules below:
Branching via “yes” and “no” answers only. For example, in the dialogue above, if the Customer answered “left” to the question “Are you right-handed?”, the bot would have replied “Sorry, I don’t understand ‘left’. I only understand ‘yes’ and ‘no’.”
If you expect a multi-message answer to a particular question, you can indicate this in parentheses, along with a list of words the bot would use to move onto the next question (see example below)
We use multiples of = instead of the more common - in conjunction with tabs/indentation to indicate nesting because many word editors turn consecutive -- characters into m-dashes and because indentation may get collapsed during copy-pasting
Please use the following script as a model for yours:
= What's your name?
= What year were you born?
= What are the cities and countries where you lived for more than a year? (Can have multiple responses; stop word: next, continue, or done)
= Do you like films?
= (if yes:)
== What are some of your favorite films? (Can have multiple responses; stop word: next)
= (if no:)
== How come? (Can have multiple responses; stop word: next)
== Do you know anyone else who doesn't like films?
= Do you play any musical instruments?
= (if yes:)
== Which ones? (Can have multiple responses; stop word: next)
While there, add a new prompt and give your command a name (e.g. “request suit details” in first example)
Paste the ChatGPT instructions (below) to a new text document
Replace PASTE YOUR SCRIPT HERE in the instructions (below) with your script
Start a new ChatGPT chat, paste instructions, wait for ChatGPT to generate the JSON, copy the JSON
In Fogbender ai settings, paste the JSON into the “Instructions” textarea of your bot prompt
(NOTE: the JSON that ChatGPT produces might be malformatted - if that’s the case,click “Prettify JSON” in Fogbender after pasting)
Consider the following set of questions:
Questions set 1: ###
= What is the OS of your device or system?
= Which device are you using?
= What is the Fogbender SDK version that are you using?
= Do you have a URL of a video showing the problem?
= (if yes:)
== What is the URL?
= (if no:)
== Please provide a clear and concise description of what you expected to happen. (Can have multiple responses; stop word: next)
== Please provide a clear and concise description of what's currently happening. (Can have multiple responses; stop word: next)
== Please provide the steps to reproduce the behavior. (Can have multiple responses; stop word: next)
= Did you try kicking a tire?
= (if yes:)
== Which tire?
= (if no:)
== Would you mind giving kicking a tire a shot?
== (if yes:)
=== Make sure to kick the rear right one
= Do you have any additional commentary or context that you would like to provide about the problem? (Can have multiple responses; stop word: next or no)
###
And the corresponding JSON structure:
JSON: ###
[
{
"question_id": 0,
"question_text": "What is the OS of your device or system?"
},
{
"question_id": 1,
"question_text": "Which device are you using?"
},
{
"question_id": 2,
"question_text": "What is the Fogbender SDK version that are you using"
},
{
"question_id": 3,
"question_text": "Do you have a URL of a video showing the problem?",
"on_affirmative": [
{
"question_id": 4,
"question_text": "What is the URL?"
}
],
"on_negative": [
{
"question_id": 5,
"question_text": "Please provide a clear and concise description of what you expected to happen.",
"stop_words": ["next"]
},
{
"question_id": 6,
"question_text": "Please provide a clear and concise description of what's currently happening.",
"stop_words": ["next"]
},
{
"question_id": 7,
"question_text": "Please provide the steps to reproduce the behavior.",
"stop_words": ["next"]
}
]
},
{
"question_id": 8,
"question_text": "Did you try kicking a tire?",
"on_affirmative": [
{
"question_id": 9,
"question_text": "Which tire?"
}
],
"on_negative": [
{
"question_id": 10,
"question_text": "Would you mind giving kicking a tire a shot?",
"on_affirmative": [
"question_id": 11,
"question_text": "Make sure to kick the rear right one"
]
}
],
},
{
"question_id": 11,
"question_text": "Do you have any additional commentary or context that you would like to provide about the problem?",
"stop_words": ["next", "no"]
}
]
###
Can you build a similar JSON structure (with pretty formatting) for the following questions?