CONNECT APP
Build with Freshdesk
Help Desk & Support
- API key
MCP
Give your agent Freshdesk tools
Every Freshdesk action is exposed as an MCP tool on Pipedream's remote server. Point a client at it with your end user's ID and Connect resolves that user's Freshdesk account for each tool call — you store no tokens.
// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "freshdesk",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// e.g. run Add Note to Ticket:
const result = await mcp.callTool({
name: "freshdesk-add-note-to-ticket",
arguments: {
ticketId: 10,
body: "Note Body",
},
})# access_token: mint a short-lived token with the Connect SDK — see the MCP guide
headers = {
"Authorization": f"Bearer {access_token}",
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", # any stable ID for this user in your system
"x-pd-app-slug": "freshdesk",
}
async with streamablehttp_client("https://remote.mcp.pipedream.net/v3", headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
# e.g. run Add Note to Ticket:
result = await session.call_tool("freshdesk-add-note-to-ticket", {
"ticketId": 10,
"body": "Note Body",
})API PROXY
Call the Freshdesk API directly
For an endpoint with no pre-built tool, the Connect proxy forwards your request to the Freshdesk API with the connected user's credentials attached. You store no tokens and write no refresh logic.
const resp = await pd.proxy.get({
externalUserId: "{external_user_id}", // any stable ID for this user in your system
accountId: "apn_xxxxxxx",
url: "https://api.example.com/v1/me",
})
// Any allowed Freshdesk endpoint works here. Pipedream attaches the
// connected account's credentials to the outgoing request.# The path segment is the target URL, URL-safe base64 encoded:
# https://api.example.com/v1/me
curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vdjEvbWU?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
-H "Authorization: Bearer {access_token}" \
-H "x-pd-environment: production"SDK
Run Freshdesk actions from your backend
Connect a user's Freshdesk account once, then run Add Note to Ticket on their behalf from your own code — TypeScript, Python, or plain HTTP.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "freshdesk-add-note-to-ticket",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
freshdesk: { authProvisionId: "apn_xxxxxxx" },
ticketId: 10,
body: "Note Body",
},
})from pipedream import Pipedream
pd = Pipedream(
client_id="{oauth_client_id}",
client_secret="{oauth_client_secret}",
project_id="{project_id}",
project_environment="production",
)
result = pd.actions.run(
id="freshdesk-add-note-to-ticket",
external_user_id="{external_user_id}", # any stable ID for this user in your system
configured_props={
"freshdesk": {"authProvisionId": "apn_xxxxxxx"},
"ticketId": 10,
"body": "Note Body",
},
)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "freshdesk-add-note-to-ticket",
"configured_props": {
"freshdesk": { "authProvisionId": "apn_xxxxxxx" },
"ticketId": 10,
"body": "Note Body"
}
}'TOOLS
Freshdesk actions
On-demand operations your product or agent can configure and run on behalf of a connected user.
-
Add Note to Ticket
actionAdd a note or conversation to an existing ticket. See the documentation.Writev0.0.11 -
Add Ticket Tags
actionAdd tags to a ticket (appends to existing tags). See the documentationWritev0.0.13 -
Assign Ticket to Agent
actionAssign a Freshdesk ticket to a specific agent. See the documentation.Writev0.0.13 -
Assign Ticket to Group
actionAssign a Freshdesk ticket to a specific group See the documentation.Writev0.0.13 -
Close Ticket
actionSet a Freshdesk ticket's status to 'Closed'. See docsWritev0.0.13 -
Create a Company
actionCreate a company. See the documentationWritev0.0.16 -
Create a Contact
actionCreate a contact. See the documentationWritev0.0.16 -
Create a Reply
actionCreate a reply to a ticket. See the documentation.Writev0.0.8 -
Create a Thread
actionCreate a thread to a ticket. See the documentation.Writev0.0.8 -
Create a Ticket
actionCreate a ticket. See the documentationWritev0.0.17 -
Create Agent
actionCreate an agent in Freshdesk. See the documentationWritev0.0.10 -
Create Message For Thread
actionCreate message for a thread. See the documentation.Writev0.0.8 -
Create Solution Article
actionCreate a solution article in Freshdesk. See the documentationWritev0.0.10 -
Create Ticket Field
actionCreate a ticket field in Freshdesk. See the documentationWritev0.0.10 -
Delete Solution Article
actionDelete a solution article in Freshdesk. See the documentationWritev0.0.10 -
Delete Ticket
actionDelete a ticket in Freshdesk. This is a soft delete, so the ticket can be restored later. See the documentationWritev0.0.1 -
Delete Ticket Summary
actionDelete the summary note for a ticket. See the documentationWritev0.0.2 -
Download Attachment
actionDownload an attachment from a ticket. See the documentationRead-onlyv0.0.11 -
Forward Ticket
actionForward a ticket to an external email address. See the documentation.Writev0.0.5 -
Get Agent
actionRetrieve a single agent by their ID. See the documentationRead-onlyv0.0.4 -
Get Canned Response
actionView a Canned Response. See the documentationRead-onlyv0.0.8 -
Get Canned Responses In A Folder
actionView all the details of canned responses in a folder. See the documentationRead-onlyv0.0.7 -
Get Contact
actionGet a contact from Freshdesk. See the documentationRead-onlyv0.0.10 -
Get Solution Article
actionGet a solution article in Freshdesk. See the documentationRead-onlyv0.0.10 -
Get Ticket Details
actionGet details of a Ticket. See the documentationRead-onlyv0.1.15 -
List Agent Options
actionRetrieves available options for the Agent field.Read-onlyv0.0.3 -
List Agents
actionList all agents in Freshdesk. See the documentationRead-onlyv0.0.10 -
List All Canned Responses In A Folder
actionView all canned responses in a folder. See the documentationRead-onlyv0.0.7 -
List All Folders
actionView all the canned response folders. See the documentationRead-onlyv0.0.7 -
List Canned Response Folder ID Options
actionRetrieves available options for the Canned Response Folder ID field.Read-onlyv0.0.3 -
List Category Folders
actionList category folders in Freshdesk. See the documentationRead-onlyv0.0.10 -
List Company ID Options
actionRetrieves available options for the Company ID field.Read-onlyv0.0.3 -
List Conversations of a Ticket
actionList all conversations for a ticket. See the documentationRead-onlyv0.0.9 -
List Folder Articles
actionList folder articles in Freshdesk. See the documentationRead-onlyv0.0.10 -
List From Email Options
actionRetrieves available options for the From Email field.Read-onlyv0.0.3 -
List Group Options
actionRetrieves available options for the Group field.Read-onlyv0.0.3 -
List Role IDs Options
actionRetrieves available options for the Role IDs field.Read-onlyv0.0.3 -
List Skill IDs Options
actionRetrieves available options for the Skill IDs field.Read-onlyv0.0.3 -
List Solution Categories
actionList solution categories in Freshdesk. See the documentationRead-onlyv0.0.10 -
List Ticket Field ID Options
actionRetrieves available options for the Ticket Field ID field.Read-onlyv0.0.3 -
List Ticket Fields
actionList all ticket fields in Freshdesk. See the documentationRead-onlyv0.0.10 -
List Ticket ID Options
actionRetrieves available options for the Ticket ID field.Read-onlyv0.0.3 -
List Tickets
actionFetch up to 100 tickets according to the selected filters. See the documentationRead-onlyv0.2.16 -
Remove Ticket Tags
actionRemove specific tags from a ticket. See the documentationWritev0.0.13 -
Reply to Forward
actionReply to a previously forwarded ticket email. See the documentation.Writev0.0.5 -
Search Solution Article
actionSearch solution articles in Freshdesk by keyword. Returns matching articles with their category/folder hierarchy, metadata, and content. See the documentationRead-onlyv0.0.6 -
Search Tickets
actionSearch for tickets in Freshdesk using a structured filter query. See the documentationRead-onlyv0.0.4 -
Set Ticket Priority
actionUpdate the priority of a ticket in Freshdesk See the documentation.Writev0.0.13 -
Set Ticket Status
actionUpdate the status of a ticket in Freshdesk See the documentation.Writev0.0.13 -
Set Ticket Tags
actionSet tags on a ticket (replaces all existing tags). See the documentationWritev0.0.13 -
Update a Ticket
actionUpdate status, priority, subject, description, agent, group, etc. See the documentation.Writev0.0.13 -
Update Agent
actionUpdate an agent in Freshdesk. See the documentationWritev0.0.10 -
Update Contact
actionUpdate a contact in Freshdesk. See the documentationWritev0.0.10 -
Update Solution Article
actionUpdate a solution article in Freshdesk. See the documentationWritev0.0.10 -
Update Ticket Field
actionUpdate a ticket field in Freshdesk. See the documentationWritev0.0.10 -
Update Ticket Summary
actionCreate or update the summary note for a ticket. See the documentationWritev0.0.3 -
View Ticket Summary
actionGet the summary note for a ticket. See the documentationRead-onlyv0.0.2
EVENTS
Freshdesk triggers
Event sources your backend can deploy for users and receive through a webhook.
-
Contact Updated
triggerEmit new event when a contact is updated. See the documentationv0.0.10 -
New Contact Created
triggerEmit new event when a contact is created. See the documentationv0.0.17 -
New Ticket Created
triggerEmit new event when a ticket is created. See the documentationv0.0.17 -
Ticket Updated
triggerEmit new event when a ticket is updated. See the documentationv0.0.10
MULTI-APP
Use Freshdesk with other popular apps
Most products don't stop at one integration. Pair Freshdesk with the other apps your users rely on, and ship use cases that span both.
- App slug
- freshdesk
- Authentication
- API key
- Categories
- Help Desk & Support
- Actions
- 57
- Triggers
- 4
- API proxy
- Available