2024-07-01 17:36:27 +02:00
|
|
|
# Zulip Freshdesk integration
|
|
|
|
|
2018-04-17 23:29:41 +02:00
|
|
|
See customer support interactions in Zulip with our Freshdesk
|
|
|
|
integration!
|
|
|
|
|
2024-07-01 17:36:27 +02:00
|
|
|
### Create Zulip bot for Freshdesk notifications
|
|
|
|
|
|
|
|
{start_tabs}
|
|
|
|
|
2023-09-21 02:23:45 +02:00
|
|
|
1. {!create-an-incoming-webhook.md!}
|
|
|
|
|
2024-07-01 17:36:27 +02:00
|
|
|
1. {!generate-webhook-url-basic.md!}
|
|
|
|
|
|
|
|
{end_tabs}
|
|
|
|
|
2018-04-17 23:29:41 +02:00
|
|
|
|
|
|
|
### Add notifications for new Freshdesk tickets
|
|
|
|
|
2024-07-01 17:36:27 +02:00
|
|
|
{start_tabs}
|
|
|
|
|
|
|
|
1. Go to your Freshdesk **Admin** page.
|
|
|
|
|
|
|
|
1. Under **Helpdesk Productivity**, select **Dispatch'r**, and then
|
|
|
|
select **New rule**.
|
|
|
|
|
|
|
|
1. Set **Rule Name** to a name of your choice, such as `Zulip`.
|
|
|
|
|
|
|
|
1. There isn't a shortcut to "always generate a notification on ticket
|
|
|
|
creation", so we'll have to fake it by picking two complementary
|
|
|
|
conditions: when the source **is email**, and when the source **is
|
|
|
|
not email**. Set up the **Conditions** for the new rule, like so:
|
|
|
|
|
|
|
|
![](/static/images/integrations/freshdesk/001.png)
|
|
|
|
|
|
|
|
1. Under **Actions**, set the **Select Action** dropdown to **Trigger
|
|
|
|
Webhook**.
|
2018-04-17 23:29:41 +02:00
|
|
|
|
2024-07-01 17:36:27 +02:00
|
|
|
1. Set **Request Type** to **POST**, and set **Callback URL** to the URL
|
|
|
|
[generated above][create-bot].
|
2018-04-17 23:29:41 +02:00
|
|
|
|
2024-07-01 17:36:27 +02:00
|
|
|
1. Toggle the **Requires Authentication** checkbox.
|
2018-04-17 23:29:41 +02:00
|
|
|
|
2024-07-01 17:36:27 +02:00
|
|
|
1. Set **Username** to the email of the bot [created above][create-bot],
|
|
|
|
and set **Password** to the bot's API key.
|
2018-04-17 23:29:41 +02:00
|
|
|
|
2024-07-01 17:36:27 +02:00
|
|
|
1. Set **Encoding** to **JSON**, and select the **Advanced** option.
|
|
|
|
Copy and paste the following JSON into the **Content** box:
|
2018-04-17 23:29:41 +02:00
|
|
|
|
|
|
|
```
|
2019-07-03 00:21:17 +02:00
|
|
|
{% raw %}
|
2018-04-17 23:29:41 +02:00
|
|
|
{"freshdesk_webhook":
|
|
|
|
{
|
2019-07-03 00:21:17 +02:00
|
|
|
"triggered_event":"{{triggered_event}}",
|
|
|
|
"ticket_id":"{{ticket.id}}",
|
|
|
|
"ticket_url":"{{ticket.url}}",
|
|
|
|
"ticket_type":"{{ticket.ticket_type}}",
|
|
|
|
"ticket_subject":"{{ticket.subject}}",
|
|
|
|
"ticket_description":"{{ticket.description}}",
|
|
|
|
"ticket_status":"{{ticket.status}}",
|
|
|
|
"ticket_priority":"{{ticket.priority}}",
|
|
|
|
"requester_name":"{{ticket.requester.name}}",
|
2020-08-07 11:18:34 +02:00
|
|
|
"requester_email":"{{ticket.requester.email}}"
|
2018-04-17 23:29:41 +02:00
|
|
|
}
|
2017-06-13 02:16:52 +02:00
|
|
|
}
|
2019-07-03 00:21:17 +02:00
|
|
|
{% endraw %}
|
2018-04-17 23:29:41 +02:00
|
|
|
```
|
|
|
|
|
2024-07-01 17:36:27 +02:00
|
|
|
1. Click **Save**.
|
2018-04-17 23:29:41 +02:00
|
|
|
|
2024-07-01 17:36:27 +02:00
|
|
|
{end_tabs}
|
2018-04-17 23:29:41 +02:00
|
|
|
|
2024-07-01 17:36:27 +02:00
|
|
|
### Get notifications for changes to existing Freshdesk tickets
|
|
|
|
|
|
|
|
{start_tabs}
|
|
|
|
|
|
|
|
1. Go to your Freshdesk **Admin** page.
|
|
|
|
|
|
|
|
1. Under **Helpdesk Productivity**, select **Observer**, and then select
|
|
|
|
**New rule**.
|
2018-04-17 23:29:41 +02:00
|
|
|
|
|
|
|
1. Set **Rule Name** to a name of your choice, such as `Zulip`.
|
2024-07-01 17:36:27 +02:00
|
|
|
|
|
|
|
1. Under **involves any of these events**, create new events as shown below:
|
2018-04-17 23:29:41 +02:00
|
|
|
|
|
|
|
![](/static/images/integrations/freshdesk/002.png)
|
|
|
|
|
|
|
|
1. Unfortunately, there isn't a shortcut for specifying "all tickets",
|
|
|
|
so we'll have to fake it by picking two complementary conditions:
|
|
|
|
when the source **is email**, and when the source **is not email**.
|
|
|
|
Under **on tickets with these properties**, create new conditions,
|
|
|
|
like so:
|
|
|
|
|
|
|
|
![](/static/images/integrations/freshdesk/003.png)
|
|
|
|
|
|
|
|
1. Under **perform these actions**, set the **Select Action** dropdown
|
2024-07-01 17:36:27 +02:00
|
|
|
to **Trigger Webhook**.
|
|
|
|
|
|
|
|
1. Set **Request Type** to **POST**, and set **Callback URL** to the URL
|
|
|
|
[generated above][create-bot].
|
|
|
|
|
|
|
|
1. Toggle the **Requires Authentication** checkbox.
|
2018-04-17 23:29:41 +02:00
|
|
|
|
2024-07-01 17:36:27 +02:00
|
|
|
1. Set **Username** to the email of the bot [created above][create-bot],
|
|
|
|
and set **Password** to the bot's API key.
|
|
|
|
|
|
|
|
1. Set **Encoding** to **JSON** and select the **Advanced** option.
|
|
|
|
Copy and paste the following JSON into the **Content** box:
|
2018-04-17 23:29:41 +02:00
|
|
|
|
|
|
|
```
|
2019-07-03 00:21:17 +02:00
|
|
|
{% raw %}
|
2018-04-17 23:29:41 +02:00
|
|
|
{"freshdesk_webhook":
|
|
|
|
{
|
2019-07-03 00:21:17 +02:00
|
|
|
"triggered_event":"{{triggered_event}}",
|
|
|
|
"ticket_id":"{{ticket.id}}",
|
|
|
|
"ticket_url":"{{ticket.url}}",
|
|
|
|
"ticket_type":"{{ticket.ticket_type}}",
|
|
|
|
"ticket_subject":"{{ticket.subject}}",
|
|
|
|
"ticket_description":"{{ticket.description}}",
|
|
|
|
"ticket_status":"{{ticket.status}}",
|
|
|
|
"ticket_priority":"{{ticket.priority}}",
|
|
|
|
"requester_name":"{{ticket.requester.name}}",
|
2020-08-07 11:18:34 +02:00
|
|
|
"requester_email":"{{ticket.requester.email}}"
|
2018-04-17 23:29:41 +02:00
|
|
|
}
|
|
|
|
}
|
2019-07-03 00:21:17 +02:00
|
|
|
{% endraw %}
|
2018-04-17 23:29:41 +02:00
|
|
|
```
|
2017-06-13 02:16:52 +02:00
|
|
|
|
2024-07-01 17:36:27 +02:00
|
|
|
1. Select **Save**.
|
|
|
|
|
|
|
|
{end_tabs}
|
2017-06-13 02:16:52 +02:00
|
|
|
|
|
|
|
{!congrats.md!}
|
|
|
|
|
2018-04-17 23:29:41 +02:00
|
|
|
![](/static/images/integrations/freshdesk/004.png)
|
2024-07-01 17:36:27 +02:00
|
|
|
|
|
|
|
### Related documentation
|
|
|
|
|
|
|
|
{!webhooks-url-specification.md!}
|
|
|
|
|
|
|
|
[create-bot]: #create-zulip-bot-for-freshdesk-notifications
|