Hello everyone!
Welcome back to another week of Kaizen!
In today's post, we will discuss:
- What is Postman?
- Zoho CRM's API Collection in Postman
- Where is it available?
- Prerequisites for using the collection
- Forking the API Collection from Zoho CRM Developer Workspace
- Setting up the environment
- Registering a Client in Zoho API Console
- Generating tokens
- Making an API call
- 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?
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
- Download and install Postman.
- In the Postman app, click the search icon at the top bar and type Zoho CRM Developers. The Zoho CRM Developers Workspace opens.
- Click Collections on the left bar.
- Click the more actions icon.
- Click Create a Fork.
- Give a name to your collection, and choose the workspace you want to save it to.
- You can select one or more environments to fork and pin to the collection.
- 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.
- Click Environments on the left bar.
- Click Create Environment and give it a name.
- 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.
- Go to Zoho API Console.
- Click Add Client.
- Choose Self Client from the list of client types and click Create Now.
- 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.
- Navigate to V6 > REST APIs > Records > Get Records > Accounts.
- You can see the request with a few fields already in place.
- Modify the parameters as required.
- Under Auth, you can see the variable {{access-token}} that holds the access token we generated earlier.
- 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.
- Click Set Up New Authorization in Postman.
- Click Authorize. You will be redirected to Zoho's Login page.
- Sign in to your Zoho account.
- Choose the org for which you want to generate the token.
- 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!
Cheers!
Recent Topics
Shopify to Zoho Books Integration
I have had to go ahead and disable my Shopify integration entirely. When a Sales Order comes in from Shopify, it lists the shipping charge as a line item with no SKU attached to it. As you are not able to edit a Sales Orders that comes in from a Marketplace,
Enhancing Answer Bot's Capabilities
Wouldn't it be amazing if the answer bot could directly search for answers in our database, FAQs, articles, etc., without needing to display the entire article? without relying on external tools like ChatGPT This way, it could provide concise and relevant
Comment gérer un logo d'entreprise par webinaire ?
J'organise une série de webinaires avec plusieurs partenaires. Je voudrais que chaque landing page présente le logo de mon entreprise et celui du partenaire avec lequel j'organise ce webinaire. Or je n'ai vu que la possibilité de définir le logo de l'entreprise.
Audit Log Export via API
Hello, Based on the documentation here https://www.zoho.com/crm/developer/docs/api/v7/create-export-audit-log.html I need to specify the scope ZohoCRM.settings.audit_logs.CREATE to create a log export. I've created a Self Client app but when I specify
Create custom rollup summary fields in Zoho CRM
Hello everyone, In Zoho CRM, rollup summary fields have been essential tools for summarizing data across related records and enabling users to gain quick insights without having to jump across modules. Previously, only predefined summary functions were
Useful enhancements to Mail Merge in Zoho CRM
Dear Customers, We hope you're well! We're here with a set of highly anticipated enhancements to the Mail Merge feature in Zoho CRM. Let's go! Mail Merge in Zoho CRM integrates with Zoho Writer to simplify the process of customizing and sharing documents
Prevent carriage returns / line breaks in multi line fields
I'm trying to connect Zoho Sheets with Zoho Creator however because some people are using carriage returns in multi-line fields the rows are not being created correctly : The values in A4 and A6 are part of a multi line field that looks to have been split
Function went from fine to nonfunctioning without change
url = "https://www.zohoapis.com/crm/v7/Accounts/" + id + "/Attachments/" + attach_id; file_engage = invokeurl [ url :url type :GET connection:"zoho_attachments" ]; The attach id is grabbed from a file upload field account = zoho.crm.getRecordById("Accounts",id);
How to get NSE/BSE Stock Prices in Zoho sheets?
I've been looking for a function that provides me with the NSE/BSE listed stocks price in Zoho Sheets like GOOGLEFINANCE in Google sheets, but I found none. Please help if there is any way to het stock prices?
Setting Up Direct Mail Campaigns
If I need to set up a 5 step direct mail campaign is that possible? Basically every week I upload names from a CSV to Zoho and then would need to mail them every 45 days for about 6 months. I would want to be able to take names off the list when they say their house is sold or that they don't want to be contacted. I don't necessarily need to have it integrated with click2mail or anything but would at least need to be able to export the file in a CSV/excel for each mailing. Does anyone know if that's
Add and Remove Agents from Departments and Groups in Zoho One
Hi Zoho Flow Team, We hope you're doing well. Currently, Zoho Flow provides an action to add an agent to a group in zoho one, but there is no action to remove an agent from a group or a department. Another action that we find missing is the option to
Convert a message on Cliq into a task on Zoho Connect
Message actions in Cliq are a great way to transform messages in a conversation into actionable work items. In this post, we'll see how to build a custom message action that'll let you add a message as a task to board on Zoho Connect. If you haven't created
Zoho Creator HTML Snippet - Can't get list to iterate
Hi! I'm trying to create an HTML Snippet on a page in Zoho Creator and would like to create an HTML table pulled from a list of time entries that I have in a form. I have successfully pulled the collection of time entries, but the code that I have built
How can I create individual records from a subform
Hi, I am collecting subform data into a Lead record and I need to create individual records for each row associated to the account when it is converted. How can I do this?
Custom Extension, create a trigger button in custom module to launch the app, or any workaround
Hello Have created a custom extension , publish as private, all working But I'm facing an issue For my test I create a button in accounts or Contacts module to launch the app. But how I can handle to create same button in a custom module (not created
How do I filter contacts by account parameters?
Need to filter a contact view according to account parameter, eg account type. Without this filter users are overwhelmed with irrelevant contacts. Workaround is to create a custom 'Contact Type' field but this unbearable duplicity as the information already
Connecting Zoho Inventory to ShipStation
we are looking for someone to help connect via API shipStation with Zoho inventory. Any ideas? Thanks. Uri
Moving contacts from one folder to different folder
I set up two folders. Uploaded CSVs and build my fields according to what I needed. My boss wanted more fields and changed the categories wants different fields added and contacts in one folder moved to the other due to reclassification. How can I do
Zoho Projects Currency fields in Deluge script
I have several functions I've written in Zoho Projects that take one or more currency fields as input parameters (arguments). These functions have been working just fine for months, and I made no changes to any of them. Today (Jan 21, 2025) I noticed
How do you handle existing customers/contacts?
Hi, We just integrated MA 2.0 with our CRM and we chose to only import our existing customers contacts. In MA they are all "Raw leads" by default and we would like to mass update these to a stage called "already customers" but the last default stage "Sales
Quick Create popup for Lookup fields, Mailchimp related list and User lookup field!
Hello everyone, We have recently introduced some most-requested enhancements. Here are the details: Quick Create popup for Lookup fields When we create a new deal in Bigin, there is an option to create a contact/company right from the Create Deal page.
Webinar - Getting Started with Landing Page Marketing | Zoho LandingPage
Ready to build your first landing page that actually converts? Landing pages are a powerful marketing tool—but only if you know how to use them correctly. In this webinar we’ll dive into everything you need to know about creating landing pages that capture
Making the Resolution Tab Mandatory
Hello Everyone! This edition is here to show you how to make the Resolution mandatory when closing a ticket. The Ticket Resolution tab helps keep a record of the solution provided for the ticket query. The resolution can serve as a quick reference to
Automation #6 - Prevent Re-opening of Closed Tickets
This is a monthly series where we pick some common use cases that have been either discussed or most asked about in our community and explain how they can be achieved using one of the automation capabilities in Zoho Desk. Typically when a customer submits
🔍 How to effectively organize data in a CRM? – My approach and questions for you
Dear ZOHOssians! While working on organizing data in a CRM, I decided to use the native modules: Leads, Deals, Contacts, and Accounts as a solid foundation for managing processes. However, I’m now exploring the next steps and considering various options
Gravity Forms, JSON, Webhooks and Zoho Flow
I have form that I use to populate a Module in Zoho CRM. When the data is sent back from Gravity Forms, it's sent back in this format (I've cleansed the data for privacy): {
4 : "email@email.com",
5 : "+61999999999",
6 : "emai2l@email.com",
Introducing Bot Filtering for Accurate Email Campaign Analytics
Dear Marketers, We're excited to announce a new feature designed to enhance the accuracy of your email campaign analytics: bot filtering. This feature helps you filter out bot-generated opens and clicks, ensuring your campaign reports reflect genuine
Report to see committed stock vs quantities on order with suppliers
Hello Zoho Community, I am looking for a report in Zoho Books / Inventory that will show the committed stock from sales orders, and show what quantities of the same part are on order from purchase orders. I have found the committed stock details report,
Account
I need to know how the maximum contact records available in my subscription. Also pleas advise the process to increase Contact Records. Also I need someone to contact me, I may need to add users, but need to workout a package that would fit my budge
Getter error message Number of statement execution limit exceed Line:(216)
Hi, this script is giving me error message "Number of statement execution limit exceed Line:(216)". Please advise htmlpage Pay_Period_Details(PayPeriodID,AgentID,ShowPrint,start_range,end_range) displayname = "Pay Period Details" content <%{ /* Get The current Pay Period Record */ Int_Pay_Period_ID = PayPeriodID.toLong(); Current_Pay_Period_Record = Pay_Period[ID == Int_Pay_Period_ID]; Previous_Pay_Period_ID = thisapp.Application.GetPreviousPayPeriodID(Current_Pay_Period_Record.ID); /* Checking Agent
API Casing needs consistency in names
The JSON for an account record looks like this: {"Name": "Name of the Account", "id": "id of the account", "Address": "address of the account" "Owner":{ "name": "Name of Owner", "id": "id of owner", } } It makes no sense that "name" is capitalized in
How Can I Easily Access and Manage My GEPCO Online Bill Using Zoho Sheets?
Hello everyone, I'm looking for an efficient way to access and manage my GEPCO online bills. I've heard that Zoho Sheets can be a powerful tool for organizing and tracking bills, but I'm not sure how to set it up for this specific purpose. Does anyone
Newspaper template
Is there a template that looks like a newspaper or magazine?
New in Writer: Enhanced Content Generation and Formatting features
We are excited to unveil these features that can enhance your content creation and formatting experience. These additions are carefully tailored to boost your productivity and unlock your full content creation potential. Get the scoop on all the fresh
Webhook when estimate is refused is not firing
Hello, I use a workflow through make that sends estimate with zoho books (I paid books and sign). -Those estimates when accepted are firing the webhook that I create in zoho sign (photo 1) -However when refused they are not firing the webhook that I created
Transfer contact to a lead.
Is there a way to transfer a contact from CRM to a lead without having to re enter everything.
Form to update a CRM contact field
Hello I need an help as I am going crazy. I need to create a form where there is a dropdown field with the contacts of Zoho crm (if possible filtered on the base of a field) and where other fields will be be automatically fetched with zoho crm data as
Zoho Recruit - Blueprint and ZIA
If I activate the Blueprint for Jobs in Zoho Recruit, Zia disappears for matching canddiates, why is that?
Where is the customization and extendibility of zoho inventory?
After delving into zoho one subscription to test out systems we need for our business, I'm really disappointed after working in Zoho Inventory. Its features and customizability are extremely lacking compared to the other tools like CRM. In our case we
Announcing new features in Trident for Windows (v.1.20.4.0)
Hello Community, Trident for Windows is here with some new features to elevate your work experience. Let's take a quick look at what's new. Export emails. You can now export emails in the .eml file format as compressed zipped files to create a secure
Next Page