Introducing Zoho CRM GraphQL APIs: Our Next Frontier!

Introducing Zoho CRM GraphQL APIs: Our Next Frontier!

Update 25th Sep 2024:
GraphQL APIs are now open across all DCs including IN DC for Enterprise, Zoho One Enterprise, CRM Plus and Ultimate edition orgs. Please note that GraphQL APIs are not available for Trial Edition of these editions.

Update 27th Aug 2024:
Opening up GraphQL APIs for more editions
We are delighted to inform you that GraphQL APIs are currently available across all DCs except IN DC for Enterprise, Zoho One Enterprise and CRM Plus edition orgs. Please note that GraphQL APIs are not available for Trial Edition of these editions. We estimate that GraphQL APIs will be open in IN DC within one month. If your org is in IN DC and you are eager to try out GraphQL APIs,  you can register for early access here: GraphQL Early Access Registration.

Update 26th Apr 2024:
Early access available for Enterprise, Zoho One Enterprise and CRM Plus editions.
To register for early access, please fill in this form: GraphQL Early Access Registration.
Hello Developers,

We are excited to announce the release of Zoho CRM GraphQL APIs as a part of Zoho CRM - Q1 2024 update!
Our GraphQL APIs are now available to all Zoho CRM Ultimate paid orgs across all DCs. You can refer to the help documentation on GraphQL APIs for details on everything GraphQL .

What are GraphQL APIs?

Let us use a sandwich shop analogy to explain the concept of GraphQL.
Imagine you're at a sandwich shop - Cafe Rest Stop. The menu is extensive, offering various sandwiches with different ingredients. You want a tuna sandwich, and you're not a fan of pickles. You ask the chef for a sandwich without pickles. However, you are informed that the pickles are already prepped and placed on the sandwiches, and they can not be removed. You're faced with a dilemma: either accept the tuna sandwich with pickles or choose a different sandwich altogether.
This scenario mirrors the traditional REST endpoint model. When you make a request to a REST API endpoint, you receive a predefined set of data in response, much like ordering a sandwich with fixed ingredients. If you need something slightly different, like excluding certain data fields or including additional ones, you're often out of luck unless the API specifically offers those customization options.

Now, let's imagine another sandwich shop - Cafe Graffiti.  Here, instead of ordering predefined sandwiches, you have the freedom to customize your sandwich exactly the way you want it. You start with a base sandwich, like tuna, and then you can specify your preferences for each ingredient. You can say "no pickles," "extra lettuce," or "add avocado," and the chef will tailor your sandwich accordingly.
This is analogous to GraphQL. With GraphQL, you have a single endpoint through which you can request exactly the data you need, no more and no less.  You specify the fields you want to retrieve, and you get back precisely that data in the format you requested. 
Excited to tap into the potential of Zoho CRM GraphQL APIs? Refer to the 'Getting Started' page in the help documentation, accessible through this link.

Here is how it works:

Our GraphQL APIs offer a comprehensive solution for accessing both data and metadata within your Zoho CRM org.  From retrieving metadata across various resources like modules, Users, KanbanView, Profiles and so on,  to supporting advanced querying capabilities that streamline the retrieval of records in different modules, our GraphQL APIs offer unparalleled flexibility. GraphQL empowers you to precisely request resources, it's field, and the relationships between different resources.
But that is not all. Zoho CRM GraphQL APIs allows  you to aggregate data from multiple dependent or independent entities in a single API call. Whether you're looking to minimize network round trips or ensure optimal bandwidth utilization, our GraphQL APIs have you covered.

Here's an example of a GraphQL query that fetches records of Accounts containing "Truhlar" in their name along with their associated contacts and owner details. It also retrieves metadata about the "Accounts" module, including information about relevant fields like "Account_Name," "Owner," and "Parent_Account.


{
    Records {
        Accounts(where: { Account_Name: { like: "%Truhlar%" } }) {
            _data {
                id {
                    value
                }
                Account_Name {
                    value
                }
                Parent_Account {
                    id {
                        value
                    }
                    Account_Name {
                        value
                    }
                }
                Contacts__r {
                    _data {
                        id {
                            value
                        }
                        Full_Name {
                            value
                        }
                        Email {
                            value
                        }
                        Owner {
                            id {
                                value
                            }
                            first_name {
                                value
                            }
                            email {
                                value
                            }
                            last_name {
                                value
                            }
                            zuid {
                                value
                            }
                        }
                    }
                }
                Owner {
                    id {
                        value
                    }
                    email {
                        value
                    }
                    zuid {
                        value
                    }
                    last_name {
                        value
                    }
                    first_name {
                        value
                    }
                }
            }
        }
    }
    Meta {
        Modules(filter: { api_name: "Accounts" }) {
            _data {
                id
                api_name
                module_name
                visibility
                fields(filter: { api_names: ["Account_Name", "Owner", "Parent_Account"] }) {
                    _data {
                        id
                        api_name
                        display_label
                        data_type
                    }
                }
            }
        }
    }
}


Similar to our Rest APIs, Zoho CRM GraphQL API calls are also associated with credits. Each API call may consume up to 10 credits, with additional credits required for specific resource types. In addition to that, we have query complexity based on the workload a query exerts on CRM servers and depth. Please refer to the Credits, Complexity, and Depth page on our help document for details.
We hope you are excited to try out Zoho CRM GraphQL APIs. As always, your suggestions and requests are most welcome. We will work on fulfilling them as promptly as we can.


Thank you,

Zoho CRM API Team



    • 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

    • How do you print a refund check to customer?

      Maybe this is a dumb question, but how does anyone print a refund check to a customer? We cant find anywhere to either just print a check and pick a customer, or where to do so from a credit note.
    • Notebook

      I have purchased the monthly pro subscription of Notebook. But it does not support my XP-Pen to write something in it. So it is not useful to me. Hence I am requesting you to help me to discontinue this subscription.
    • Domain Mapping & Image Publishing Issues on Zoho Sites

      Hello, I am facing two issues with my Zoho Sites account: 1. Images not visible after publishing. 2. Domain mapping error: "Domain already exists". I am a paid customer. Please connect me with Live Chat Support or Zoho Assist so I can show my issue
    • Prevent duplicate with custom fields?

      I was wondering something about custom field/custom modules in Zoho Desk. For some reason you can make a custom field mandatory but not unique? For example, if I create a custom module to manage equipment and renewal and make a field serial number no
    • Round robin

      Hi, I'm trying to set up a round robin to automatically distribute tickets between agents in my team but only those tickets that are not otherwise distributed by other workflows or direct assignments. Is that possible and if so which criteria should I
    • "Is Zoho CRM customer" vs "Is linked with Zoho CRM"

      Recently while building a Flow, I was setting up a Decision action following a Zoho Invoice Fetch record action. There were 2 choices that I had not seen as something I could manually action in Zoho Invoice: "Is Zoho CRM customer" and "Is linked with
    • Two currencies

      More and more I am finding that internattional payments' fees are unpredictable. I would like, on my invoices that are in a foreign currency (eg. USD$ or EUR€) for there to be a GBP£ TOTAL display alongside the invoice's currency total. This would make
    • Automatic Matching from Bank Statements / Feeds

      Is it possible to have transactions from a feed or bank statement automatically match when certain criteria are met? My use case, which is pretty broadly applicable, is e-commerce transactions for merchant services accounts (clearing accounts). In these
    • Generate leads from instagram

      hello i have question. If connect instagram using zoho social, it is possible to get lead from instagram? example if someone send me direct message or comment on my post and then they generate to lead
    • Zoho PDF editor has a lot of issues.

      Zoho PDF editor needs a lot of work. It hangs and glitches a lot. Deletes annotations and clearings randomly.
    • Where is the desktop app for Zoho Projects???

      As a project manager, I need a desktop app for the projects I manage. Yes, there's the web app, which is AWESOME for cross browser and platform compatibility... but I need a real desktop app for Projects that allow me to enter offline information where
    • How to Automate Monthly PDF Reports with Filters in Zoho Creator

      Hi everyone, I’m trying to build an automated monthly reporting process in Zoho Creator and would appreciate suggestions or best practices from anyone who has done something similar. What I’m trying to do: I have a form called New_Customer with fields
    • Feedback: Streamlining Note Management in Zoho Notebook

      Dear Team/Support, I would like to share some feedback regarding the note management system that could help improve usability and accessibility for users like myself. Notebook 1 (screenshot attached): Currently, the system does not allow selecting and
    • showing Limit exceeded

      Good afternoon...trust you're good. I've been having issues working with but it's not responding. it's showing Limit exceeded, sorry it seems like too many people are working on the sheet right now please try again later. meanwhile no one is working on
    • Converting Sales Order to Invoice via API; Problem with decimal places tax

      We are having problems converting a Sales Order to an Invoice via API Call. The cause of the issue is, that the Tax value in a Sales Order is sometimes calculated with up to 16 decimal places (e.g. 0.8730000000000001). The max decimal places allowed in
    • Sorting columns in Zoho Projects

      Hi, In project management best practice, sorting columns (ascending, descending) is an important tool. Sorting dates to see the order of tasks starting, sorting on priority or even on planned hours is a must for an efficient project control. Currently,
    • Business Continuity - Disaster Recovery

      I know about the Zoho CRM backup .zip files, however, this doesn't include any of the infrastructure with like custom fields or custom modules. I am curious on what everyone has in place for a true backup or what your plan is if your Zoho instance were
    • Upload API

      I'm trying to use the Upload API to upload some images and attach them to comments (https://desk.zoho.com/DeskAPIDocument#Uploads#Uploads_Uploadfile) - however I can only ever get a 401 or bad request back. I'm using an OAuth token with the Desk.tickets.ALL
    • Losing description after merging tickets

      Hello, We merge tickets when they are about the same topic from the same client. It happens sometimes. We recently noticed that after the merger only the description from the master ticket is left in a thread. And the slave-ticket description is erased.
    • Option to Empty Entire Mailbox or Folder in Zoho Mail

      Hello Zoho Mail Team, How are you? We would like to request an enhancement to Zoho Mail that would allow administrators and users to quickly clear out entire folders or mailboxes, including shared mailboxes. Current Limitation: At present, Zoho Mail only
    • update linked contacts when update happens in account

      Hi, I have a custom field called Licence in the Accounts module. When someone buys a licence, I’d like to update a custom field in the related Contacts. How can I achieve this? I noticed that workflows triggered on Accounts only allow me to update fields
    • Problem Management Module

      I am looking for a Problem Management module within Zoho Desk. I saw in some training videos that this is available, and some even provided an annual price for it. I want an official confirmation on whether this is indeed available. This is not a particularly
    • Deluge sendmail in Zoho Desk schedule can't send email from a verified email address

      I am trying to add a scheduled action with ZDesk using a Deluge function that sends a weekly email to specific ticket client contacts I've already verified the email address for use in ZDesk, but sendmail won't allow it in its "from:" clause. I've attached
    • Unable to explore desk.zoho.com

      Greetings, I have an account with zoho which already has a survey subscription. I would like to explore desk.zoho.com, but when I visit it while logged in (https://desk.zoho.com/agent?action=CreatePortal) I just get a blank page. I have tried different
    • Offline support for mobile app

      Accessing your files and folders from your mobile devices is now quicker and simpler, thanks to the power of offline support. Whether on an Android or iOS device, you can use the Offline function to save files and folders, so you can review them even
    • Zoho Desk KB article embedded on another site.

      We embed KB articles from Zoho Desk on another site (our application). When opening the article in a new tab, there is no issue, but if we choose lightbox, we are getting an error "To protect your security, help.ourdomain.com will not allow Firefox to
    • Transitioning to API Credits in Zoho Desk

      At Zoho Desk, we’re always looking for ways to help keep your business operations running smoothly. This includes empowering teams that rely on APIs for essential integrations, functions and extensions. We’ve reimagined how API usage is measured to give
    • List of packaged components and if they are upgradable

      Hello, In reference to the article Components and Packaging in Zoho Vertical Studio, can you provide an overview of what these are. Can you also please provide a list of of components that are considered Packaged and also whether they are Upgradable?
    • Does Attari Messaging app have Bot option and APIB

      Hi, Does Attari also have Bot and API as we use in WhatsApp??
    • How to add application logo

      I'm creating an application which i do not want it to show my organization logo so i have changed the setting but i cannot find where to upload/select the logo i wish to use for my application. I have seen something online about using Deluge and writing
    • Introducing Keyboard Shortcuts for Zoho CRM

      Dear Customers, We're happy to introduce keyboard shortcuts for Zoho CRM features! Until now, you might have been navigating to modules manually using the mouse, and at times, it could be tedious, especially when you had to search for specific modules
    • Empowered Custom Views: Cross-Module Criteria Now Supported in Zoho CRM

      Hello everyone, We’re excited to introduce cross-module criteria support in custom views! Custom views provide personalized perspectives on your data and that you can save for future use. You can share these views with all users or specific individuals
    • Send Automated WhatsApp Messages and Leverage the Improved WhatsApp Templates

      Greetings, I hope all of you are doing well. We're excited to announce a major upgrade to Bigin's WhatsApp integration that brings more flexibility, interactivity, and automation to your customer messaging. WhatsApp message automation You can now use
    • Verifying Zoho Mail Functionality After Switching DNS from Cloudflare to Hosting Provider

      I initially configured my domain's (https://roblaxmod.com/) email with Zoho Mail while using Cloudflare to manage my DNS records (MX, SPF, etc.). All services were working correctly. Recently, I have removed my site from Cloudflare and switched my domain's
    • Zoho Analytics Regex Support

      When can we expect full regex support in Zoho Analytics SQL such as REGEXP_REPLACE? Sometimes I need to clean the data and using regex functions is the easiest way to achieve this.
    • Change of Blog Author

      Hi, I am creating the blog post on behalf of my colleague. When I publish the post, it is showing my name as author of the post which is not intended and needs to be changed to my colleague's name. How can I change the name of the author in the blogs?? Thanks, Ramanan
    • Show Attachments in the customer portal

      Hi, is it possible to show the Attachments list in the portal for the particular module? Bests.
    • Zoho CRM Formula - Current Time minus Date/Time field

      Hello, I am trying to prevent duplicate emails going to clients when more than 1 deal is being updated. To do this, I would like to create a formula to identify if a date/time field is >= 2 hours ago. Can someone please help me write this formula? Example:
    • Does Zoho Docs have a Line Number function ?

      Hi, when collaborating with coding tasks, I need an online real time share document that shows line numbers. Does Zoho's docs offer this feature ? If yes, how can I show them ? Regards, Frank
    • Feature Request - Insert URL Links in Folders

      I would love to see the ability to create simple URL links with titles in WorkDrive. or perhaps a WorkDrive extension to allow it. Example use case: A team is working on a project and there is project folder in WordDrive. The team uses LucidChart to create
    • Next Page