Zendesk indeed is a popular solution for helpdesk support, hence it will be good if we amplify our use case for Zendesk together with OpenAI. In this use case, we going to send the complain email to Zendesk to create a ticket automatically, and compliment email to public relation manager.
To achieve this scenario, we going to use the below tools
- An email account, able to receive and send
- OpenAI GPT-3.5
- Make.com
- Zendesk
Quick run-through
Pre-requisite check
Initial requirement
Let’s look at how it started, as well as the initial design
Backend
- Email: To receive incoming email for customer service, and to send out the response
- OpenAI GPT-3.5 Turbo: Served as AI brain which handling the response
- Zendesk: Served as helpdesk platform
- Make: Served as integrator which “glue” different system together
Platform
- Email: Be it common IMAP account, or Microsoft Office 365
- OpenAI GPT-3: SAAS Model
- Zendesk: SAAS Model
- Make: SAAS Model
Account
- Email: Required any email account that support IMAP / SMTP
- OpenAI GPT-3: Required a paid account
- Zendesk: Required a paid account, free trial for limited period of time is available
- Make: Required a basic free account
Cost
- Email: Do consult your IT department, if you are not sure where your email is, or if it is support IMAP / SMTP
- OpenAI GPT-3: Required a paid account, you may check the pricing info here.
- Zendesk: Required a paid account, you may check the pricing info here.
- Make: Required a basic free account, you may check the pricing info here.
Applications Flow
Email
Email is the entry point of the customer service
OpenAI GPT-3.5 Turbo
Identify the tone of the feedback, and suggest a response based on the feedback
Make
It is platform that connect different applications, without coding! Other than connect different application using connector, and also manage different routes based on different criteria
Zendesk
Served as helpdesk platform, to handle complain
Let's get started
OpenAI GPT-3
Zendesk
1. To integrate with Zendesk, we will need to get Zendesk Unique Identifier, and API secret key.
2. Login to Zendesk, and go to Admin Center
3. Look out for Zendesk API, and add an OAuth client under OAuth Clients
4. Unique Identifier can be any name, as long as it is unique under your OAuth Client, and secret key is automatically generated
Make
1. Create a “Scenario” in Make, let’s start with a first step by creating a connector for Email. For email, you need to specify
- Connection Type: In our case, we are using IMAP. Not sure your email connection type? Ask the friendly IT department
- IMAP Server: As we are using IMAP, hence we will need to enter the IMAP server, same as if we are using POP3 method
- Username / Password: Usually it is the email and password
- Folder: The folder we would like to monitor for incoming email. Only 1 folder able to setup at 1 time
- Criteria: Only get the unread emails? or read emails? or all emails? Make.com allow you to choose from here.
2. Next connector will be the OpenAI connector. At the point this article was written, Make.com already ready with the latest GPT-3.5 Turbo, which is announced around 2023 Mar.
There are some slight different with GPT-3.5 Turbo, which you need to define the System role, and User‘s prompt.
- System: You need to explain the role, like hypnotize the system. As we are simulating for a beauty shop, hence our hint to the system isYou are a helpful, hardworking, cheerful, professional customer services of beauty shop with passion
- User: Actual prompt, to ask AI a question. In this, we need the AI to response to us only with 1 word, here is the prompt. The reason for making it return only 1 word? Easier for us to manipulate the next step.Answer in 1 word if this email is Spam, Complain, or Compliment. The email: {{SELECT FROM MAKE.COM FOR THE EMAIL TEXT CONTENT}}
3. Next, here is the interesting part, we will be creating 2 routes here, 1 for complain, and 1 for compliment. Hence we add a router, and a connector after the router, which is Open AI again
4. We start with the complain route, which we have to setup a filter, and make sure if the return word contain “Complain”, will follow the complain route.
Please look at step 2, which explain why we need the OpenAI to return us only 1 word: spam, or complain, or compliment.
5. For complain route, we will be creating the Zendesk connector, which required the Unique Identifier, and the Secret key. For creating a ticket, we are setting up like below
- Subject: Complaint from {{SENDER EMAIL ADDRESS}}
- Body (HTML):
<b>Complain</b><p>{{THE COMPLAIN}}</p> <b>Suggestion</b><p>{{THE SUGGESTION FROM OPENAI}}</p>
6. Alright, now we move on to compliment route, which is about the same as complain, just change the detecting word as “Compliment”
7. Again, we will trigger the OpenAI again, but to ask for the suggestion for the compliment letter. The system user setup can be the same, and we just need to tweak the word for user’s prompt
Suggest a reply to this email, in very detail and very polite content. The email is at: {{SELECT FROM MAKE.COM FOR THE EMAIL TEXT CONTENT}}
8. The last connector we have here is the email sending, which required to use SMTP service in our case
- Connection Type: In our case, we are using SMTP. Not sure your email connection type? Ask the friendly IT department
- SMTP Server: As we are using SMTP , hence we will need to enter the SMTP server.
- Username / Password: Usually it is the email and password
- To: The targeted email address we want to send, usually is the manager or director who you want to show off
- Subject: The email subject for the email to send out
- Content: The email content that contain the original complain, and suggestion
9. We shall done for the entire setup, let’s give it a try.
Let's try it out
1. The entire setup in Make should look like below
2. You may use the sample complain and compliment email content from here.
3. In any case, for Complain case, here is the Zendesk screen should look like
4. For Compliment case, here is the email received
5. Lastly, just turn on the scenarios, so that it can switch into Live mode, and wait for every 15min to pull data from Email. You basically have an AI powered smart customer service which able to help to route, and suggest the reply, so that the customer service admin speed up the customers response work!