Freshdesk

Learn how to use Freshdesk with Composio

Overview

SLUG: FRESHDESK

Description

Freshdesk provides customer support software with ticketing, knowledge base, and automation features for efficient helpdesk operations and better customer experiences

Authentication Details

password
stringRequired
subdomain
stringRequired
username
stringRequired

Connecting to Freshdesk

Create an auth config

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

1

Select App

Navigate to the Freshdesk toolkit page and click “Setup Integration”.

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 Integration”. 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
5freshdesk_auth_config_id = "ac_YOUR_FRESHDESK_CONFIG_ID"
6user_id = "user@example.com"
7username = "your_freshdesk_username"
8password = "your_freshdesk_password"
9
10composio = Composio()
11
12# Create a new connected account for Freshdesk using Basic Auth
13connection_request = composio.connected_accounts.initiate(
14 user_id=user_id,
15 auth_config_id=freshdesk_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 Freshdesk 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="FRESHDESK")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Freshdesk 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=["FRESHDESK"])
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: Create Ticket

Description

Creates a new ticket in freshdesk.

Action Parameters

attachments
array
cc_emails
array
company_id
integer
custom_fields
object
description
stringRequired
due_by
string
email
string
email_config_id
integer
facebook_id
string
fr_due_by
string
group_id
integer
internal_agent_id
integer
internal_group_id
integer
lookup_parameter
string
name
string
phone
string
priority
integerDefaults to 1
product_id
integer
requester_id
integer
responder_id
integer
source
integerDefaults to 2
status
integerDefaults to 2
subject
stringRequired
tags
array
twitter_id
string
unique_external_id
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Ticket

Description

Deletes an existing ticket in freshdesk.

Action Parameters

ticket_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Tickets

Description

Retrieves a list of tickets from freshdesk.

Action Parameters

agent_id
integer
created_since
string
email
string
filter
string
group_id
integer
page
integerDefaults to 1
per_page
integerDefaults to 30
priority
integer
requester_id
integer
sort_by
string
sort_order
string
status
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List All Tickets

Description

Lists all tickets in freshdesk.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Reply to Ticket

Description

Replies to an existing ticket in freshdesk.

Action Parameters

attachments
array
bcc_emails
array
body
stringRequired
cc_emails
array
ticket_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Ticket

Description

Updates an existing ticket in freshdesk.

Action Parameters

attachments
array
company_id
integer
custom_fields
object
description
string
due_by
string
email
string
email_config_id
integer
facebook_id
string
fr_due_by
string
group_id
integer
internal_agent_id
integer
internal_group_id
integer
lookup_parameter
string
name
string
parent_id
integer
phone
string
priority
integerDefaults to 1
product_id
integer
requester_id
integer
responder_id
integer
source
integerDefaults to 2
status
integerDefaults to 2
subject
stringRequired
tags
array
ticket_id
integerRequired
twitter_id
string
type
stringRequired
unique_external_id
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: View Ticket

Description

Views an existing ticket in freshdesk.

Action Parameters

ticket_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired