Freshdesk
Integrate Freshdesk with Appsmith to manage customer support tickets directly from your app. Create, update, retrieve, and delete tickets, manage ticket statuses and priorities, and handle customer requests—all without leaving Appsmith.
Connect Freshdesk
To connect to Freshdesk, you'll need to authenticate using your Freshdesk domain and API key. This allows the integration to securely access your support tickets, contacts, and other data.
Retrieve Your Freshdesk Domain
Your Freshdesk domain is the unique subdomain you chose when setting up your Freshdesk account. It's the part before .freshdesk.com in your Freshdesk URL.
Example: If your Freshdesk URL is https://acme.freshdesk.com, then your domain is acme.
Retrieve Your API Key
The API key is a unique identifier for each agent in your Freshdesk account. You'll use it to authenticate API requests. To find your API key:
- Log in to your Freshdesk account.
- Click on your profile picture in the top-right corner and select Profile Settings.
- On the right pane, click on the View API Key option and complete the captcha verification if prompted.
- Your API key will be displayed. Copy it for use in authenticating with Appsmith.
API keys are not available for accounts on the free plan. You'll need a paid Freshdesk plan to generate and use API keys.
Connect to Freshdesk in Appsmith
- In Appsmith, create a new Freshdesk datasource.
- Enter your Freshdesk domain (the subdomain part, e.g.,
acmeforacme.freshdesk.com). - Enter your API key that you retrieved from your Freshdesk account.
- Once connected, you can create a new query by clicking the respective button in the upper right.
Query Freshdesk
Use the command selector in the query form to pick the Freshdesk operation you need. Each command below lists its parameters along with tips for using them effectively.
Create Ticket
Creates a new support ticket in Freshdesk. You can set the ticket source, status, priority, subject, description, and requester information. For more details, see Create a Ticket.
Source number
Required. Channel through which the ticket was created. Default is Portal (2). Options: 1: Email, 2: Portal, 3: Phone, 7: Chat, 9: Feedback Widget, 10: Outbound Email.
Status number
Required. Current status of the ticket. Options: 2: Open, 3: Pending, 4: Resolved, 5: Closed.
Priority number
Required. Importance level of the ticket. Options: 1: Low, 2: Medium, 3: High, 4: Urgent.
Subject string
Required. Brief title or subject of the ticket. This should briefly describe the issue or request.
Description string
Required. Detailed content or description of the ticket. This should provide comprehensive information about the issue or request.
Requester Id string
Optional. User ID of the ticket requester. Required if the contact already exists in Freshdesk.
Name string
Optional. Full name of the requester. Mandatory if the phone number is set without an email address.
Email string
Optional. Requester's email address. At least one of Email, Phone, Twitter ID, or Unique External ID is required for a new contact.
Phone string
Optional. Requester's phone number. At least one of Email, Phone, Twitter ID, or Unique External ID is required for a new contact.
Unique External Id string
Optional. A unique external identifier for the requester. At least one of Email, Phone, Twitter ID, or Unique External ID is required for a new contact.
Twitter Id string
Optional. Requester's Twitter handle. At least one of Email, Phone, Twitter ID, or Unique External ID is required for a new contact.
Update Ticket
Updates the details of an existing ticket in Freshdesk. This allows you to modify ticket metadata such as source, status, priority, subject, description, and requester information. For more details, see Update a Ticket.
Ticket Id string
Required. A unique identifier for the ticket. You can find the ticket ID in the URL when viewing the ticket in Freshdesk.
Source number
Required. Channel through which the ticket was created. Options: 1: Email, 2: Portal, 3: Phone, 7: Chat, 9: Feedback Widget, 10: Outbound Email.
Status number
Required. Current status of the ticket. Options: 2: Open, 3: Pending, 4: Resolved, 5: Closed.
Priority number
Required. Importance level of the ticket. Options: 1: Low, 2: Medium, 3: High, 4: Urgent.
Subject string
Optional. Brief title or subject of the ticket.
Description string
Optional. Detailed content or description of the ticket.
Requester Id string
Optional. User ID of the ticket requester. Required if contact already exists.
Name string
Optional. Full name of the requester. Mandatory if the phone number is set without an email address.
Email string
Optional. Requester's email address. At least one of Email, Phone, Twitter ID, or Unique External ID is required for a new contact.
Phone string
Optional. Requester's phone number. At least one of Email, Phone, Twitter ID, or Unique External ID is required for a new contact.
Unique External Id string
Optional. A unique external identifier for the requester. At least one of Email, Phone, Twitter ID, or Unique External ID is required for a new contact.
Twitter Id string
Optional. Requester's Twitter handle. At least one of Email, Phone, Twitter ID, or Unique External ID is required for a new contact.
Get Ticket By Id
Retrieves detailed information about a specific ticket using its unique ticket ID. This command returns comprehensive data about the ticket, including its status, priority, subject, description, and requester information. For more details, see View a Ticket.
Ticket Id string
Required. A unique identifier for the ticket. You can find the ticket ID in the URL when viewing the ticket in Freshdesk.
Embedded Fields string
Optional. Will include additional data such as Conversations, Company, Requester, and Stats. Options: conversations, requester, company, stats.
Delete Ticket
Permanently removes a ticket from Freshdesk. Note that this action cannot be undone.
Ticket Id string
Required. A unique identifier for the ticket you want to permanently delete. You can find the ticket ID in the URL when viewing the ticket in Freshdesk.
Custom Action
Use Custom Action when you need a Freshdesk REST endpoint that is not modeled above. The form lets you supply the HTTP method, path, query parameters, and body. Appsmith automatically injects the API key from your datasource, so you only have to reference Freshdesk's API docs for the payload structure.
When using Custom Action, provide the path without the /api/v2 prefix. For example, if the endpoint is /api/v2/search/tickets, use /search/tickets in the Custom Action form.
Example:
- Search tickets
GET /search/tickets?query="status:2 AND priority:3"
For more details, see Filter Tickets.