Freshdesk

Create Freshdesk tickets using an Apono webhook

Freshdesk is a customer support platform that helps businesses efficiently manage and resolve customer inquiries and issues. It provides tools to streamline customer service processes across various channels, such as email, phone, chat, and social media.

Through this integration, you will configure an Apono webhook that creates new tickets in Freshdesk when user access requests are created, approved, granted, and revoked, or when requests fail.



Prerequisites

ItemDescription
Freshdesk API TokenAuthentication credential used when making requests to the Freshdesk API

Follow the steps to generate an API token:
  1. Log in to your Freshdesk account.
  2. Click your profile picture > Profile settings
  3. Click View API key.
Freshdesk API URLRoute for creating a ticket in your Freshdesk instance

Example: https://<SUBDOMAIN>.freshdesk.com/api/v2/tickets


Configure a webhook to create Freshdesk tickets

Follow these steps to configure a webhook:

  1. On the Webhooks page, click Add Webhook. The Add Webhook page appears.
  2. From the Method dropdown menu, select POST.
  3. For the webhook URL, enter https://<SUBDOMAIN>.freshdesk.com/api/v2/tickets.

    Be sure to replace <SUBDOMAIN> with the Freshdesk subdomain for your account.

    ⚠️

    The webhook URL must adhere to the following requirements:

    • Uses the HTTPS protocol
    • Does not specify any custom ports

  1. In the Body Template field, enter the JSON payload data for the webhook.

    {
      "description": "{ \"event_type\": \"{{ event_type }}\", \"event_time\": \"{{ event_time }}\", \"id\": \"{{ data.id }}\", \"friendly_id\": \"{{ data.friendly_id }}\", \"requester_id\": \"{{ data.requester.id }}\", \"requester_name\": \"{{ data.requester.name }}\", \"requester_email\": \"{{ data.requester.email }}\", \"justification\": \"{{ data.justification }}\", \"creation_date\": \"{{ data.creation_date }}\", \"access_flow_id\": \"{{ data.access_flow.id }}\", \"access_flow_name\": \"{{ data.access_flow.name }}\", \"access_bundle_id\": \"{{ data.access_bundle.id }}\", \"access_bundle_name\": \"{{ data.access_bundle.id }}\", \"access_groups_integration_name\": \"{{ data.access_groups.[0].integration.name }}\", \"access_groups_integration_type\": \"{{ data.access_groups.[0].integration.type }}\"}",
      "subject": "apono - {{ event_type }}",
      "email": "{{ data.requester.email }}",
      "priority": 1,
      "status": 2
    }
    
  2. Under Headers, use the following Key and Value to set the access token. Be sure to replace <FRESHDESK_TOKEN> with a base64-encoded authentication string ({ base64-encoding <api_token>:X}).

    KeyValue
    AuthorizationBasic <FRESHDESK_TOKEN>

  1. From the Triggers dropdown menu, select RequestCreated.

  2. Enter a unique, alphanumeric, user-friendly Name for identifying this webhook.

  3. Toggle the webhook Status to Active.

  4. Click Test to generate a test event to trigger your webhook. A Test successful or Test failed response status will appear at the bottom of the page.

    💡

    For more information about the test, click View Invocation Data. A panel opens revealing the request, response, and other relevant details.

    Should your test fail, view these tips to troubleshoot your webhook.

  5. Click Save Webhook.


The new webhook appears in the Webhooks table. Active webhooks are preceded by a green dot. Inactive webhooks are preceded by a white dot.

Apono will send a call to Freshdesk to create a new ticket when the RequestCreated event is triggered.