Freshservice
Create and update ITSM tickets, assets, and changes in Freshworks Freshservice via the Freshservice REST API v2.
What it does
This tool wraps the Freshservice ITSM REST API v2 so InTouch jobs and the AI
assistant can read and write Freshservice records without leaving the platform.
It branches on an operation input and calls the real endpoints under
https://{domain}.freshservice.com/api/v2.
Operations
| Operation | Method & Endpoint | Required inputs |
|---|---|---|
list_tickets |
GET /api/v2/tickets |
— |
get_ticket |
GET /api/v2/tickets/{ticketId} |
ticketId |
create_ticket |
POST /api/v2/tickets |
subject, description, email |
update_ticket |
PUT /api/v2/tickets/{ticketId} |
ticketId + at least one field |
create_asset |
POST /api/v2/assets |
name, assetTypeId |
create_change |
POST /api/v2/changes |
subject, description |
priority accepts low | medium | high | urgent (mapped to Freshservice
codes 1–4; default low). ticketStatus accepts open | pending | resolved |
closed (codes 2–5; default open). changeType accepts
minor | standard | major | emergency (codes 1–4; default minor).
API key setup
- Sign in to Freshservice and click your profile avatar > Profile settings.
- Copy the value under Your API Key.
- Provide it as the
apiKeyinput. Also provide yourdomain— the subdomain inhttps://{domain}.freshservice.com(e.g.acmeinc).
Authentication uses HTTP Basic auth with the API key as the username and a
dummy password X ({apiKey}:X, base64-encoded). Username/password auth was
deprecated by Freshservice on 2023-05-31; only API-key auth is supported.
Examples
List open tickets:
operation = list_tickets
domain = acmeinc
apiKey = <your key>
Create a ticket:
operation = create_ticket
domain = acmeinc
apiKey = <your key>
subject = Laptop won't boot
description = User reports a black screen on power-on.
email = [email protected]
priority = high
ticketStatus = open
Update a ticket's status:
operation = update_ticket
domain = acmeinc
apiKey = <your key>
ticketId = 42
ticketStatus = resolved
Create a change:
operation = create_change
domain = acmeinc
apiKey = <your key>
subject = Upgrade prod DB to v15
description = Planned maintenance window Saturday 02:00–04:00 UTC.
priority = medium
changeType = standard
Output
Both outputs are published as step results:
result— the raw JSON response body from Freshservice (capped at ~5 MB).status— the HTTP status code as a string (e.g.200,201,404).
On error the step fails and emits {"error": "..."}.
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
errorresultstatus
Input Properties
Every property this tool accepts, from its own tool.iml.
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
apiKey |
string | yes | — | DEPRECATED — bind an API Key credential to the task with credentialName instead. A key pasted here is stored in the workflow definition in clear and appears in every export of it. Still honoured for workflows built before the change. |
operation |
string | yes | — | One of: list_tickets, get_ticket, create_ticket, update_ticket, create_asset, create_change |
domain |
string | no | — | Your Freshservice subdomain (the {domain} in https://{domain}.freshservice.com). Required. |
ticketId |
string | no | — | Ticket id for get_ticket / update_ticket. |
subject |
string | no | — | Subject line for create_ticket, update_ticket, or create_change. |
description |
string | no | — | HTML/text description for create_ticket, update_ticket, or create_change. |
email |
string | no | — | Requester email for create_ticket. |
priority |
string | no | — | Optional priority: low, medium, high, or urgent (defaults to low). |
ticketStatus |
string | no | — | Optional status: open, pending, resolved, or closed (defaults to open). |
changeType |
string | no | — | Optional change type for create_change: minor, standard, major, or emergency (defaults to minor). |
name |
string | no | — | Asset display name for create_asset. |
assetTypeId |
string | no | — | Numeric asset-type id for create_asset. |