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

# Freshservice

> Connect Freshservice to Rootly to automatically create and update tickets and tasks from incidents in your IT service management workspace.

The Freshservice integration connects Rootly with your Freshservice instance so teams can automatically create and update tickets and tasks through Genius workflows. Tickets are created using Freshservice's ticket API with full support for priority, status, tags, CC recipients, and custom fields.

With the Freshservice integration, you can:

* Automatically create Freshservice tickets when incidents are declared or reach a certain state
* Create tasks within a Freshservice ticket to track action items
* Update ticket and task fields as incidents evolve
* Map incident severity and status to Freshservice priority and ticket status automatically

## Before You Begin

Before setting up the integration, make sure you have:

* A Rootly account with admin permission to manage integrations
* A Freshservice account with admin access
* Your Freshservice subdomain (the part before `.freshservice.com`)
* A Freshservice API key

<Info>
  To find your Freshservice API key, log in to Freshservice and go to **Profile Settings > API Key**. The key is shown at the bottom of the page.
</Info>

<Info>
  Rootly recommends installing with a dedicated Freshservice service account so the integration does not break if an individual user leaves your organization.
</Info>

## Installation

<Steps>
  <Step title="Open the Freshservice integration in Rootly" icon="plug">
    Navigate to the integrations page in Rootly and select **Freshservice**.
  </Step>

  <Step title="Enter your Freshservice credentials" icon="key">
    Provide the following:

    * **Domain Name** — your Freshservice subdomain (for example, `yourcompany` for `yourcompany.freshservice.com`)
    * **API Key** — the API key from your Freshservice profile settings

    Select **Connect** to validate the credentials and complete installation.

    <Check>
      After installation, the **Create a Freshservice Ticket**, **Update a Freshservice Ticket**, **Create a Freshservice Task**, and **Update a Freshservice Task** workflow actions are available in your Genius workflows.
    </Check>
  </Step>
</Steps>

## Workflow Actions

The Freshservice integration provides four workflow actions for managing tickets and tasks. If you are unfamiliar with how Genius workflows work, visit the [Workflows](/workflows/workflows) documentation first.

### Create a Freshservice Ticket

This action creates a new ticket in Freshservice.

| Field                     | Description                                                             | Required |
| ------------------------- | ----------------------------------------------------------------------- | -------- |
| **Name**                  | Display name for this workflow action                                   |          |
| **Request User Email**    | Email of the requester. Must exist in Freshservice. Supports Liquid     | Yes      |
| **Subject**               | Ticket subject line. Supports Liquid                                    | Yes      |
| **Description**           | Ticket body. Supports Liquid                                            |          |
| **Tags**                  | Comma-separated tags to apply to the ticket. Supports Liquid            |          |
| **CC Emails**             | Additional email addresses to CC on the ticket                          |          |
| **Priority**              | Ticket priority. **Auto** mirrors the incident severity                 |          |
| **Status**                | Ticket status. **Auto** mirrors the incident status                     |          |
| **Custom Fields Mapping** | JSON mapping Freshservice custom field names to values. Supports Liquid |          |

**Priority mapping (Auto)**

| Rootly Severity | Freshservice Priority |
| --------------- | --------------------- |
| Critical        | Urgent (4)            |
| High            | High (3)              |
| Medium          | Medium (2)            |
| Low             | Low (1)               |

**Status mapping (Auto)**

| Rootly Status | Freshservice Status |
| ------------- | ------------------- |
| Started       | Open (2)            |
| Mitigated     | Open (2)            |
| Resolved      | Resolved (4)        |

### Update a Freshservice Ticket

This action updates an existing Freshservice ticket.

<Info>
  When a **Create a Freshservice Ticket** action runs, Rootly stores the resulting ticket ID on the incident record. Reference it in subsequent update actions using Liquid variables.
</Info>

| Field                     | Description                                          | Required |
| ------------------------- | ---------------------------------------------------- | -------- |
| **Name**                  | Display name for this workflow action                |          |
| **Ticket ID**             | Freshservice ticket ID to update. Supports Liquid    | Yes      |
| **Subject**               | Updated ticket subject. Supports Liquid              | Yes      |
| **Description**           | Updated ticket description. Supports Liquid          |          |
| **Tags**                  | Updated tags. Supports Liquid                        |          |
| **Priority**              | Updated priority                                     |          |
| **Status**                | Updated ticket status                                |          |
| **Custom Fields Mapping** | Updated custom field values as JSON. Supports Liquid |          |

### Create a Freshservice Task

This action creates a task within an existing Freshservice ticket.

| Field                | Description                                                      | Required |
| -------------------- | ---------------------------------------------------------------- | -------- |
| **Name**             | Display name for this workflow action                            |          |
| **Parent Ticket ID** | Freshservice ticket ID to create the task under. Supports Liquid | Yes      |
| **Title**            | Task title. Supports Liquid                                      | Yes      |
| **Description**      | Task description. Supports Liquid                                |          |
| **Status**           | Task status. **Auto** mirrors the incident or action item status | Yes      |

**Task status mapping (Auto)**

| Rootly Status    | Freshservice Task Status |
| ---------------- | ------------------------ |
| Open             | Open (1)                 |
| In Progress      | In Progress (2)          |
| Done / Cancelled | Completed (3)            |

### Update a Freshservice Task

This action updates an existing task within a Freshservice ticket.

| Field                | Description                                                 | Required |
| -------------------- | ----------------------------------------------------------- | -------- |
| **Name**             | Display name for this workflow action                       |          |
| **Parent Ticket ID** | Freshservice ticket ID containing the task. Supports Liquid | Yes      |
| **Task ID**          | Freshservice task ID to update. Supports Liquid             | Yes      |
| **Title**            | Updated task title. Supports Liquid                         |          |
| **Description**      | Updated task description. Supports Liquid                   |          |
| **Status**           | Updated task status                                         | Yes      |

## Troubleshooting

<AccordionGroup>
  <Accordion title="Ticket creation fails with a requester not found error" icon="circle-exclamation">
    The email provided in the **Request User Email** field must correspond to an existing Freshservice contact or agent. Verify the email address exists in your Freshservice account before creating tickets.
  </Accordion>

  <Accordion title="Custom fields are not being set" icon="sliders">
    Custom field names in the **Custom Fields Mapping** JSON must match the field names as they appear in the Freshservice API (typically snake\_case). Check your Freshservice admin settings under **Admin > Custom Fields** to confirm the correct field names.
  </Accordion>
</AccordionGroup>

## Uninstall

To remove the Freshservice integration, open the integrations panel in Rootly and select **Configure > Delete**.

## Related Resources

* [Workflows](/workflows/workflows)
* [Liquid templating](/liquid/liquid)
* [Integrations overview](/integrations/overview)
