ChatGPT told me how to build a chat bot

8 Dec 2022 by Scott Middleton

Last week we begun exploring a new venture centred around a conversational chat assistant. So when ChatGPT was released a few days after this decision, I had to explore it. The timing couldn’t have been better.

One of the key decisions we were working through was which technology to use to design the beta version of our chatbot. 

As an experiment I decided to ask ChatGPT what to do and then ended up following its advice. 

I was actually surprised at how far this experiment went. What started as me thinking I’d get some generic advice turned into ChatGPT coaching me through much of the process. As I gained confidence in ChatGPT I relied more on its advice to take action.

There were some bumps along the way, but largely it was quite interesting.

Here is my conversation with ChatGPT where you can see it semi-successfully coaching me through the creation of a chatbot along with my thoughts and challenges along the way.

The Conversation with ChatGPT

Scott: how would you bootstrap the development of a chat bot?

ChatGPT: There are many different ways to approach the development of a chat bot, and the specific approach you take will depend on your goals and resources. Here are some general steps you might follow to bootstrap the development of a chat bot:

  1. Define the goals and objectives for your chat bot. What do you want it to do, and how will it benefit your users?
  2. Choose a platform for your chat bot. There are many different platforms available, including platforms that are specifically designed for chat bots, as well as more general-purpose platforms that can be used for chat bot development.
  3. Develop a conversational design for your chat bot. This will involve defining the types of interactions your chat bot will be able to have with users, as well as the specific conversational flows and responses it will use.
  4. Implement your chat bot using the chosen platform and conversational design. This will involve writing the code for your chat bot, as well as integrating it with any necessary APIs or other external services.
  5. Test and refine your chat bot. Once your chat bot is up and running, you’ll need to test it thoroughly to make sure it’s working as expected and addressing the needs of your users. You should also be prepared to continue refining and improving your chat bot over time, based on user feedback and other data.

Of course, this is just a general outline, and the specific steps you’ll need to follow will depend on your specific goals and resources. Additionally, there are many different approaches to chat bot development, so the specific steps you take may vary depending on the approach you choose.

Scott: what chat bot platform is best that can have a human-in-the-loop?

ChatGPT: There are many different chat bot platforms available, and the best one for you will depend on your specific needs and requirements. In general, the best platform for a chat bot with a human-in-the-loop will be one that offers robust support for human intervention and oversight. Some popular platforms for chat bots with a human-in-the-loop include Dialogflow, Microsoft Bot Framework, and IBM Watson Assistant. These platforms provide tools and features that make it easy to integrate human oversight and intervention into your chat bot’s conversational flows. Additionally, many of these platforms offer built-in support for natural language processing (NLP) and other AI-powered features, which can help your chat bot understand and respond to user input more effectively.

Scott: I want to use dialogflow to build a chat bot with a human behind it. can you tell me how to design my first feature?

ChatGPT: Sure, I’d be happy to help! Dialogflow is a popular platform for building chatbots, and it can be a great way to create a chatbot with a human behind it. Here are the steps you can follow to design your first feature:

  1. First, decide on the purpose of your chatbot. What do you want it to do? What do you want it to help your users with? This will help you determine the types of features you need to include in your chatbot.
  2. Next, create an account on Dialogflow and create a new agent. This will be the core of your chatbot, and it will allow you to define the behaviors and responses of your chatbot.
  3. Once you have your agent set up, you can start designing your first feature. This can involve creating intents, which are the different things that users can say to your chatbot, and defining responses for each of those intents.
  4. Test your feature by using the “Try it now” feature in Dialogflow, or by integrating your chatbot with a messaging platform like Facebook Messenger or Slack. This will allow you to see how your chatbot responds to different user inputs and make sure it is working correctly.
  5. If you want to include a human behind your chatbot, you can do this by setting up a fulfillment. This will allow you to create a custom webhook that will be called whenever your chatbot needs help with something. This webhook can be used to send the user’s message to a human operator, who can then respond to the user directly.

I hope this helps! Let me know if you have any other questions.

Commentary: I got stuck here for a few minutes because you can’t really “create an account on dialogflow” easily any more. For example, searching Dialogflow took me to Google Cloud’s documentation which I had to sift through a little to get to the right link to create an agent in Dialogflow. I got caught in Google Cloud’s console a few times so this took a little longer than I’d have liked. 

Partly oversight on my part but if an expert was guiding me around this they would have provided some links to the right place to go to save the hassle here.

You actually need to create a Google Cloud Project, then go into Dialogflow which isn’t easily accessible from the console itself and is found in documentation.

After solving it for myself with Google Search and some tinkering I decided to see what ChatGPT would have done if I’d gone straight to it instead of Google Search or documentation…

Scott: how do i login to dialogflow?

ChatGPT: To login to Dialogflow, you will need to go to the Dialogflow website and click on the “Sign in” button in the top right corner of the page. This will bring you to the login page, where you can enter your email address and password. If you don’t have a Dialogflow account yet, you can click on the “Sign up” button on the login page to create a new account.

Commentary: These instructions don’t really work and, to be useful, would need a link in the text. Googling “dialogflow website sign in” takes me to the marketing page for GCP which is the problem I described above about getting caught in Google Cloud’s console.

But let’s continue on with the journey.

I managed to get my agent created as per ChatGPT’s advice. Then I wasn’t sure what intent to start with, so I thought I’d ask it.

Scott: what is an example intent I should create in dialogflow for my first intent?

ChatGPT: An intent in Dialogflow is a specific thing that a user might say to your chatbot. When designing your first intent, it can be helpful to start with something simple and specific. For example, you could create an intent called “Greeting” that is triggered whenever a user says something like “hello” or “hi” to your chatbot. This intent could have a response that says something like “Hello! How can I help you today?”

Another example of an intent you could create is an “FAQ” intent that is triggered whenever a user asks a common question about your business or product. This intent could have a response that provides the user with the information they are looking for, such as the hours of operation or the location of your business.

Ultimately, the specific intents you create will depend on the purpose of your chatbot and the types of things you want it to be able to do. By starting with simple and specific intents, you can gradually build up your chatbot’s capabilities and make it more useful for your users.

Scott: I’m creating the intent now, what event should I select for my Greeting intent?

ChatGPT: An error occurred. If this issue persists please contact us through our help center at help.openai.com.

Commentary: I worked through this on my own, just editing the default welcome intent.

Then went back to ChatGPT’s original top level instructions about putting a human in the loop. 

“If you want to include a human behind your chatbot, you can do this by setting up a fulfillment.”

We haven’t decided on a tool for the human behind the chatbot to use. So I was curious about what ChatGPT would think.

Scott: what tool should i use for a human behind my dialogflow chatbot ?

ChatGPT: If you want to have a human respond to messages received by your Dialogflow chatbot, you can use a tool called Dialogflow Escalation to route messages to a human operator. This will allow a human to take over the conversation and respond to the user directly. You can also use other tools like Twilio Flex or Zendesk to route messages to a human operator, but these may require some additional setup and integration with Dialogflow.

Scott: How do I setup dialogflow escalation? 

ChatGPT: An error occurred. If this issue persists please contact us through our help center at help.openai.com.

Commentary: I couldn’t find anything on “Dialogflow Escalation” but after reading a few search results I could find “Dialogflow human hand off” might be the right phrasing to use.

Scott: how do i setup a human hand off in dialogflow?

ChatGPT: To set up a human handoff in Dialogflow, you can use the built-in “telephony” integration. This allows you to route a conversation to a live agent when a specific event or intent is triggered in your Dialogflow agent. Here’s how to set it up:

  1. In the Dialogflow console, go to the Integrations tab and enable the “telephony” integration.
  2. In the telephony integration settings, specify the phone number that you want to use for the handoff.
  3. Create an intent in your Dialogflow agent that will trigger the handoff to a live agent. For example, you could create an intent called “Need Help” that users can invoke when they need assistance.
  4. In the “Actions” section of the intent, select “telephony” from the dropdown list and choose the phone number that you specified in step 2.
  5. Save your changes and test the handoff by triggering the intent in the Dialogflow simulator or through a chatbot integration. When the intent is triggered, the conversation should be routed to the specified phone number.

Commentary: This is not right so I tried to narrow it.

Scott: I am not using telephony, I am using text chat

ChatGPT: An error occurred. If this issue persists please contact us through our help center at help.openai.com.

Scott: how do i setup a human hand off in text only in dialogflow

ChatGPT: An error occurred. If this issue persists please contact us through our help center at help.openai.com.

At this point I lost patience with ChatGPT as its usefulness had slowed down significantly compared to the pace of Google Search, reading documentation and tinkering. 

Closing Thoughts

ChatGPT was useful in guiding me through the initial, high level steps of getting a chat bot setup, although it did have some minor gaps. ChatGPT quickly became less useful as my problems and the guidance I needed became more specific. 

You can see the potential of this technology though as I imagine it will only evolve to handle these more specific problems.

At the end of the day ChatGPT mostly taught me how to build a chatbot (a very simple one at least).

Tags: , ,
Back to Blog