2.5 KiB
-
{!create-stream.md!}
-
{!create-an-incoming-webhook.md!}
-
Construct a webhook URL like the following:
{{ api_url }}/v1/external/zendesk?ticket_title={% raw %}{{ ticket.title }}&ticket_id={{ ticket.id }}{% endraw %}
-
{!append-stream-name.md!}
-
Next, in Zendesk, open your Admin view via gear in the bottom-left corner. In the Admin view, click on Extensions, then click add target.
-
From there, click URL target. Fill in the form like this:
- Title: Zulip
- URL: the URL we created above
- Method: POST
- Attribute Name: message
- Username: your bot's user name, e.g.
zendesk-bot@yourdomain.com
- Password: your bot's API key
-
Now, select Test Target and click Submit. A test message should appear in the
zendesk
stream. If the message was received, save the target by selecting Create target and clicking Submit. -
From here, add a new trigger. You'll do this for every action you want to create a Zulip notification for. Triggers are added by selecting Triggers in the left menu and then clicking add trigger in the top right.
-
Let's say you want a notification each time a ticket is updated. Put in a descriptive title like "Announce ticket update". Under Meet all of the following conditions select Ticket: is... and then select Updated. In the Perform these actions section, select Notification: Notify target, then select Zulip.
-
Next we need to enter the message body into Message. You can use Zulip Markdown and the Zendesk placeholders when creating your message.
You can copy this example template:
{% raw %} Ticket [#{{ ticket.id }}: {{ ticket.title }}]({{ ticket.link }}), was updated by {{ current_user.name }} * Status: {{ ticket.status }} * Priority: {{ ticket.priority }} * Type: {{ ticket.ticket_type }} * Assignee: {{ ticket.assignee.name }} * Tags: {{ ticket.tags }} * Description: ``` quote {{ ticket.description }} ``` {% endraw %}
-
Finally, click Submit.
{!congrats.md!}