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": "..."}.