---
title: Freshdesk Connector
description: Configure the Freshdesk connector in PingOne DaVinci to create, view, update, and delete support tickets and contacts through the Freshdesk API
component: connectors
page_id: connectors::freshdesk_connector
canonical_url: https://docs.pingidentity.com/connectors/freshdesk_connector.html
llms_txt: https://docs.pingidentity.com/connectors/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
revdate: October 23, 2026
section_ids:
  setup: Setup
  resources: Resources
  requirements: Requirements
  configuring-the-freshdesk-connector: Configuring the Freshdesk connector
  connector-configuration: Connector configuration
  using-the-connector-in-a-flow: Using the connector in a flow
  submitting-and-managing-support-tickets: Submitting and managing support tickets
  creating-and-managing-support-portal-contacts: Creating and managing support portal contacts
  capabilities: Capabilities
  createTicket: Create Ticket
  viewTicket: View Ticket
  updateTicket: Update Ticket
  deleteTicket: Delete Ticket
  createContact: Create Contact
  viewContact: View Contact
  updateContact: Update Contact
  deleteContact: Delete Contact
---

# Freshdesk Connector

The Freshdesk connector lets you automate help desk tasks in your PingOne DaVinci flow using [Freshdesk](https://www.freshworks.com/freshdesk/), a customer support platform for help desk ticketing.

The connector creates, views, updates, and deletes support tickets and contacts through the Freshdesk API, so that you can manage support requests and support portal accounts as part of your flow.

## Setup

### Resources

You can find more information and setup help in the following:

* Freshdesk documentation:

  * [Freshdesk API reference](https://developers.freshdesk.com/api/)

  * [How to find your Freshdesk API key](https://support.freshdesk.com/en/support/solutions/articles/215517)

  * [Freshdesk pricing information](https://www.freshworks.com/freshdesk/pricing/)

* PingOne DaVinci documentation:

  * [Adding a connector](https://docs.pingidentity.com/davinci/connectors/davinci_adding_a_connector.html)

  * [Using connectors securely](https://docs.pingidentity.com/davinci/connectors/davinci_using_connectors_securely.html)

  * [Using PingOne DaVinci flow templates](https://docs.pingidentity.com/davinci/flows/davinci_using_davinci_flow_templates.html)

### Requirements

To use the connector, you'll need:

* A Freshdesk account. API access to the Freshdesk API is available on paid plans.

* Your Freshdesk API key. You can find it in your Freshdesk profile settings.

### Configuring the Freshdesk connector

Add the connector in PingOne DaVinci as shown in [Adding a connector](https://docs.pingidentity.com/davinci/connectors/davinci_adding_a_connector.html), then configure it as follows.

#### Connector configuration

| Setting                            | Description                                                                                                                                                                                    |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Freshdesk API Key**              | Your Freshdesk API key. Base 64 encode your API key with a trailing colon before pasting it into the field. For example, echo -n 'APIkey:X' \| base64, where APIkey is your Freshdesk API key. |
| **Freshdesk Base URL (or Domain)** | Your Freshdesk support portal domain, such as yourcompany.freshdesk.com or your custom domain. Do not include \https\://.                                                                      |
| **Freshdesk API Version**          | The Freshdesk API version used for requests. The default is v2. Only change this if the API version is out of date.                                                                            |

## Using the connector in a flow

### Submitting and managing support tickets

You can use the connector to automate ticket tasks, such as creating a ticket when a user submits a form in your flow or resolving an open ticket after the user's issue is handled.

At a high level:

1. The **Create Ticket** capability creates a new ticket for the requester email you specify. If no contact exists with that email address in Freshdesk, it's added as a new contact. You can also set the ticket subject, HTML description, priority, and status.

2. The **View Ticket** capability retrieves an existing ticket using its numerical ticket ID, which you can find next to the ticket title in your Freshdesk portal.

3. The **Update Ticket** capability updates an existing ticket. For example, to resolve an open ticket, set the status to 4.

4. The **Delete Ticket** capability deletes an existing ticket using its ticket ID.

|   |                                                                                                                                                                                                                            |
| - | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | For ticket priority, use 1 for low, 2 for medium, 3 for high, and 4 for urgent. For ticket status, use 2 for open, 3 for pending, 4 for resolved, and 5 for closed. The default priority is 1 and the default status is 2. |

Test the flow by clicking **Save**, **Deploy**, and **Try Flow**.

### Creating and managing support portal contacts

You can use the connector to create contacts in your support portal, update their details, or remove them, such as when a customer signs up for an account in your flow or when you need to process data removal requests.

At a high level:

1. The **Create Contact** capability creates a new contact using the contact's email address, name, job title, phone number, and address.

2. The **View Contact** and **Update Contact** capabilities retrieve and update a contact using the contact ID from the connector output.

3. The **Delete Contact** capability permanently deletes a contact so that it's completely removed from the portal, which can be useful for data privacy compliance.

Test the flow by clicking **Save**, **Deploy**, and **Try Flow**.

## Capabilities

### Create Ticket

A ticket is an issue raised by a requester that needs to be solved

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - Email textField required
>
>   Email address of the requester. If no contact exists with this email address in Freshdesk, it will be added as a new contact
>
> - Subject textField required
>
>   Subject of the Freshdesk ticket
>
> - Description textField required
>
>   HTML content of the ticket
>
> - Priority textField required
>
>   Priority of the ticket. The default value is 1
>
>   Default: `1`
>
> - Status textField required
>
>   Status of the ticket. The default value is 2
>
>   Default: `2`
>
> * default object
>
>   * properties object
>
>     * email string
>
>       Email address of the requester. If no contact exists with this email address in Freshdesk, it will be added as a new contact
>
>     * ticketSubject string
>
>       Subject of the ticket
>
>     * ticketDescription string
>
>       HTML content of the ticket
>
>     * ticketPriority string/number
>
>       Priority of the ticket. The default value is 1
>
>     * ticketStatus string/number
>
>       Status of the ticket. The default value is 2
>
> Input Example
>
> ```json
> {
>   "properties": {
>     "email": "testEmail@gmail.com",
>     "ticketSubject": "Computer won't turn on",
>     "ticketDescription": "The computer's power button does not work.",
>     "ticketPriority": 1,
>     "ticketStatus": 2
>   }
> }
> ```
>
> * output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object
>
>   * ticketId number

### View Ticket

View one existing ticket, or all existing tickets

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - Ticket ID textField required
>
>   The numerical ID of the desired ticket. Can be found manually in your Freshdesk portal (i.e. 5 is the ID for "Ticket Title #5")
>
> * default object
>
>   * properties object
>
>     * ticketId number
>
>       The numerical ID of the desired ticket
>
> Input Example
>
> ```json
> {
>   "properties": {
>     "ticketId": 8
>   }
> }
> ```
>
> * output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object
>
>   * ticketId number

### Update Ticket

Make updates to an existing ticket

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - Ticket ID textField required
>
>   The numerical ID of the desired ticket. Can be found manually in your Freshdesk portal (i.e. 5 is the ID for "Ticket Title #5")
>
> - Subject textField required
>
>   Subject of the Freshdesk ticket
>
> - Description textField required
>
>   HTML content of the ticket
>
> - Priority textField required
>
>   Priority of the ticket. The default value is 1
>
>   Default: `1`
>
> - Status textField required
>
>   Status of the ticket. The default value is 2
>
>   Default: `2`
>
> * default object
>
>   * properties object
>
>     * ticketId number
>
>       The numerical ID of the desired ticket
>
>     * ticketSubject string
>
>       Subject of the ticket
>
>     * ticketDescription string
>
>       HTML content of the ticket
>
>     * ticketPriority string/number
>
>       Priority of the ticket. The default value is 1
>
>     * ticketStatus string/number
>
>       Status of the ticket. The default value is 2
>
> Input Example
>
> ```json
> {
>   "properties": {
>     "ticketId": 8,
>     "ticketSubject": "WiFi issues",
>     "ticketDescription": "Computer not connecting to WiFi",
>     "ticketPriority": 3,
>     "ticketStatus": 2
>   }
> }
> ```
>
> * output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object

### Delete Ticket

Delete an existing ticket

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - Ticket ID textField required
>
>   The numerical ID of the desired ticket. Can be found manually in your Freshdesk portal (i.e. 5 is the ID for "Ticket Title #5")
>
> * default object
>
>   * properties object
>
>     * ticketId number
>
>       The numerical ID of the desired ticket
>
> Input Example
>
> ```json
> {
>   "properties": {
>     "ticketId": 8
>   }
> }
> ```
>
> * output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object

### Create Contact

A contact is a customer or a potential customer who has raised a support ticket through any channel

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - Email textField required
>
>   Email address of the requester. If no contact exists with this email address in Freshdesk, it will be added as a new contact
>
> - Name textField
>
>   First and last name of the new contact
>
> - Job Title textField
>
>   Job title of the contact
>
> - Phone Number textField
>
>   Telephone number of the contact
>
> - Address textField
>
>   Address of the contact
>
> * default object
>
>   * properties object
>
>     * email string
>
>       Email address of the requester. If no contact exists with this email address in Freshdesk, it will be added as a new contact
>
>     * contactName string
>
>       First and last name of the new contact
>
>     * contactJobTitle string
>
>       Job title of the contact
>
>     * contactPhone string
>
>       Telephone number of the contact
>
>     * contactAddress string
>
>       Address of the contact
>
> Input Example
>
> ```json
> {
>   "properties": {
>     "name": "Billy Bones",
>     "email": "billybones1@zmail.com",
>     "job_title": "Manager",
>     "phone": "3033333333",
>     "address": "123 East St"
>   }
> }
> ```
>
> * output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object
>
>   * contactId number

### View Contact

View a contact who raised a support ticket

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - Contact ID textField required
>
>   The "contactId" listed under the output object
>
> * default object
>
>   * properties object
>
>     * contactId number
>
>       The "contactId" listed under the output object
>
> Input Example
>
> ```json
> {
>   "properties": {
>     "contactId": 120002013606
>   }
> }
> ```
>
> * output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object

### Update Contact

Update a contact who raised a support ticket

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - Contact ID textField required
>
>   The "contactId" listed under the output object
>
> - Name textField
>
>   First and last name of the new contact
>
> - Job Title textField
>
>   Job title of the contact
>
> - Phone Number textField
>
>   Telephone number of the contact
>
> - Address textField
>
>   Address of the contact
>
> * default object
>
>   * properties object
>
>     * contactId number
>
>       The "contactId" listed under the output object
>
>     * contactName string
>
>       First and last name of the new contact
>
>     * contactJobTitle string
>
>       Job title of the contact
>
>     * contactPhone string
>
>       Telephone number of the contact
>
>     * contactAddress string
>
>       Address of the contact
>
> Input Example
>
> ```json
> {
>   "properties": {
>     "contactId": 120002013606,
>     "name": "Billy Bones",
>     "job_title": "Manager",
>     "phone": "3033333333",
>     "address": "123 East St"
>   }
> }
> ```
>
> * output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object
>
>   * contactId number

### Delete Contact

Hard delete a contact to completely remove it from the portal. Can be used for GDPR compliance

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - Contact ID textField required
>
>   The "contactId" listed under the output object
>
> * default object
>
>   * properties object
>
>     * contactId number
>
>       The "contactId" listed under the output object
>
> Input Example
>
> ```json
> {
>   "properties": {
>     "contactId": 120002013606
>   }
> }
> ```
>
> * output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object
