As a customer support specialist, you may need to manage multiple tools to provide excellent support to your customers. If you use both Intercom and Zendesk, you can streamline your workflow and improve customer service by integrating them through Custom Actions. In this article, we will show you step-by-step guidelines on how to create tickets in Zendesk from a conversation in Intercom using Custom Actions.
Workflow examples you can use Custom Actions for:
Use Custom Actions to automatically forward closed conversations in Intercom to Zendesk for reporting purposes. This can help your team track metrics such as resolution time, customer satisfaction, and more.
Set up Custom Actions to automatically send unresolved conversations from Fin AI Agent to Zendesk agents via email. This ensures that the conversation continues seamlessly with the customer and the agent has all the necessary context to resolve the issue.
Empower your tier 1 agents in Intercom to escalate complex conversations to tier 2 agents in Zendesk for resolution. With Custom Actions, you can define criteria for escalation and automate the process, ensuring that the right agents handle each conversation.
Note: This guide is for ticket creation only. To update tickets in Zendesk from Intercom, you should create another Custom Action.
Step 1. Create authentication with Zendesk
To create tickets in Zendesk, you need to create authentication. Refer to How to create an authentication with Zendesk for Custom Actions for more details.
Step 2: Create a new Custom Action in Intercom
About section
Navigate to Settings → Integrations → Custom Actions in Intercom and click Create action button.
In the About section describe the Custom Action. It will tell you and your teammates what this action does and can help better organize all your actions. Click Next.
Request section. HTTP Headers
In the Request section, you can define where to get the data from.
Select a Method: POST. It tells action to create a new piece of data.
Insert
https://<workspace>.zendesk.com/api/v2/tickets
into the URL field, replacing <workspace> with the name of your Zendesk workspace.Click on the HTTP Headers to add Keys and Values. HTTP headers are additional information that can be sent along with an HTTP request or response. They provide important metadata about the request or response, such as the authentication credentials, content type, and more.
Key | Value |
Authorization | Basic {base-64-encoded email_address:password} - ref. Step 1 |
Content-Type | application/json |
Request section. Request Body
Request Body is the data that is sent to a server as part of an HTTP request. The format of the request body is determined by the Content-Type header in the request, which specifies the format of the data being sent. The Request body can include various types of data.
Click on the Request Body. The only required field is "comment", but you can also include additional fields such as "subject" or "priority."
Add data to the Request Body and click Next.
{
"ticket": {
"comment": {
"body": "<insert message.body attribute>"
},
"requester": {
"email": "<insert Email attribute>",
"name": "<insert Name attribute>"
},
"external_id": "<insert Conversation ID attribute>",
"status": "new",
"subject": "Intercom Conversation: <insert Conversation ID attribute>"
}
}
Tip: The above Request body is a default template. You can add custom fields if needed.
How to add custom fields to the request body?
How to add custom fields to the request body?
Get Zendesk field ID. This is available from the Zendesk Field settings page.
Create a corresponding Intercom Conversation data attribute of the same format. We currently only support Text, Number, and Boolean formats to send to Zendesk. Learn more from the article Using conversation data for Inbox workflows.
Ensure the Conversation data attributes are collected before the Custom action is triggered. Either manually through the Intercom Inbox or automatically through Collect data blocks in Workflows.
Example of the request body for custom fields:
{
"ticket": {
"comment": {
"body": "<insert Message.body attribute>"
},
"requester": {
"email": "<insert Email attribute>",
"name": "<insert Name attribute>"
},
"external_id": "<insert Conversation ID attribute>",
"status": "new",
"subject": "Intercom Conversation: <insert Conversation ID attribute>",
"custom_fields": [
{
"id": <add Zendesk ID field>,
"value": "<insert Intercom Conversation data attribute>"
},
]
}
}
Testing section
After setting up the Request, it is important to test it to ensure it creates the correct data in the connected third-party system. To do this, input a Test value such as Message Body, Email, Full_name or Conversation ID and click Test to verify that the Custom Action is properly configured.
Response section
In the Response section, you can map data from the Zendesk API response to Conversation or People attributes. This section is crucial for creating automated workflows and can be used to save important information from the API response to a specific attribute, making it easily accessible in future interactions.
Click New object mapping.
Select Conversation as the Intercom object and Ticket as the API object.
Under the Attributes, select External ID (already existing system attribute). And select the id in the API object.
Set the Action live
Simply click Set live button to start using this action.
Step 3. Using Custom Actions in Intercom
You can trigger the Custom action automatically through Automation workflows or Inbox Rules. See the guide.
Or teammates can manually trigger the Custom action through the Inbox. See the guide.
Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts