> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# freshdesk

> Tickets, contacts, and agents

**Server path:** `/freshdesk` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                          | Description                                   |
| ------------------------------------------------------------- | --------------------------------------------- |
| [`freshdesk_create_ticket`](#freshdesk_create_ticket)         | Create a new support ticket in Freshdesk      |
| [`freshdesk_get_ticket`](#freshdesk_get_ticket)               | Retrieve a ticket by ID                       |
| [`freshdesk_update_ticket`](#freshdesk_update_ticket)         | Update an existing ticket                     |
| [`freshdesk_list_tickets`](#freshdesk_list_tickets)           | List tickets with optional filtering          |
| [`freshdesk_add_note`](#freshdesk_add_note)                   | Add a note to a ticket                        |
| [`freshdesk_create_contact`](#freshdesk_create_contact)       | Create a new contact in Freshdesk             |
| [`freshdesk_get_contact`](#freshdesk_get_contact)             | Retrieve a contact by ID                      |
| [`freshdesk_update_contact`](#freshdesk_update_contact)       | Update an existing contact                    |
| [`freshdesk_create_company`](#freshdesk_create_company)       | Create a new company in Freshdesk             |
| [`freshdesk_get_company`](#freshdesk_get_company)             | Retrieve a company by ID                      |
| [`freshdesk_search_tickets`](#freshdesk_search_tickets)       | Search tickets using Freshdesk query language |
| [`freshdesk_get_agents`](#freshdesk_get_agents)               | Get list of agents in Freshdesk               |
| [`freshdesk_get_groups`](#freshdesk_get_groups)               | Get list of agent groups                      |
| [`freshdesk_get_time_entries`](#freshdesk_get_time_entries)   | Get time entries for tickets                  |
| [`freshdesk_create_time_entry`](#freshdesk_create_time_entry) | Create a time entry for a ticket              |

***

## freshdesk\_create\_ticket

Create a new support ticket in Freshdesk

**Parameters:**

| Parameter       | Type      | Required | Default | Description                                                                                                                |
| --------------- | --------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------- |
| `subject`       | string    | Yes      | —       | Ticket subject                                                                                                             |
| `description`   | string    | Yes      | —       | Ticket description                                                                                                         |
| `email`         | string    | Yes      | —       | Requester email address                                                                                                    |
| `priority`      | number    | No       | `1`     | Ticket priority (1=Low, 2=Medium, 3=High, 4=Urgent)                                                                        |
| `status`        | number    | No       | `2`     | Ticket status (2=Open, 3=Pending, 4=Resolved, 5=Closed, 6=Waiting on Customer, 7=Waiting on Third Party)                   |
| `type`          | string    | No       | —       | Ticket type                                                                                                                |
| `source`        | number    | No       | `2`     | Ticket source (1=Email, 2=Portal, 3=Phone, 5=Forum, 6=Twitter, 7=Chat, 9=Feedback Widget, 10=Outbound Email, 11=eCommerce) |
| `tags`          | string\[] | No       | —       | Tags for the ticket                                                                                                        |
| `cc_emails`     | string\[] | No       | —       | CC email addresses                                                                                                         |
| `custom_fields` | object    | No       | —       | Custom field values                                                                                                        |
| `attachments`   | object\[] | No       | —       | File attachments                                                                                                           |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "subject": {
        "type": "string",
        "description": "Ticket subject"
      },
      "description": {
        "type": "string",
        "description": "Ticket description"
      },
      "email": {
        "type": "string",
        "description": "Requester email address"
      },
      "priority": {
        "type": "number",
        "default": 1,
        "description": "Ticket priority (1=Low, 2=Medium, 3=High, 4=Urgent)"
      },
      "status": {
        "type": "number",
        "default": 2,
        "description": "Ticket status (2=Open, 3=Pending, 4=Resolved, 5=Closed, 6=Waiting on Customer, 7=Waiting on Third Party)"
      },
      "type": {
        "type": "string",
        "description": "Ticket type"
      },
      "source": {
        "type": "number",
        "default": 2,
        "description": "Ticket source (1=Email, 2=Portal, 3=Phone, 5=Forum, 6=Twitter, 7=Chat, 9=Feedback Widget, 10=Outbound Email, 11=eCommerce)"
      },
      "tags": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Tags for the ticket"
      },
      "cc_emails": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "CC email addresses"
      },
      "custom_fields": {
        "type": "object",
        "additionalProperties": true,
        "description": "Custom field values"
      },
      "attachments": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "Attachment filename"
            },
            "content": {
              "type": "string",
              "description": "Base64 encoded file content"
            },
            "content_type": {
              "type": "string",
              "description": "MIME type of the file"
            }
          }
        },
        "description": "File attachments"
      }
    },
    "required": [
      "PCID",
      "subject",
      "description",
      "email"
    ]
  }
  ```
</Expandable>

***

## freshdesk\_get\_ticket

Retrieve a ticket by ID

**Parameters:**

| Parameter   | Type      | Required | Default | Description                            |
| ----------- | --------- | -------- | ------- | -------------------------------------- |
| `ticket_id` | string    | Yes      | —       | Ticket ID to retrieve                  |
| `include`   | string\[] | No       | —       | Additional data to include in response |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "ticket_id": {
        "type": "string",
        "description": "Ticket ID to retrieve"
      },
      "include": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "requester",
            "company",
            "stats"
          ]
        },
        "description": "Additional data to include in response"
      }
    },
    "required": [
      "PCID",
      "ticket_id"
    ]
  }
  ```
</Expandable>

***

## freshdesk\_update\_ticket

Update an existing ticket

**Parameters:**

| Parameter       | Type      | Required | Default | Description                                                                                               |
| --------------- | --------- | -------- | ------- | --------------------------------------------------------------------------------------------------------- |
| `ticket_id`     | string    | Yes      | —       | Ticket ID to update                                                                                       |
| `subject`       | string    | No       | —       | Updated subject                                                                                           |
| `description`   | string    | No       | —       | Updated description                                                                                       |
| `priority`      | number    | No       | —       | Updated priority (1=Low, 2=Medium, 3=High, 4=Urgent)                                                      |
| `status`        | number    | No       | —       | Updated status (2=Open, 3=Pending, 4=Resolved, 5=Closed, 6=Waiting on Customer, 7=Waiting on Third Party) |
| `type`          | string    | No       | —       | Updated type                                                                                              |
| `tags`          | string\[] | No       | —       | Updated tags                                                                                              |
| `custom_fields` | object    | No       | —       | Updated custom field values                                                                               |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "ticket_id": {
        "type": "string",
        "description": "Ticket ID to update"
      },
      "subject": {
        "type": "string",
        "description": "Updated subject"
      },
      "description": {
        "type": "string",
        "description": "Updated description"
      },
      "priority": {
        "type": "number",
        "description": "Updated priority (1=Low, 2=Medium, 3=High, 4=Urgent)"
      },
      "status": {
        "type": "number",
        "description": "Updated status (2=Open, 3=Pending, 4=Resolved, 5=Closed, 6=Waiting on Customer, 7=Waiting on Third Party)"
      },
      "type": {
        "type": "string",
        "description": "Updated type"
      },
      "tags": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Updated tags"
      },
      "custom_fields": {
        "type": "object",
        "additionalProperties": true,
        "description": "Updated custom field values"
      }
    },
    "required": [
      "PCID",
      "ticket_id"
    ]
  }
  ```
</Expandable>

***

## freshdesk\_list\_tickets

List tickets with optional filtering

**Parameters:**

| Parameter       | Type   | Required | Default             | Description                                    |
| --------------- | ------ | -------- | ------------------- | ---------------------------------------------- |
| `filter`        | string | No       | `"new_and_my_open"` | Predefined filter for tickets                  |
| `requester_id`  | string | No       | —                   | Filter by requester ID                         |
| `email`         | string | No       | —                   | Filter by requester email                      |
| `company_id`    | string | No       | —                   | Filter by company ID                           |
| `updated_since` | string | No       | —                   | Filter by updated since timestamp (ISO format) |
| `page`          | number | No       | `1`                 | Page number for pagination                     |
| `per_page`      | number | No       | `30`                | Tickets per page (1-100)                       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "filter": {
        "type": "string",
        "enum": [
          "new_and_my_open",
          "watching",
          "spam",
          "deleted"
        ],
        "default": "new_and_my_open",
        "description": "Predefined filter for tickets"
      },
      "requester_id": {
        "type": "string",
        "description": "Filter by requester ID"
      },
      "email": {
        "type": "string",
        "description": "Filter by requester email"
      },
      "company_id": {
        "type": "string",
        "description": "Filter by company ID"
      },
      "updated_since": {
        "type": "string",
        "description": "Filter by updated since timestamp (ISO format)"
      },
      "page": {
        "type": "number",
        "default": 1,
        "description": "Page number for pagination"
      },
      "per_page": {
        "type": "number",
        "default": 30,
        "description": "Tickets per page (1-100)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## freshdesk\_add\_note

Add a note to a ticket

**Parameters:**

| Parameter       | Type      | Required | Default | Description                 |
| --------------- | --------- | -------- | ------- | --------------------------- |
| `ticket_id`     | string    | Yes      | —       | Ticket ID to add note to    |
| `body`          | string    | Yes      | —       | Note content                |
| `private`       | boolean   | No       | `false` | Whether the note is private |
| `notify_emails` | string\[] | No       | —       | Email addresses to notify   |
| `user_id`       | string    | No       | —       | User ID creating the note   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "ticket_id": {
        "type": "string",
        "description": "Ticket ID to add note to"
      },
      "body": {
        "type": "string",
        "description": "Note content"
      },
      "private": {
        "type": "boolean",
        "default": false,
        "description": "Whether the note is private"
      },
      "notify_emails": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Email addresses to notify"
      },
      "user_id": {
        "type": "string",
        "description": "User ID creating the note"
      }
    },
    "required": [
      "PCID",
      "ticket_id",
      "body"
    ]
  }
  ```
</Expandable>

***

## freshdesk\_create\_contact

Create a new contact in Freshdesk

**Parameters:**

| Parameter       | Type      | Required | Default | Description           |
| --------------- | --------- | -------- | ------- | --------------------- |
| `name`          | string    | Yes      | —       | Contact name          |
| `email`         | string    | Yes      | —       | Contact email address |
| `phone`         | string    | No       | —       | Contact phone number  |
| `mobile`        | string    | No       | —       | Contact mobile number |
| `job_title`     | string    | No       | —       | Contact job title     |
| `company_id`    | string    | No       | —       | Associated company ID |
| `address`       | string    | No       | —       | Contact address       |
| `description`   | string    | No       | —       | Contact description   |
| `tags`          | string\[] | No       | —       | Tags for the contact  |
| `custom_fields` | object    | No       | —       | Custom field values   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "name": {
        "type": "string",
        "description": "Contact name"
      },
      "email": {
        "type": "string",
        "description": "Contact email address"
      },
      "phone": {
        "type": "string",
        "description": "Contact phone number"
      },
      "mobile": {
        "type": "string",
        "description": "Contact mobile number"
      },
      "job_title": {
        "type": "string",
        "description": "Contact job title"
      },
      "company_id": {
        "type": "string",
        "description": "Associated company ID"
      },
      "address": {
        "type": "string",
        "description": "Contact address"
      },
      "description": {
        "type": "string",
        "description": "Contact description"
      },
      "tags": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Tags for the contact"
      },
      "custom_fields": {
        "type": "object",
        "additionalProperties": true,
        "description": "Custom field values"
      }
    },
    "required": [
      "PCID",
      "name",
      "email"
    ]
  }
  ```
</Expandable>

***

## freshdesk\_get\_contact

Retrieve a contact by ID

**Parameters:**

| Parameter    | Type   | Required | Default | Description            |
| ------------ | ------ | -------- | ------- | ---------------------- |
| `contact_id` | string | Yes      | —       | Contact ID to retrieve |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "contact_id": {
        "type": "string",
        "description": "Contact ID to retrieve"
      }
    },
    "required": [
      "PCID",
      "contact_id"
    ]
  }
  ```
</Expandable>

***

## freshdesk\_update\_contact

Update an existing contact

**Parameters:**

| Parameter       | Type      | Required | Default | Description                 |
| --------------- | --------- | -------- | ------- | --------------------------- |
| `contact_id`    | string    | Yes      | —       | Contact ID to update        |
| `name`          | string    | No       | —       | Updated name                |
| `email`         | string    | No       | —       | Updated email               |
| `phone`         | string    | No       | —       | Updated phone               |
| `mobile`        | string    | No       | —       | Updated mobile              |
| `job_title`     | string    | No       | —       | Updated job title           |
| `address`       | string    | No       | —       | Updated address             |
| `description`   | string    | No       | —       | Updated description         |
| `tags`          | string\[] | No       | —       | Updated tags                |
| `custom_fields` | object    | No       | —       | Updated custom field values |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "contact_id": {
        "type": "string",
        "description": "Contact ID to update"
      },
      "name": {
        "type": "string",
        "description": "Updated name"
      },
      "email": {
        "type": "string",
        "description": "Updated email"
      },
      "phone": {
        "type": "string",
        "description": "Updated phone"
      },
      "mobile": {
        "type": "string",
        "description": "Updated mobile"
      },
      "job_title": {
        "type": "string",
        "description": "Updated job title"
      },
      "address": {
        "type": "string",
        "description": "Updated address"
      },
      "description": {
        "type": "string",
        "description": "Updated description"
      },
      "tags": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Updated tags"
      },
      "custom_fields": {
        "type": "object",
        "additionalProperties": true,
        "description": "Updated custom field values"
      }
    },
    "required": [
      "PCID",
      "contact_id"
    ]
  }
  ```
</Expandable>

***

## freshdesk\_create\_company

Create a new company in Freshdesk

**Parameters:**

| Parameter       | Type      | Required | Default | Description           |
| --------------- | --------- | -------- | ------- | --------------------- |
| `name`          | string    | Yes      | —       | Company name          |
| `description`   | string    | No       | —       | Company description   |
| `note`          | string    | No       | —       | Company note          |
| `domains`       | string\[] | No       | —       | Company email domains |
| `custom_fields` | object    | No       | —       | Custom field values   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "name": {
        "type": "string",
        "description": "Company name"
      },
      "description": {
        "type": "string",
        "description": "Company description"
      },
      "note": {
        "type": "string",
        "description": "Company note"
      },
      "domains": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Company email domains"
      },
      "custom_fields": {
        "type": "object",
        "additionalProperties": true,
        "description": "Custom field values"
      }
    },
    "required": [
      "PCID",
      "name"
    ]
  }
  ```
</Expandable>

***

## freshdesk\_get\_company

Retrieve a company by ID

**Parameters:**

| Parameter    | Type   | Required | Default | Description            |
| ------------ | ------ | -------- | ------- | ---------------------- |
| `company_id` | string | Yes      | —       | Company ID to retrieve |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "company_id": {
        "type": "string",
        "description": "Company ID to retrieve"
      }
    },
    "required": [
      "PCID",
      "company_id"
    ]
  }
  ```
</Expandable>

***

## freshdesk\_search\_tickets

Search tickets using Freshdesk query language

**Parameters:**

| Parameter | Type   | Required | Default | Description                                                                   |
| --------- | ------ | -------- | ------- | ----------------------------------------------------------------------------- |
| `query`   | string | Yes      | —       | Search query using Freshdesk query language (e.g., "priority:3 AND status:2") |
| `page`    | number | No       | `1`     | Page number for pagination                                                    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "query": {
        "type": "string",
        "description": "Search query using Freshdesk query language (e.g., \"priority:3 AND status:2\")"
      },
      "page": {
        "type": "number",
        "default": 1,
        "description": "Page number for pagination"
      }
    },
    "required": [
      "PCID",
      "query"
    ]
  }
  ```
</Expandable>

***

## freshdesk\_get\_agents

Get list of agents in Freshdesk

**Parameters:**

| Parameter | Type   | Required | Default | Description                |
| --------- | ------ | -------- | ------- | -------------------------- |
| `state`   | string | No       | —       | Filter agents by state     |
| `page`    | number | No       | `1`     | Page number for pagination |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "state": {
        "type": "string",
        "enum": [
          "fulltime",
          "occasional"
        ],
        "description": "Filter agents by state"
      },
      "page": {
        "type": "number",
        "default": 1,
        "description": "Page number for pagination"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## freshdesk\_get\_groups

Get list of agent groups

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## freshdesk\_get\_time\_entries

Get time entries for tickets

**Parameters:**

| Parameter         | Type   | Required | Default | Description                                  |
| ----------------- | ------ | -------- | ------- | -------------------------------------------- |
| `ticket_id`       | string | No       | —       | Filter by specific ticket ID                 |
| `agent_id`        | string | No       | —       | Filter by specific agent ID                  |
| `company_id`      | string | No       | —       | Filter by company ID                         |
| `executed_before` | string | No       | —       | Filter entries before this date (YYYY-MM-DD) |
| `executed_after`  | string | No       | —       | Filter entries after this date (YYYY-MM-DD)  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "ticket_id": {
        "type": "string",
        "description": "Filter by specific ticket ID"
      },
      "agent_id": {
        "type": "string",
        "description": "Filter by specific agent ID"
      },
      "company_id": {
        "type": "string",
        "description": "Filter by company ID"
      },
      "executed_before": {
        "type": "string",
        "description": "Filter entries before this date (YYYY-MM-DD)"
      },
      "executed_after": {
        "type": "string",
        "description": "Filter entries after this date (YYYY-MM-DD)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## freshdesk\_create\_time\_entry

Create a time entry for a ticket

**Parameters:**

| Parameter    | Type    | Required | Default | Description                                      |
| ------------ | ------- | -------- | ------- | ------------------------------------------------ |
| `ticket_id`  | string  | Yes      | —       | Ticket ID                                        |
| `time_spent` | string  | Yes      | —       | Time spent (e.g., "01:30" for 1 hour 30 minutes) |
| `note`       | string  | No       | —       | Note about the time entry                        |
| `agent_id`   | string  | No       | —       | Agent ID (defaults to current user)              |
| `billable`   | boolean | No       | `true`  | Whether the time is billable                     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "ticket_id": {
        "type": "string",
        "description": "Ticket ID"
      },
      "time_spent": {
        "type": "string",
        "description": "Time spent (e.g., \"01:30\" for 1 hour 30 minutes)"
      },
      "note": {
        "type": "string",
        "description": "Note about the time entry"
      },
      "agent_id": {
        "type": "string",
        "description": "Agent ID (defaults to current user)"
      },
      "billable": {
        "type": "boolean",
        "default": true,
        "description": "Whether the time is billable"
      }
    },
    "required": [
      "PCID",
      "ticket_id",
      "time_spent"
    ]
  }
  ```
</Expandable>
