Files
zulip/zerver/webhooks/zendesk/doc.md
David Rosa 620854d437 integrations: Add incoming webhook macro to relevant docs.
Several integration docs instruct the user to create a bot, but don't
specify that the type of bot should be "Incoming webhook".

Renames create-a-bot.md -> create-an-incoming-webhook.md for clarity,
and replaces all incomplete instructions with this macro.
Renames bot_types.png -> bot_types_incoming_webhook.png and updates
the image with a screenshot of the latest UI.
2022-09-09 16:31:33 -07:00

2.5 KiB

  1. {!create-stream.md!}

  2. {!create-an-incoming-webhook.md!}

  3. Construct a webhook URL like the following:

    {{ api_url }}/v1/external/zendesk?ticket_title={% raw %}{{ ticket.title }}&ticket_id={{ ticket.id }}{% endraw %}

  4. {!append-stream-name.md!}

  5. 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.

  6. 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

  7. 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.

  8. 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.

  9. 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.

  10. 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 %}
    

  11. Finally, click Submit.

{!congrats.md!}