Extension Pointers for Integrating Zoho CRM with Zoho services #1: Registering the Zoho service and getting credentials to create a connection

Extension Pointers for Integrating Zoho CRM with Zoho services #1: Registering the Zoho service and getting credentials to create a connection

Integrating and connecting different applications used for business solutions enables the user to manage all their work from a single location. In this series, we'll look at how you can use an extension to connect Zoho CRM to other Zoho services and establish integrated functionality within your Zoho CRM account.

Connectors are a powerful feature available in the Zoho Developer platform, Sigma. You can use connectors to integrate Zoho CRM with other Zoho services via service REST APIs, resulting in seamless synchronization of functionality. Please refer to this post on connectors for a more in-depth explanation of how to create a connector, associate it with an extension, and publish the connector in an extension.



Throughout this series, we'll see how various Zoho services can be integrated with Zoho CRM. In this post, we will look at the steps required to establish a connection using a connector: registering the Zoho service and obtaining the client credentials.

OAuth2.0 is a protocol specification that enables third-party applications (clients) to gain delegated access to Zoho's protected resources via an API. This protocol is used for authentication by the majority of Zoho services, including the Zoho Desk API. So for our example, let's look at creating a connector to establish an integration with Zoho Desk and the steps involved in registering the Zoho service and obtaining the client credentials. 

Creating a connector 

Create a new connector using the Connector feature on the left panel of the Zoho Developer console. Since we are creating a connector for Zoho Desk, the details of authentication tokens and URLs are entered using the Zoho Desk API documentation.

Request Token
URL
https://accounts.zoho.com/oauth/v2/auth?scope=Desk.tickets.READ,
Desk.basic.READ,Desk.contacts.READ
This is the request token URL that is used for sending an authorization request to the Zoho Desk server from Zoho CRM that acts as the client application.

In this request token URL, we have used a few scopes:

Desk.tickets.READ,
Desk.basic.READ,
Desk.contacts.READ

Access Token 
URL and
Refresh Token URL
https://accounts.zoho.com/oauth/v2/token
The access token provides secure access to the Zoho Desk APIs and is sent to the resource server in order to access the user's protected resources. It is only valid for one hour and can only be used for the set of operations specified in the scope.

Refresh tokens can be used to generate new access tokens when the access token expires in one hour.


* The base url (https://accounts.zoho.com/oauth/v2/) remains the same for all Zoho services which use the OAuth2.0 authentication method.

Note: The scope in the request token URL needs to be constructed based on your business requirements. You can read more detailed information about scopes here and construct them as per your requirements. The access type can have a value of either online or offline. The default value is online. The online access type only provides your application with an access token that is valid for one hour. The offline access type will provide the application with both an access token and a refresh token . The refresh token is permanent and will be used to regenerate a new access token, if the current access token has expired.



Once you have created the connector, click Save. The dialogue box for Client Credentials will open with the Redirect URL pre-populated.



You must register your application before you can begin authorization and make any calls using the Zoho Desk APIs.

Registering your application and retrieving the client credentials

1. Go to Zoho API Console. Click Add Client.

2. A new window will appear prompting you to choose a client type. Choose the Create Now option under the Server-based Applications client type and enter the necessary details. 
Note: Server-based Application is the client type when using web-based applications that are built to run with a dedicated HTTP server.

3. Enter the redirect URL in Authorized Redirect URLs. This is the URL which Zoho Accounts will redirect you to with a grant token code after successful authentication. Click Create.



4. The Client ID and Client Secret will now be displayed on the Client Secret tab.

5. Copy the client credentials and enter them as the values for the Client ID and Client Secret fields in the Client Credentials dialog box. Click Save.



6. The client credentials will be set. To authorize the connector, click the Authorize Connector button and check whether the authorization is successful.



7. Choose the Zoho Desk organization to connect with the registered application. Click Submit.


8. Give access by clicking Accept. The connector will be authorized.



Once the connector is successfully authorized, you can go ahead and add the APIs that you require.

Note: This process of creating a connector, registering a Zoho service, and retrieving the client credentials remains the same for all the Zoho services that use OAuth2.0 protocol as their authentication method.

In the next post, we will look at an example of creating a connector API for use in the Zoho Developer platform to achieve the intended integration functionality. I hope you found this information helpful. Keep following this space for more tips.


SEE ALSO