Freshservice

Learn how to use Freshservice with Composio

Overview

SLUG: FRESHSERVICE

Description

Freshservice is a cloud-based IT service management (ITSM) solution with incident management, asset management, and IT service automation capabilities

Authentication Details

subdomain
stringRequired
username
stringRequired
password
stringDefaults to X

Connecting to Freshservice

Create an auth config

Use the dashboard to create an auth config for the Freshservice toolkit. This allows you to connect multiple Freshservice accounts to Composio for agents to use.

1

Select App

Navigate to Freshservice.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Freshservice Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using Basic Auth

1from composio import Composio
2from composio.types import auth_scheme
3
4# Replace these with your actual values
5freshservice_auth_config_id = "ac_YOUR_FRESHSERVICE_CONFIG_ID"
6user_id = "user@example.com"
7username = "your_freshservice_username"
8password = "your_freshservice_password"
9
10composio = Composio()
11
12# Create a new connected account for Freshservice using Basic Auth
13connection_request = composio.connected_accounts.initiate(
14 user_id=user_id,
15 auth_config_id=freshservice_auth_config_id,
16 config=auth_scheme.basic_auth(
17 username=username,
18 password=password
19 )
20)
21
22# Basic authentication is immediate - no redirect needed
23print(f"Successfully connected Freshservice for user {user_id}")
24
25# You can verify the connection using:
26# connected_account = composio.connected_accounts.get(user_id=user_id, app_id="FRESHSERVICE")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Freshservice toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["FRESHSERVICE"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Bulk Update Tickets

Description

Tool to bulk update multiple Freshservice tickets by sequential update calls. Use when you need to update fields across many tickets in absence of a native bulk API.

Action Parameters

ids
arrayRequired
update_fields
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Service Request

Description

Tool to create a service request for a catalog item. Tries v2 endpoint first, falls back to legacy if needed.

Action Parameters

custom_fields
object
email
string
item_display_id
integerRequired
parent_ticket_id
integer
quantity
integer
requested_for
string
requested_item_values
object
requester_email
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Ticket

Description

Tool to create a new ticket. Use when you need to log an incident or service request.

Action Parameters

description
stringRequired
email
string
impact
integer
priority
integerRequired
requester_id
integer
source
integer
status
integerRequired
subject
stringRequired
type
string
urgency
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Ticket Outbound Email

Description

Tool to create a ticket via Freshservice tickets API. Freshservice does not support the Freshdesk-specific /tickets/outbound_email endpoint; this action will create a standard ticket using /api/v2/tickets while honoring provided fields (email, subject, description, status, priority, type, cc_emails, email_config_id).

Action Parameters

cc_emails
array
description
string
email
stringRequired
email_config_id
integer
name
string
priority
integer
status
integer
subject
stringRequired
type
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Problem Form Fields by Workspace

Description

Tool to list problem form fields. Use when you need to retrieve the form fields available for problems in a specific workspace.

Action Parameters

workspace_id
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Release Form Fields

Description

Tool to list release form fields metadata. Use when you need to fetch release field definitions before building or validating release forms.

Action Parameters

workspace_id
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Release Form Fields

Description

Tool to list release form fields for a workspace. Use when you need to fetch release field definitions before building or validating release forms.

Action Parameters

workspace_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Freshservice Locations

Description

Tool to list all locations in Freshservice. Use when you need to retrieve paginated location data.

Action Parameters

page
integer
per_page
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Search Freshservice Locations

Description

Tool to search locations using v2 query syntax. Use when you need to find locations matching specific criteria (e.g., name like '%HQ%').

Action Parameters

page
integer
per_page
integer
query
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired