# Freshservice

<figure><img src="/files/aR5cGdkM370AaMA8aw1u" alt=""><figcaption></figcaption></figure>

### What you get

* **One-click escalation from any request.** Click **Escalate ticket** in the request side panel, pick a Freshservice group and ticket type, and a linked ticket is created with the Siit context pre-filled.
* **IT Agent native support.** `/Freshservice create ticket` is available inside IT Agent playbooks, with optional approval.
* **Workflow-driven ticket creation.** Use **Create Freshservice ticket** as a workflow step, with approval gating where needed.
* **Audit trail.** Every Freshservice action triggered from Siit is recorded on the request timeline.

### How it works

When a Siit request needs to be handled by a specialist team in Freshservice:

1. From the request side panel, click **Escalate ticket** and pick **Freshservice**.
2. Choose the group, ticket type, priority, and required fields. Fill in the subject and description.
3. Submit. Siit creates the Freshservice ticket, links it back to the Siit request, and posts the link on both sides.

The same flow is available in workflows (as a **Create Freshservice ticket** action).

### What syncs from Freshservice

* **Tickets created from Siit** — every escalated ticket is tracked with its Freshservice ticket ID and link.
* **Links** — preserved between the Siit request and the Freshservice ticket, visible on both sides.

> **Note** — bi-directional status sync is not currently available for Freshservice. Status changes in Freshservice don't automatically update the Siit request. Track resolution either through the Freshservice link on the request or by manually closing the Siit request when work is done.

### Custom field mapping

> **Coming soon.** Custom field mapping for Freshservice is on our roadmap. For now, you can set the standard ticket fields (subject, description, group, ticket type, priority) when escalating to Freshservice. To track which fields are exposed, reach out via the in-app chat.

### Before you connect

* A Freshservice admin to generate an API key.
* A clear idea of which Freshservice group(s) and ticket type(s) you want to escalate to.
* Optional: a dedicated "Siit Integration" Freshservice agent, so the integration survives admin turnover.

### Connect Freshservice

1. In Freshservice, generate an API key for the agent Siit will use:
   * In Freshservice, click your profile avatar → **Profile settings**.
   * Copy the API key shown on the right.
2. In Siit, go to **Settings → Integrations**, find **Freshservice** in the Ticketing section, and click **Connect**.
3. Enter your Freshservice domain (e.g., `yourcompany.freshservice.com`) and the API key.
4. Click **Authorize**. Siit verifies the connection.
5. Pick the group(s) and ticket type(s) you want available for escalation.
6. Test by escalating a sample request from Siit to Freshservice.

Need a more detailed walkthrough? Reach out to support via the in-app chat.

### After the connection

* **Try the side panel.** From any request, click **Escalate ticket → Freshservice** and create a test ticket.
* **Configure default routing.** In **Settings → Integrations → Freshservice**, set the default group and ticket type for escalations.
* **Build your first workflow.** A common starter: "when tag = 'Network', auto-create a Freshservice ticket in the network team queue."

### Common workflows

**Network team handoff.** *Trigger: Tag "network" added. Actions: Create Freshservice ticket in the network group → Notify requester with the Freshservice link.*

**Security incident escalation.** *Trigger: Service = "Report security concern". Actions: Create Freshservice ticket in the security group → Set Siit priority to High → Post to #security-ops.*

**Specialist handoff.** *Trigger: Request assigned to "Advanced IT" inbox. Action: Create Freshservice ticket in the advanced-IT queue → Note on Siit request with the ticket URL.*

### IT Agent integration

Inside an IT Agent playbook, use `/Freshservice create ticket` to let the agent escalate autonomously — with approval gating on the action when you want a human in the loop.

A common playbook: an employee reports a complex issue in Slack → IT Agent gathers context → requests manager approval → creates a Freshservice ticket → posts the link back to the employee.

See IT Agent for playbook examples.

### Tips

* **Use a dedicated service account** for the Freshservice API key so the integration survives individual admin turnover.
* **Start with one group and ticket type.** Test the escalation path thoroughly before expanding.
* **Keep Siit as the employee surface.** Employees stay in Slack, Teams, or the Siit Portal. The Freshservice ticket is internal — only specialists need to see it.
* **Track resolution manually for now.** Without bi-directional status sync, you'll need to close the Siit request manually (or via a workflow triggered by something else) when the Freshservice ticket is resolved.

### Troubleshooting

**"Invalid credentials" on connect.** The API key is wrong, has been regenerated, or the agent it belongs to has been deactivated. Generate a fresh API key in Freshservice and update Siit.

**Group missing from the destination picker.** The Siit Freshservice agent lacks access to that group. Update group membership in Freshservice and re-sync.

**Ticket type missing.** The integration only surfaces ticket types the connecting agent can create. Check the agent's permissions for that group.

**"Ticket created" but no link in Siit.** The Freshservice ticket was created but the back-link save failed. Open the request timeline — the Freshservice ticket ID is logged. Manually re-link if needed.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.siit.io/integrations/ticketing/freshservice.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
