zulip/zerver/webhooks/freshdesk/doc.md

4.0 KiB

Zulip Freshdesk integration

See customer support interactions in Zulip with our Freshdesk integration!

Create Zulip bot for Freshdesk notifications

{start_tabs}

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

  2. {!generate-webhook-url-basic.md!}

{end_tabs}

Add notifications for new Freshdesk tickets

{start_tabs}

  1. Go to your Freshdesk Admin page.

  2. Under Helpdesk Productivity, select Dispatch'r, and then select New rule.

  3. Set Rule Name to a name of your choice, such as Zulip.

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

  5. Under Actions, set the Select Action dropdown to Trigger Webhook.

  6. Set Request Type to POST, and set Callback URL to the URL generated above.

  7. Toggle the Requires Authentication checkbox.

  8. Set Username to the email of the bot created above, and set Password to the bot's API key.

  9. Set Encoding to JSON, and select the Advanced option. Copy and paste the following JSON into the Content box:

    {% raw %}
    {"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}}"
        }
    }
    {% endraw %}
    
  10. Click Save.

{end_tabs}

Get notifications for changes to existing Freshdesk tickets

{start_tabs}

  1. Go to your Freshdesk Admin page.

  2. Under Helpdesk Productivity, select Observer, and then select New rule.

  3. Set Rule Name to a name of your choice, such as Zulip.

  4. Under involves any of these events, create new events as shown below:

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

  6. Under perform these actions, set the Select Action dropdown to Trigger Webhook.

  7. Set Request Type to POST, and set Callback URL to the URL generated above.

  8. Toggle the Requires Authentication checkbox.

  9. Set Username to the email of the bot created above, and set Password to the bot's API key.

  10. Set Encoding to JSON and select the Advanced option. Copy and paste the following JSON into the Content box:

    {% raw %}
    {"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}}"
        }
    }
    {% endraw %}
    
  11. Select Save.

{end_tabs}

{!congrats.md!}

{!webhooks-url-specification.md!}