Zoho CRM Plugin

Zoho CRM can be easily customized to meet the specific needs of any business type and size. Start-ups, large enterprises, and verticals like real-estate, healthcare, insurance, legal, media, restaurants, travel, banking, tax, freelancers, and non-profits all use a customer relationship management software for increasing their sales, marketing, and customer support efforts.

Here is step-by-step guide how to authenticate your Zoho plugin.

Step 1: Create a Zoho account and generate grant and refresh token

Here is the video tutorial:
https://www.loom.com/share/8df4a039e3344540830ec84d9d0c543f

  • Now you need to create a Self-Client application in the Zoho Developer Console, on this link: https://api-console.zoho.eu/ (replace “eu” with “com” or any other domain ending your Zoho CRM account is ending with), and get a grant token. To do this you will also need to add a scope you would like to give to those who use the plugin, here is the page with all scopes listed: https://www.zoho.com/crm/developer/docs/api/v2/scopes.html .

🚧

We recommend to use the following scope:
ZohoCRM.users.ALL,ZohoCRM.settings.ALL,ZohoCRM.modules.ALL

Here is the video tutorial for generating the grant token:
https://www.loom.com/share/7b09effdad4043438e06aeb92f9c4f25
Here is an example of successfully populated self-client form:

1297
  • Now, when you have a grant token, you will be able to get a refresh token, using postman or some other similar application. Make sure that you send a request immediately, within the time you specified when creating the grant token.

This is the documentation page where you will find request structure for obtaining refresh token: https://www.zoho.com/crm/developer/docs/api/v2/access-refresh.html

Here is the video tutorial:
https://www.loom.com/share/52897ba45dc74614bb77135c79a7873f

Step 2: Add the refresh token to the plugin

The refresh code is used for obtaining a new access code each time the chatbots need to connect with the Zoho CRM API. At the very top of the first Admin Area interaction, you have three custom variables, which should save your refresh token, client id and client secret.

  • [customVar refresh_token=REPLACE_CAPS_TEXT_WITH_REFRESH_TOKEN] bold
    caps letters should be replaced with refresh code you have generated from a request
    sent from Postman, described in this video:
    https://www.loom.com/share/52897ba45dc74614bb77135c79a7873f

  • [customVar client_id=REPLACE_CAPS_TEXT_WITH_CLIENT_ID] bold caps letters
    should be replaced with client id that you can retrieve from the Client Secret tab on this
    link https://api-console.zoho.eu/

  • [customVar client_secret=REPLACE_CAPS_TEXT_WITH_CLIENT_SECRET] bold
    caps letters should be replaced with client secret that you can retrieve from the Client
    Secret tab on this link https://api-console.zoho.eu/

1295

Here is a video tutorial on how to do that:
https://www.loom.com/share/214e9f34d32f41a29e147b286109ac65

How to Set Up the Right Database Domain Ending

Different Zoho CRM accounts have different domain endings, like “com”, “eu”, “au”, “in”, etc.
When using a plugin to connect with Zoho CRM, you will need to use the right domain ending.
You can simply check it by opening your zoho account dashboard. Check the browser and see
whether your domain extension is: “com”, “eu”, “au”, “in” or some other.
Browser extension is collected in the dc variable and it should be added to whatever interaction
is the starting one in your plugin. For most use cases this would be the Admin Area, so this is
where this variable is created by default. If you would like to create some user oriented flows,
just copy this variable from Admin Area interaction and place it to the new starting interaction.

1291

Here is the video tutorial (adding domain ending is at the end of the video):
https://www.loom.com/share/214e9f34d32f41a29e147b286109ac65

How to work with the Zoho CRM plugin

This is the list of endpoints the Zoho CRM plugin is targeting:

Users API (for chatbots oriented towards productivity and in-office automation)

  • Create User (Creates a user and provides them with a company role which defines their
    access to the Zoho CRM records. Can be accessed through Admin Area only.);
  • Update User (Updates user role and access. Can be accessed through Admin Area
    only.);
  • Delete User (Deletes user role and access. Can be accessed through Admin Area
    only.);

Records API (for lead generation, and chatbots that allow purchases, subscriptions, etc.)

  • Create Lead (Creates a customer record. Can be accessed through Admin Area or User
    Flow.);
  • Get Records (retrieves the record of the specific customer. Can be accessed through
    Admin Area only.);
  • Update Lead (Updates customer record. Can be accessed through Admin Area or User
    Flow.);
  • Delete Lead (Deletes customers record. Can be accessed through Admin Area or User
    Flow.);
  • Convert Lead (Changes User record to contact or to account depending on the
    conversion step they have taken. Can be accessed through Admin Area or User Flow.);

Variable Data API (for retrieving, creating or changing parameters within Zoho CRM)

  • Create Variable (Creates a new parameter in Zoho CRM.Can be accessed through
    Admin Area only.);
  • Update Variable (Updates a parameter in Zoho CRM. Can be accessed through Admin
    Area only.);
  • Delete Variable (Deletes a parameter in Zoho CRM. Can be accessed through Admin
    Area only.);

Tags API (for retrieving, merging, creating or changing tags within Zoho CRM)

  • Tag List (List of all tags in Zoho CRM. Can be accessed through Admin Area only.);
  • Tag Count (Get the number of records with a specific tag in Zoho CRM. Can be
    accessed through Admin Area only.);
  • Create Tag (Creates a new tag in Zoho CRM. Can be accessed through Admin Area
    only.);
  • Update a Tag (Updates a tag in Zoho CRM. Can be accessed through Admin Area only.);
  • Merge a Tag (Merges a tag in Zoho CRM. Can be accessed through Admin Area only.);
  • Delete a Tag (Deletes a tag in Zoho CRM. Can be accessed through Admin Area or User
    Flow.);
  • Add Tags to Lead (Adds tags to records, Can be accessed through Admin Area or
    User Flow.);
  • Remove Tags from Lead (Removes tags from records. Can be accessed through
    Admin Area only or User Flow.);

Notes API (List, create, update or delete notes)

  • Create a note (Creates a new note. Can be accessed through
    Admin Area only or User
    Flow.);
  • Update a note (Updates a note. Can be accessed through Admin Area only);
  • Delete a note (Deletes a note. Can be accessed through Admin Area only);

Admin Area

Admin Area is an interaction with shortcuts to all conversational flows, eventually leading to the final extended API interaction connecting to the Zoho CRM. If you are creating an in-office bot that will be used by your team members to add, update or delete information in your CRM database, add Admin Area as a starting interaction of the plugin, after adding it to the bot.

Conversational Flows for Customers

The plugin contains several conversational flows that can be used by customers to purchase, subscribe, etc. Plugin features with customer oriented conversational flows are:

  1. Create Lead
  2. Update Lead
  3. Delete Lead
  4. Convert Lead
  5. Add Tag to Record
  6. Remove Tag from Record
  7. Create a Note

Conversational flows for customers are stand-alone flows, and you can set their start interaction as a first one in the plugin and leads, prospects and customers who talk with the bot, would land on these messages and their actions and replies would end with action directed towards the Zoho API endpoint.
To make the chatbot more natural you can edit the text of messages. For advanced Snatchbot users there is an option to add more questions and save answers that would then be used as additional parameters sent within a request to Zoho CRM API.

For more information about this consult Zoho CRM API documentation:
https://www.zoho.com/crm/developer/docs/api/v2/
... and of course the Snatchbot documentation:
https://support.snatchbot.me/docs/creating-your-first-bot