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

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.

  1. f you, the user, haven't already signed in, you will be redirected from the application to your authorization URL, requesting an authorization code. 

  2. Freshdesk receives the requested authorization code from the authorization server. 

  3. Freshdesk makes a request to your access token URL, exchanging the code obtained for an access token.

  4. Your authorization server will return an access token to Freshdesk.

  5.  Freshdesk then makes a request to your UserInfo URL with the access token obtained.

  6. Your server will then return the user’s information in JSON format

To conduct the OAuth 2.0 authentication for Freshdesk you need to

Key

Description

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:

  • Additional parameters to the resource owner while fetching the access token. For example, some third-party owners accept an option called scope to control the level of access on the resource.

  • Custom headers as part of the token phase as required by certain third-party services. For this, custom headers can be included in the options field as an object.

    1"customHeaders": { "Authorization" : "Basic API_KEY" }

token_type Mandatory

Specifies the level of access for the access token. We support the following values:

  • account - Authorization happens when the app is installed by the admin.

  • agent - Authorization happens when the app is accessed by an agent.
    Note: Agent-level OAuth does not support apps in background locations and serverless apps.

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 -
Basic, Bearer, Token, None

 

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

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”

Email

email

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

Input

Key

Description

Example

Email

email

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

Input

Key

Description

Example

Email

email

Provide the email id of the agent.

Sample@gmail.com


Delete Agent

Delete agent in Freshdesk | key: deleteAgent

 

Input

Key

Description

Example

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