Building a Chatbot with Dialogflow and Slack
Chatbots come in many different styles and most chatbot solutions use directed questions and answers to guide visitors down a specific path. Our chatbot is different in that we've integrated our Live Chat platform with Dialogflow and Slack in order to leverage natural language processing.
Our implementation allows you to create dynamic chatbots on Social Intents that you can train to answer just about any questions your visitors may have. Best of all, it requires no coding, and no expensive upgrades in our solution.
Here's a step by step guide to creating your first chatbot with Social Intents, Slack, and Dialogflow.
- A Slack Account: https://slack.com
- A Dialogflow Account: https://dialogflow.com
- A Social Intents Account: https://www.socialintents.com (we'll create one in this tutorial)
High Level Steps
In this tutorial we're going to walk through the steps of adding chatbot functionality to your live chat that you can deploy on your website today. Here are the steps:
- Add our Live Chat app to your Slack Account
- Generate your Dialogflow Private Key for Authentication
- Add your Dialogflow Key to Social Intents
- Test out your new Live Chat app with chatbot capabilities!
1. Add our Live Chat app to your Slack Account
If you don't already have a Slack account, you can sign up for free here: https://slack.com
First, add our Live Chat app to your Slack account. Simply head over to our Live Chat for Slack page and select Add to Slack. This will add our app to your Slack workspace.
You'll be asked to select an inbound channel for live chat invites. This is where we'll send new live chat requests.
After selecting your channel, you're all set. You can copy and paste this code snippet into your website in order to enable live chat on your own site. You can also install this code snippet later.
2. Create your Dialogflow Agent
In this tutorial we'll create a test Agent that you'll integrate with Social Intents.
Now, head over to https://www.dialogflow.com and select the Dialogflow ES link to create your Agent.
Now open the Dialogflow ES console by clicking the 'Go to the Dialogflow ES Console' button:
Create an Agent in Dialogflow
If you haven't already created an Agent, select the Create Agent button as in the screen below.
Your new agent will have 2 default Intents. These will be enough to get started and respond with generic welcome messages. As you get more familiar with Dialogflow, you can create multiple Intents and Contexts to answer questions, gather answer data, and respond with Cards, Images, and Buttons.
Set up Dialogflow Authentication for API access
Next, set up your authentication details and generate a Dialogflow Service Account Key that you'll use to integrate with your chat widget in Social Intents.
If you click on the Settings Gear icon next to your agent name, you'll see the screen below. Click on the link to your Project ID highlighted below.
Then click on 'Go to project settings':
Select 'Create Service Account':
Now, name your service account and select 'Create':
Under Step 2, assign a role of Dialogflow --> Dialogflow API Client to your service account:
Click 'Continue', then click 'Done'
At this point, you should see an item similar to the following under your Service Accounts liar. Notice you haven't created any keys yet:
The final step here is to create your JSON Key. Click on your new service account, then select ADD KEY to generate your Private Key JSON file that will be used for our integration:
Choose JSON as your Key type and click Create. This will download your private key to your computer.
Whew, all set! You'll now upload this private key to your chat widget Chatbot page to enable our Social Intents integration with Dialogflow.
3. Add your Dialogflow Key to Social Intents
Now that you have create a Live Chat app and your new Dialogflow agent and key file, connect your Social Intents account to Dialogflow by logging into Social Intents, selecting My Apps from the left navigation bar, then Edit Settings on your Live Chat widget.
From the chat settings page, select the Chat Bots tab at the top of the page.
Select the Chatbot name that visitors will see when your chatbot responds, select the language you've used in creating your Agent in Dialogflow, and choose your Chatbot type.
Lastly, upload the .JSON Key file that you downloaded in the previous step by Choosing the File and clicking the 'Upload Dialogflow Private Key' button. This tells our app how to connect to the Dialogflow agent for answering your visitor questions in your chatbot.
4. That's it! You're ready to test your new Slack chatbot
You're now all configured and ready to test your chatbot. Simply login to our website, select your Live Chat app and choose Preview. If you've already added the code snippet to your website, you can chat right there