mirror of https://github.com/zulip/zulip.git
webhooks/freshdesk: Migrate docs to Markdown.
This commit is contained in:
parent
902ae31e15
commit
cfa0f5332a
|
@ -1,236 +0,0 @@
|
|||
<h4>Freshdesk</h4>
|
||||
|
||||
<p>
|
||||
See customer support interactions right in Zulip, with our Freshdesk
|
||||
integration! Note that this integration must be set up by an administrator
|
||||
for your Freshdesk instance.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
First, create the stream you'd like to use for Freshdesk notifications,
|
||||
and subscribe all interested parties to this stream. We recommend the
|
||||
stream name <code>freshdesk</code>.
|
||||
</p>
|
||||
|
||||
<p>Next, on your {{ settings_html|safe }}, create a Freshdesk bot.</p>
|
||||
|
||||
<p>
|
||||
Now we can set up the Freshdesk events that will trigger
|
||||
Zulips. Freshdesk provides separate triggering mechanisms for ticket
|
||||
creation and ticket changes, so we'll set up these triggers in two
|
||||
parts.
|
||||
</p>
|
||||
|
||||
<h4>Part 1: Zulip notifications for new Freshdesk tickets</h4>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
<p>
|
||||
Visit your Freshdesk admin page. Under the <b>"Helpdesk
|
||||
Productivity"</b> section, click the <b>"Dispatch'r"</b> icon:
|
||||
</p>
|
||||
|
||||
<img class="screenshot" src="/static/images/integrations/freshdesk/001.png"/>
|
||||
|
||||
<p>
|
||||
Click the <b>"New rule"</b> button to create a new Dispatch'r rule
|
||||
that will send notifications to Zulip when Freshdesk tickets are
|
||||
opened.
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
On the Dispatch'r rule creation page, give the rule a name and
|
||||
description. Next, we need to specify the conditions under which to
|
||||
trigger Zulip notifications. There isn't a shortcut for "always
|
||||
generate a notification on ticket creation", so we'll instead fake it
|
||||
by picking two complementary conditions: when the source <b>is
|
||||
email</b>, and when the source <b>is not email</b>:
|
||||
</p>
|
||||
|
||||
<img class="screenshot" src="/static/images/integrations/freshdesk/002.png"/>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p>
|
||||
In the <b>"Action"</b> section, add a new action of
|
||||
type <b>"Trigger Webhook"</b>. Set the <b>"Request Type"</b>
|
||||
to <b>"POST"</b>. Set the following <b>"Callback URL"</b>, replacing
|
||||
the Zulip stream with your desired stream:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<code>{{ external_api_uri_subdomain }}/v1/external/freshdesk?stream=<font color="#00A26F">freshdesk</font></code>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Check the <b>"Requires Authentication"</b> box, and supply the bot
|
||||
e-mail address and API key.
|
||||
</p>
|
||||
|
||||
<p>The Action section should look like this so far:</p>
|
||||
|
||||
<img class="screenshot" src="/static/images/integrations/freshdesk/003.png"/>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
Select <b>"JSON"</b> for the <b>"Encoding"</b>. Under the encoding, select
|
||||
<b>"Advanced"</b>. Paste the following JSON into the <b>"Content"</b>
|
||||
box:
|
||||
</p>
|
||||
|
||||
<pre>{"freshdesk_webhook":
|
||||
{
|
||||
"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}}",
|
||||
"requester_email":"{{ticket.requester.email}}",
|
||||
}
|
||||
}
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
These ticket details are what will be forwarded to Zulip. The
|
||||
pasted JSON should look like this:
|
||||
</p>
|
||||
|
||||
<img class="screenshot" src="/static/images/integrations/freshdesk/004.png"/>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
Save your new Dispatch'r rule. The next time a Freshdesk ticket is
|
||||
opened, the team will get a notification in Zulip!
|
||||
</p>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
If you only want to receive Zulip notifications on ticket creation,
|
||||
stop here, you're done! If you also want notifications on important ticket
|
||||
changes, please continue to the next section.
|
||||
</p>
|
||||
|
||||
<h4>Part 2: Zulip notifications on ticket changes</h4>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
<p>
|
||||
Visit your Freshdesk admin page. Under the <b>"Helpdesk
|
||||
Productivity"</b> section, click the <b>"Observer"</b> icon:
|
||||
</p>
|
||||
|
||||
<img class="screenshot" src="/static/images/integrations/freshdesk/005.png"/>
|
||||
|
||||
<p>
|
||||
Click the <b>"New rule"</b> button to create a new Observer rule
|
||||
that will send notifications to Zulip when Freshdesk tickets are
|
||||
updated.
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
On the Observer rule creation page, give the rule a name and
|
||||
description. Under <b>"When Any Of These Events Occur"</b>, create
|
||||
these new rules:
|
||||
</p>
|
||||
<ul>
|
||||
<li><p>Priority is changed, from Any Priority, to Any Priority</p></li>
|
||||
<li><p>Status is changed, from Any Status, to Any Status</p></li>
|
||||
<li><p>Note is added, Type Any</p></li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
If you do not want to receive Zulip notifications on one or more of
|
||||
these events, leave out the rule for that event.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Under <b>"And The Events Are Performed By"</b>,
|
||||
select <b>"Anyone"</b>.
|
||||
</p>
|
||||
|
||||
<p>So far, the rule should look like this:</p>
|
||||
|
||||
<img class="screenshot" src="/static/images/integrations/freshdesk/006.png"/>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
Next, we need to specify the types of tickets that will trigger
|
||||
Zulip notifications. There isn't a shortcut for "always generate a
|
||||
notification on ticket update", so as before we'll instead fake it by
|
||||
picking two complementary conditions: when the source <b>is email</b>,
|
||||
and when the source <b>is not email</b>:
|
||||
</p>
|
||||
|
||||
<img class="screenshot" src="/static/images/integrations/freshdesk/007.png"/>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
Under <b>"Perform These Actions"</b>, add a new action of
|
||||
type <b>"Trigger Webhook"</b>. Set the <b>"Request Type"</b>
|
||||
to <b>"POST"</b>. Set the following <b>"Callback URL"</b>, replacing
|
||||
the Zulip stream with your desired stream:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<code>{{ external_api_uri_subdomain }}/v1/external/freshdesk?stream=<font color="#00A26F">freshdesk</font></code>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Check the <b>"Requires Authentication"</b> box, and supply the bot
|
||||
e-mail address and API key.
|
||||
</p>
|
||||
|
||||
<p>The Action section should look like this so far:</p>
|
||||
|
||||
<img class="screenshot" src="/static/images/integrations/freshdesk/008.png"/>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
Select <b>"JSON"</b> for the <b>"Encoding"</b>. Under the encoding,
|
||||
select <b>"Advanced"</b>. Paste the following JSON into
|
||||
the <b>"Content"</b> box:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
{"freshdesk_webhook":
|
||||
{
|
||||
"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}}",
|
||||
"requester_email":"{{ticket.requester.email}}",
|
||||
}
|
||||
}</pre>
|
||||
<p>
|
||||
These ticket details are what will be forwarded to Zulip. The
|
||||
pasted JSON should look like this:
|
||||
</p>
|
||||
|
||||
<img class="screenshot" src="/static/images/integrations/freshdesk/009.png"/>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
Save your new Observer rule. The next time a Freshdesk ticket is
|
||||
updated, the team will get a notification in Zulip!
|
||||
</p>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
<b>Congratulations! You're done!</b><br/> You'll now see support
|
||||
progress in real time in Zulip:
|
||||
</p>
|
||||
|
||||
<img class="screenshot" src="/static/images/integrations/freshdesk/010.png"/>
|
|
@ -0,0 +1,144 @@
|
|||
## Freshdesk
|
||||
|
||||
See customer support interactions right in Zulip, with our Freshdesk
|
||||
integration! Note that this integration must be set up by an
|
||||
administrator for your Freshdesk instance.
|
||||
|
||||
{!create-stream.md!}
|
||||
|
||||
Next, on your {{ settings_html|safe }}, create a Freshdesk bot.
|
||||
|
||||
Now we can set up the Freshdesk events that will trigger Zulip's.
|
||||
Freshdesk provides separate triggering mechanisms for ticket
|
||||
creation and ticket changes, so we'll set up these triggers in two
|
||||
parts.
|
||||
|
||||
### Part 1: Zulip notifications for new Freshdesk tickets
|
||||
|
||||
1. Visit your Freshdesk admin page. Under the **Helpdesk Productivity**
|
||||
section, click the **Dispatch'r** icon:
|
||||
![](/static/images/integrations/freshdesk/001.png)
|
||||
|
||||
2. Click the **New rule** button to create a new Dispatch'r rule that
|
||||
will send notifications to Zulip when Freshdesk tickets are opened.
|
||||
|
||||
3. On the Dispatch'r rule creation page, give the rule a name and
|
||||
description. Next, we need to specify the conditions under which to
|
||||
trigger Zulip notifications. There isn't a shortcut for "always
|
||||
generate a notification on ticket creation", so we'll instead fake it
|
||||
by picking two complementary conditions: when the source **is email**,
|
||||
and when the source **is not email**:
|
||||
![](/static/images/integrations/freshdesk/002.png)
|
||||
|
||||
4. In the **Action** section, add a new action of type **Trigger Webhook**.
|
||||
Set the **Request Type** to **POST**. Set the following **Callback URL**,
|
||||
replacing the Zulip stream with your desired stream:
|
||||
`{{ external_api_uri_subdomain }}/v1/external/freshdesk?stream=freshdesk`
|
||||
|
||||
5. Check the **Requires Authentication** box, and supply the bot email
|
||||
address and API key. The **Action** section should look like this so
|
||||
far:
|
||||
![](/static/images/integrations/freshdesk/003.png)
|
||||
|
||||
6. Select **JSON** for the **Encoding**. Under the encoding, select
|
||||
**Advanced**. Paste the following JSON into the **Content** box:
|
||||
```
|
||||
{"freshdesk_webhook":
|
||||
{
|
||||
"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}}",
|
||||
"requester_email":"{{ticket.requester.email}}",
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
These ticket details are what will be forwarded to Zulip. The
|
||||
pasted JSON should look like this:
|
||||
|
||||
![](/static/images/integrations/freshdesk/004.png)
|
||||
|
||||
Lastly, save your new Dispatch'r rule. The next time a Freshdesk ticket
|
||||
is opened, the team will get a notification in Zulip!
|
||||
|
||||
If you only want to receive Zulip notifications on ticket creation,
|
||||
stop here, you're done! If you also want notifications on important ticket
|
||||
changes, please continue to the next section.
|
||||
|
||||
### Part 2: Zulip notifications on ticket changes
|
||||
|
||||
1. Visit your Freshdesk admin page. Under the **Helpdesk Productivity**
|
||||
section, click the **Observer** icon:
|
||||
![](/static/images/integrations/freshdesk/005.png)
|
||||
|
||||
2. Click the **New rule** button to create a new Observer rule that will
|
||||
send notifications to Zulip when Freshdesk tickets are updated.
|
||||
|
||||
3. On the Observer rule creation page, give the rule a name and
|
||||
description. Under **When Any Of These Events Occur**, create
|
||||
these new rules:
|
||||
* Priority is changed, from Any Priority, to Any Priority
|
||||
* Status is changed, from Any Status, to Any Status
|
||||
* Note is added, Type Any
|
||||
|
||||
4. If you do not want to receive Zulip notifications on one or more of
|
||||
these events, leave out the rule for that event.
|
||||
|
||||
5. Under **And The Events Are Performed By**, select **Anyone**.
|
||||
So far, the rule should look like this:
|
||||
![](/static/images/integrations/freshdesk/006.png)
|
||||
|
||||
6. Next, we need to specify the types of tickets that will trigger
|
||||
Zulip notifications. There isn't a shortcut for "always generate a
|
||||
notification on ticket update", so as before we'll instead fake it by
|
||||
picking two complementary conditions: when the source **is email**,
|
||||
and when the source **is not email**:
|
||||
![](/static/images/integrations/freshdesk/007.png)
|
||||
|
||||
7. Under **Perform These Actions**, add a new action of type
|
||||
**Trigger Webhook**. Set the **Request Type** to **POST**. Set the
|
||||
following **Callback URL**, replacing the Zulip stream with your
|
||||
desired stream:
|
||||
`{{ external_api_uri_subdomain }}/v1/external/freshdesk?stream=freshdesk`
|
||||
|
||||
8. Check the **Requires Authentication** box, and supply the bot e-mail
|
||||
address and API key. The Action section should look like this so far:
|
||||
![](/static/images/integrations/freshdesk/008.png)
|
||||
|
||||
9. Select **JSON** for the **Encoding**. Under the encoding, select
|
||||
**Advanced**. Paste the following JSON into the **Content** box:
|
||||
|
||||
```
|
||||
{"freshdesk_webhook":
|
||||
{
|
||||
"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}}",
|
||||
"requester_email":"{{ticket.requester.email}}",
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
These ticket details are what will be forwarded to Zulip. The
|
||||
pasted JSON should look like this:
|
||||
|
||||
![](/static/images/integrations/freshdesk/009.png)
|
||||
|
||||
Finally, save your new Observer rule. The next time a Freshdesk
|
||||
ticket is updated, the team will get a notification in Zulip!
|
||||
|
||||
{!congrats.md!}
|
||||
|
||||
![](/static/images/integrations/freshdesk/010.png)
|
Loading…
Reference in New Issue