Freshdesk
Freshdesk is a cloud-based customer support software that allows you to streamline customer conversations across multiple channels including email, phone, chat, and social media. It’s a powerful CRM that helps you to ensure seamless customer support in their preferred communication mode.
Authorization
Basic Auth
The Basic Authentication for Freshdesk can be conducted by integrating the required App. If you are using Microsoft as a custom mail server in Freshdesk and if you have already configured
basic authentication, then you will be able to conduct the Basic Authentication. To conduct this process you need to follow the below steps:
Go to Admin > Channels > Email and click to Re-authorize the account. Once you enter the ‘Username and Password, the authorization will be confirmed and the existing Microsoft configuration will be replaced with the OAuth-based Microsoft configuration.
Now, generate an API key in Freshdesk by entering the specific application as the username.
To successfully authenticate, you must generate the API key from an account with Admin or Account Admin permissions in Freshdesk.
Once the authentication is successful, you will see a confirmation message on the screen.
You can enter any string of text as the password here, as the authentication is taken care of by the API Key.
Now, you need to configure the host. The host is an unique subdomain URL for your Freshdesk instance. You can obtain this by copying the first portion of your URL after logging into Freshdesk (it will be just the highlighted text below). Please do not include ".freshdesk.com"
Once you have successfully added the integration, your username, password, and host can all be updated at any time from your integration’s configuration.
Key | Description |
---|---|
Username | The Username would be your customer email address that is required for configuring the Freshdesk. |
Password | A password security is using in Freshdesk for your customers. A password must contain a minimum of 8 characters and must not contain the username. |
Host name | A hostname is an unique subdomain URL for your Freshdesk instance. For example “Sample.com” |
For more information visit: Freshdesk basic auth
OAuth 2.0
OAuth 2.0 is an authorization framework for third-party applications. On behalf of a resource owner, third-party applications like Freshdesk use OAuth 2.0 to get limited access to an HTTP service. The framework also enables an approval interaction of the resource owner with the HTTP service. In addition, OAuth 2.0 supports direct access to the HTTP services by the third-party application.
You can use the OAuth 2.0 protocol to authorize an app to access resources from third-party applications. This is done by using an access token obtained from the third-party when the app is installed.
f you, the user, haven't already signed in, you will be redirected from the application to your authorization URL, requesting an authorization code.
Freshdesk receives the requested authorization code from the authorization server.
Freshdesk makes a request to your access token URL, exchanging the code obtained for an access token.
Your authorization server will return an access token to Freshdesk.
Freshdesk then makes a request to your UserInfo URL with the access token obtained.
Your server will then return the user’s information in JSON format
To conduct the OAuth 2.0 authentication for Freshdesk you need to
Register your app in the third-party developer portal. Once registered, you will be issued with client_id and client_secret to perform OAuth handshake with the provider.
Provide the redirect URL for your app in the third-party developer portal.
Testing: http://localhost:10001/auth/callback
Production: https://oauth.freshdev.io/auth/callback
Key | Description |
---|---|
client_id Mandatory | Once you register your app in the third-party developer portal, you will be issued a client ID for your app. |
client_secret Mandatory | Once you register your app in the third-party developer portal, you will be issued a client secret for your app. |
authorize_url Mandatory | Third-party authorization request URL. |
token_url Mandatory | Request URL for the access token. |
options | The options field can be used to send:
|
token_type Mandatory | Specifies the level of access for the access token. We support the following values:
|
oauth_iparams | Certain OAuth providers, such as Shopify, have unique authorization URLs for every account. The oauth_iparams enable you to retrieve these values from the installer before the OAuth handshake occurs. These parameters are configured in the same manner as the installation parameters. Only parameters of type text are supported. |
To conduct the OAuth 2.0 authentication you need to provide the below information's:
{ "client_id": "5eXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXc8d1",
"client_secret": "q8NbXXXXXXXXXXXXXXXX1p1",
"authorize_url": "https://login.domain.com/authorize.srf",
"token_url": "https://login.domain.com/token.srf",
"options": { "scope": "read" },
"token_type": "account" }
In the app, click the Authorize button to redirect to the third-party domain.
The generated token is stored in:
The .fdk/localstore file for account level.
The browser's localStorage for agent level.
For more information please visit: OAuth 2.0
Freshdesk Connections
Freshdesk Basic Connection
Input | Key | Description | Example |
Select application | application | Select Freshdesk application | Freshdesk |
Connection type | connection type | Select the type of connection. | REST |
Rest connection type | Rest Connection Type | Select the Basic connection type | Basic |
Connection name | name | Provide a name for the connection. | Freshdesk |
Connection description | description | Provide a description for the connection. |
|
Host name | host | Provide a string value for the URL of the user's Freshdesk account. |
|
Username | username | Provide a valid username for the given Freshdesk account. | exampleUser |
Password | password | Provide a password to authenticate all requests with. Cloud users need to generate an API token for this value. | exampleSecurePassword |
Header field | header | Provide the path of the endpoint for authentication. | Authorization |
Header prefix header | header prefix | Select the header prefix - |
|
Freshdesk OAuth 2.0 Connection
Input | Key | Description | Example |
Select application | application | Select Freshdesk application |
|
Connection type | connection type | Select the type of connection. | REST |
REST connection type | rest connection type | Select the type of REST connection. | OAuth2.0 |
Connection name | name | Provide a name for the connection. | Freshdesk connection |
Connection description | description | Provide a description for the connection. |
|
Host name | host | Provide a string value for the URL of the user's Freshdesk account. |
|
Grant type | grant type | Provide the grant type - authorization code, password, client credentials. |
|
Actions
Create Ticket
Create ticket in Freshdesk | key: createTicket
Input | Key | Description | Example |
---|---|---|---|
Description | description | Add a description for creating the ticket in Freshdesk. | “Create a sample ticket” |
Subject | subject | Provide a subject for ticket creation on Freshdesk. | “Sample ticket” |
Add the email id for generating ticket on Freshdesk. | Sample@gmail.com | ||
Priority | priority | Select the priority for the ticket. The tickets can be process based on their priority. | Urgent, High, Medium or Low |
Status | status | This section represent the status of the particular ticket. | Open, Pending, Resolved or Closed. |
Create Agent
Create agent in Freshdesk | key: createAgent
Input | Key | Description | Example |
---|---|---|---|
Provide the email id for creating the agent. | Sample@gmail.com | ||
Ticket Scope | ticketScope | It defines the level of access an agent has with respect to tickets in your helpdesk. | Global, Group-Level, and Restricted. |
Name | name | Provide the name of the agent in Freshdesk. | Sample |
Job Title | jobTitle | Add the job title for the particular agent. | IT Support |
Get Agent by Email
Get agent by Email | key: getAgentbyEmail
Input | Key | Description | Example |
---|---|---|---|
Provide the email id of the agent. |
Delete Agent
Delete agent in Freshdesk | key: deleteAgent
Input | Key | Description | Example |
---|---|---|---|
Agent ID | agentID | Provide the ID of the agent that needs to be deleted. This is an unique id that is associated to the particular agent. | N1200WQ12 |