Kaizen #141 - Zoho CRM's API Collection in Postman

Kaizen #141 - Zoho CRM's API Collection in Postman

Hello everyone!
Welcome back to another week of Kaizen!

In today's post, we will discuss:
  1. What is Postman?
  2. Zoho CRM's API Collection in Postman
  3. Where is it available?
  4. Prerequisites for using the collection
  5. Forking the API Collection from Zoho CRM Developer Workspace
  6. Setting up the environment
  7. Registering a Client in Zoho API Console
  8. Generating tokens
  9. Making an API call
  10. A quick alternative to token generation using Guided Auth

1. What is Postman?

  • A popular tool for API development and testing.
  • User-friendly interface for making API requests, viewing responses, and managing different environments.

2. Zoho CRM's API Collection in Postman

  • Boilerplate requests that you can use to test and explore the CRM APIs in various environments for multiple organizations.
  • Makes the process of exploring APIs swift and effortless. It also significantly reduces the risk of errors.

3. Where is it available?

The Zoho CRM API Collection is available in Zoho CRM Developers workspace in Postman.

4. Prerequisites for using the Collection

  • A Zoho CRM account to access the Zoho API Console.
  • A registered client (self-client/web-based) to generate an org-specific grant token.

5. Forking the API Collection from Zoho CRM Developer Workspace

  1. Download and install Postman.
  2. In the Postman app, click the search icon at the top bar and type Zoho CRM Developers. The Zoho CRM Developers Workspace opens.
  3. Click Collections on the left bar.
  4. Click the more actions icon.
  5. Click Create a Fork.
  6. Give a name to your collection, and choose the workspace you want to save it to.
  7. You can select one or more environments to fork and pin to the collection.
  8. Click Fork Collection. Forking will happen in the background.


6. Setting up the environment

An environment is a group of variables that you can reuse in API requests and scripts.
  1. Click Environments on the left bar.
  2. Click Create Environment and give it a name.
  3. Under Variable, add the following variables:
    client-id
    client-secret
    redirect-uri
    authorization-code
    access-token
    refresh-token
    accounts-url
    api-domain
    expiry-time


7. Registering a client in Zoho API Console

For your app to be able to use users' data in Zoho CRM across multiple orgs, you must register your app as a client in Zoho CRM.
In this post, we have used Self Client as the client type. For details about when to choose between a self-client and web-based client, refer to this Kaizen post.
  1. Go to Zoho API Console.
  2. Click Add Client.
  3. Choose Self Client from the list of client types and click Create Now.
  4. You will see the client ID and client secret.


8. Generating the tokens for a self client

Zoho CRM APIs follow the OAuth2.0 protocol for authentication.
This involves three tokens viz, grant token(authorization code), access token and refresh token.
  • Grant token - Also called the authorization code, for a self client, this token is generated in the API console itself. This token informs Zoho's authorization server(Zoho Accounts) that your app wants to access Zoho CRM users' data(bound by scopes). This token is environment-specific, i.e, if you choose a production org while generating this token, you can access Zoho CRM data in the production environment only. This token is valid from 3 minutes to 10 minutes based on what you choose in the console.
  • Access token - After you have authenticated your app and generated a grant token, you must exchange it with Zoho Accounts for an access token. This access token will also have the same scopes as your grant token. This token is valid for one hour. You must send this token in the header of every API call as a bearer token.
  • Refresh token - Since the access token is valid only for an hour, you can use the refresh token to generate a new access token. Instead of creating a grant token again for the same scopes and generating another access token, you can directly use the refresh token and get a new access token with the same scope. Refresh token is valid until you revoke it.
Let's see how to generate these tokens.



Creating the grant token is a one-time process. After you generate access and refresh tokens using the grant token, you can simply use the refresh token to create new access token every hour.

9. Making an API call

Now that we have generated the tokens, let's make an API call using the access token.
  1. Navigate to V6 > REST APIs > Records > Get Records > Accounts.
  2. You can see the request with a few fields already in place.
  3. Modify the parameters as required.
  4. Under Auth, you can see the variable {{access-token}} that holds the access token we generated earlier.
  5. Hit Send to get a response.


10. A quick alternative to token generation using Guided Auth

Postman has introduced a new flow called the Guided Auth. This method allows new users to acquaint themselves with making API calls and testing them, without the hassIe of setting up a client.
In this flow, Zoho acts as the client and takes care of generating the grant and access tokens for a set of pre-defined scopes.
Follow these steps to use Guided Auth.
  1. Click Set Up New Authorization in Postman.
  2. Click Authorize. You will be redirected to Zoho's Login page.
  3. Sign in to your Zoho account.
  4. Choose the org for which you want to generate the token.
  5. Click Agree on the consent screen to grant permission to use your Zoho CRM data as per the scopes on the screen.
In the backend, Zoho generates the grant and access tokens, and you will see the access token in your Postman instance under Auth Credentials.
Note that flow does not give you a refresh token. This method is only to get a head-start with APIs without facing authorization errors. As always, the access token is valid for an hour, after which you have to follow the process of authorizing Zoho to generate another token.



As you can see, when you use our API collection, making API calls to Zoho CRM is a piece of cake as all the requests are already in place with examples.


We hope you found this post useful. We'll meet you next week with another interesting post!
Let us know your feedback in the comment section or write to us at support@zohocrm.com.
Cheers!


    • Sticky Posts

    • Kaizen #197: Frequently Asked Questions on GraphQL APIs

      🎊 Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
    • Kaizen #198: Using Client Script for Custom Validation in Blueprint

      Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
    • Celebrating 200 posts of Kaizen! Share your ideas for the milestone post

      Hello Developers, We launched the Kaizen series in 2019 to share helpful content to support your Zoho CRM development journey. Staying true to its spirit—Kaizen Series: Continuous Improvement for Developer Experience—we've shared everything from FAQs
    • Kaizen #193: Creating different fields in Zoho CRM through API

      🎊 Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
    • Client Script | Update - Introducing Commands in Client Script!

      Have you ever wished you could trigger Client Script from contexts other than just the supported pages and events? Have you ever wanted to leverage the advantage of Client Script at your finger tip? Discover the power of Client Script - Commands! Commands
    • Recent Topics

    • Always display images from this sender – Is this feature available?

      In Zoho mail, I had my "Load external images" setting set to "Ask me", and that's fine. That's the setting I prefer. What's not fine though is I always need to tick "Display now" for each email I get, regardless if I've done that multiple times from several
    • Function #9: Copy attachments of Sales Order to Purchase Order on conversion

      This week, we have written a custom function that automatically copies the attachments uploaded for a sales order to the corresponding purchase order after you convert it. Here's how to configure it in your Zoho Books organization. Custom Function: Hit
    • Free webinar: Security that works: Building resilience for the AI-powered workforce

      Hello there, Did you know that more than 51% of organizations worldwide have experienced one or more security breaches, each costing over $1 million in losses or incident response? In today’s threat landscape, simply playing defense is no longer enough.
    • "Subject" or "Narration"in Customer Statement

      Dear Sir, While creating invoice, we are giving in "Subject" the purpose of invoice. For Example - "GST for the month of Aug 23", IT return FY 22-23", "Consultancy", Internal Audit for May 23". But this subject is not coming in Customer Statement. Only
    • Apply Vendor Credit Automatically

      Hello!!! Is there a way where in we can apply vendor credits automatically on the FIRST OUTSTANDING BILL of the vendor?? We have lots of VENDOR CREDITS ISSUES mostly!!! Applying it manually is a pain for us. Would be great if we have a way to apply the
    • Zoho Notebook Sync problem

      I'm facing a problem with syncing of notebook on android app. It's not syncing. Sometimes it syncs after a day or two.  I created some notes on web notebook but it's not syncing on mobile app. Please help!!!!
    • Apply Vendor Credits Automatically

      We are bulk importing Vendor credits in Zoho Books!!! Is there a way to apply vendor credits automatically to the first UNPAID bill of the Vendor?
    • Cant Save Gauge on Creator Page

      How to Save Gauge on Creator Page see movie https://vimeo.com/1116410860?share=copy#t=0
    • Apply Advance option not shown in report

      We are facing an issue in Zoho Expenses. While approving an Expense Report, the "Apply Advance" option is not appearing under the three dots (More Options). Details: Module: Expense Reports Issue: "Apply Advance" option not visible Status of Report: Awaiting
    • Auto Capitalize First Letter of Words

      Hi I am completely new to ZOHO and am trying to build a database. How can i make it when a address is entered into a form field like this: main st it automatically changes is to show: Main St Thank You
    • Follow-up emails via Workflow Automation not staying in the same thread

      Dear Zoho Support Team, I am currently using Workflow Automation in Zoho Campaigns to send follow-up emails. In my test case, I noticed the following behavior: All emails in the automation have the same subject line. If the follow-up email is sent within
    • Client Script refuses to set an initial value in Subform field

      I tried a very simple, 1 line client script to set a default value in a custom subform field when the "Add Row" button is clicked and the user is entering data. It does not work - can someone tell me why? ZDK documentation suggests this should be doable.
    • Emails Are Not Being Delivered to My Inbox

      Hello Zoho Support Team, I am experiencing an issue with my Zoho Mail account. The most important problem is that emails are not being delivered to my inbox. Details: My Zoho Mail address: info@coreforcelife.com What happens: I am not receiving any incoming
    • Help Center IFrame Issue

      I have had a working Help Center on my website using an iframe for a while. But now for some reason the sign in page gets a refused to connect error. Can someone please help. If I go to the url manually it works correclty
    • Comment Templates

      Is it possible to add a template option for comments? We have some agents in the process who's responses require a pre-formatted layout. It would be incredibly handy to have a template for them where they can insert the template and then add their responses
    • [ZohoDesk] Improve Status View with a new editeble kanban view

      A kanban view with more information about the ticket and the contact who created the ticket would be valueble. I would like to edit the fields with the ones i like to see at one glance. Like in CRM where you can edit the canvas view, i would like to edit
    • Adding Markdown text using Zoho Desk API into the Knowledge Base

      Hi Zoho Community members, We currently maintain the documentation of out company in its website. This documentation is written in markdown text format and we would like to add it in Zoho Knowledge Base. Do you know if there is REST API functionality
    • An Exclusive Session for Zoho Desk Users: AI in Zoho Desk

      A Zoho Community Learning Initiative Hello everyone! This is an announcement for Zoho Desk users and anyone exploring Zoho Desk. With every nook and corner buzzing, "AI's here, AI's there," it's the right time for us to take a closer look at how the AI
    • Shared values: From classroom lessons to teaching moments in customer service

      While the world observes Teachers’ Day on October 5, in India, we celebrate a month earlier, on September 5, to mark the birth anniversary of Dr. Sarvepalli Radhakrishnan, a great teacher, renowned scholar, educationist, and advocate for empowerment.
    • Create a list of customers who participated in specific Zoho Backstage events and send them an email via Zoho CRM

      How to create a list of customers who participated in specific Zoho Backstage events and send them an email via Zoho CRM? I was able to do a view in CRM based on customer that registered to an event, but I don't seems to be able to include the filter
    • Zoho Desk blank page

      1. Click Access zoho desk on https://www.zoho.com/desk/ 2. It redirects to https://desk.zoho.com/agent?action=CreatePortal and the page is blank. Edge browser Version 131.0.2903.112 (Official build) (arm64) on MacOS
    • I hate the new user UI with the bar on the left

      How can I reverse this?
    • Question regarding import of previous deals...

      Good afternoon, I'm working on importing some older deal records from an external sheet into the CRM; however, when I manually click "Add New Deal" and enter the pertinent information, the deal isn't appearing when I look at the "Deals" bar on the account's
    • Client Script also planned for Zoho Desk?

      Hello there, I modified something in Zoho CRM the other day and was amazed at the possibilities offered by the "Client Script" feature in conjunction with the ZDK. You can lock any fields on the screen, edit them, you can react to various events (field
    • One person/cell phone to manage multiple accounts

      Hi. I have a personal Free account to keep my own domain/emails. Now I need to create a Business account to my company's own domain, but I have only one mobile phone number I use to everything. How do I do to manage this? Can I manage a Free domain and
    • Tracking KPIs, Goals etc in People

      How are Zoho People users tracking employee targets in People? For example, my marketing assistant has a target of "Collect 10 new customer testimonials every month". I want to record attainment for this target on a monthly basis, then add it to their
    • Zoho Desk: Ticket Owner Agents vs Teams

      Hi Zoho, We would like to explore the possibility of hiding the ‘Agents’ section within the Ticket Owner dropdown, so that we can fully utilise the ‘Teams’ dropdown when assigning tickets. This request comes from the fact that only certain agents and
    • Can not Use Attachment Button on Android Widget

      this always pops up when I touch the attach button on android widget. going to settings, there is no storage permission to be enabled. if I open the app, and access the attach feature there, I can access my storage and upload normally.
    • Announcing new features in Trident for Mac (1.24.0)

      Hello everyone! Trident for macOS (v.1.24.0) is here with interesting features and thoughtful enhancements to redefine the way you plan and manage your calendar events. Here's a quick look at what's new. Create calendar events from emails. In addition
    • Vendor Master Enhancements for Faster Purchase Entry

      I’d like to suggest a few features that will improve accuracy and speed during purchase voucher entry: Automated Item Tax Preference in Vendor Master Add an option to define item tax preference in the vendor master. Once set, this preference should automatically
    • Mass Mail Statistics - Number of unsent emails

      How do I find out which emails were not sent?
    • Est-il possible d'annuler l'envoi d'un mail automatique ?

      Bonjour, Lorsque je refuse un candidat, il reçois un mail dans les 24h pour l'informer que sa candidature n'est pas retenue. J'ai rejeté un candidat par erreur. Savez-vous s'il possible d'annuler l'envoi de ce mail ? Merci d'avance pour votre aide.
    • embed a form in an email

      Hello, how to embed a form in an email that populates Zoho CRM cases? I would like to send emails to a selected audience offering something. In the same email the recipients - if interested - instead of replying to can fill in a Zoho CRM form that creates
    • Zoho Bookings - Reserve with Google

      Does Zoho Bookings plan to to integrate with Reserve with Google?
    • How to add Zoho demo site page designs to my Zoho Sites website

      Hi, I would like to add the design from the following demo URLs into my current Zoho website. I have already created two new pages on my site, named “Menu2” and “Menu3.” For the “Menu2” page, I want to use the design from this demo: https://naturestjuice-demo.zohosites.com/menu
    • Digest Août - Un résumé de ce qui s'est passé le mois dernier sur Community

      Bonjour chère communauté ! Voici le résumé tant attendu de tout ce qui a marqué Zoho le mois dernier : contenus utiles, échanges inspirants et moments forts. 🎉 Découvrez Zoho Backstage 3.0 : une version repensée pour offrir encore plus de flexibilité,
    • Text snippet

      There is a nice feature in Zoho Desk called Text Snippet. It allows you to insert a bit of text anywhere in a reply that you are typing. That would be nice to have that option in Zoho CRM as well when we compose an email. Moderation Update: We agree that
    • Kaizen #206 - Answering your Questions | Displaying Related Purchase Orders from Zoho Books in CRM Deals using Queries

      Hello everyone! We're back with another post in the Kaizen series. We're grateful for the feedback we received from all of you! One of the questions we received was "I would like to see the list of Purchase Orders in Zoho Books for a Deal in CRM." We
    • Add Analytics function for Title case (capitalising each word in a string)

      At present, you can only capitalise each word in a string in Analytics during data import. It would be really useful to be able to do this with a formula column, but there is no Title Case function.
    • How to conditionally embed an own internal widget with parameters in an html snippet?

      Hello everyone, I'm trying to create a dynamic view in a page using an HTML snippet. The goal is to display different content based on a URL parameter (input.step). I have successfully managed to conditionally display different forms using the following
    • Next Page