Kaizen #39 - Deals #API

Kaizen #39 - Deals #API

Hello everyone!
Welcome back to another post in the Kaizen series!
This week, we will discuss retrieving, adding, updating, and deleting Deals via API.

Deals in Zoho CRM
A Deal is a revenue opportunity that is associated with a Contact or Account.

OAuth Scope
The scope to access the Deals module via API is: ZohoCRM.modules.deals.{operation_type}
The operation type can be ALL, READ, WRITE, CREATE, or DELETE based on the operation you are trying to perform.
Click here to know more about scopes.

Retrieving deals via API
Using the Get Records API, you can retrieve the records from the Deals module.

Request URL to retrieve all deals: {{api-domain}}/crm/v2/Deals
Request URL to retrieve a specific deal: {{api-domain}}/crm/v2/Deals/{Deal_ID}
Request Method: GET



Response Keys:

Key with JSON data type
CRM Field Type
Description
$currency_symbol
string
-
Represents the symbol of the currency of the deal amount.
Campaign_Source
JSON object
Lookup
Represents the name and ID of the campaign if the deal is related to one.
$review_process
JSON object
-
Represents the review process details, if the deal was created in review mode.
$followers
JSON array
-
Each object represents the name and ID of the user who is following the deal.
Closing_Date
Date Time in ISO8601 format
Date
Represents the closing date of the deal.
Last_Activity_Time
Date Time in ISO8601 format
-
Represents the date and time when the deal was last updated.
$review
JSON object
-
Represents the review process details.
Lead_Conversion_Time
integer
-
The number of days taken to convert a Lead into a Deal (if the Deal was created from a Lead).
Deal_Name
string
Single Line
Represents the name of the deal. 
Exchange_Rate
integer
Number
Represents the exchange rate of the currency of the deal amount.
Expected_Revenue
double
Currency
Represents the expected revenue of the deal. The system calculates the value based on the amount and the Deal Stage that you specify. It is a read_only field. 
Currency
double
Picklist
Represents the currency of the deal amount.
Overall_Sales_Duration
integer
-
Represents the average number of days taken for the Lead to be converted to a Deal, and then to be won. 
Stage
string
Picklist
Represents the stage of the deal. It can be: Qualification, Needs Analysis, Value Proposition, Identify Decision Makers, and so on. You can customize these values based on your business model.
Account_Name
JSON object
Lookup
Represents the name and ID of the account the deal is associated with.
id
string
-
Represents the unique ID of the deal.
$approved
boolean
-
Represents if the record is approved or not.
$approval
JSON object
-
Represents the details of approval process if the deal is in one.
Territory
JSON array
-
Represents the territories the deal is associated with.
Amount
integer
Currency
Represents the value of the deal.
$followed
boolean
-
Represents if the current user follows the deal or not.
Probability
integer
Number
Represents the probability of deal closure.
Next_Step
string
Single Line
Represents the details of the next steps of the sales process (this may vary based on your business model).
$editable
boolean
-
Represents if the deal is editable or not.
Contact_Name
JSON object
Lookup
Represents the name and ID of the contact the deal is associated with.
Sales_Cycle_Duration
integer
-
Represents the average number of days taken for the deal to be won.
Type
string
Picklist
Represents the type of the deal. These values can be customized based on your business model.
Lead_Source
string
Picklist
Represents the source of the lead. These values can be customized based on your business model. 
Tag
JSON array
-
Represents the deal tags if any.
Owner
JSON object
-
Represents the name, ID, and the email of the deal owner.
Description
string
Multi-Line
Represents the description of the deal if any. 

Note:
The keys listed above are available by default. If you have any custom fields in your layout, the data in those fields will also be retrieved. 
You can fetch a maximum of 200 deals per API call.

Adding Deals via API
Using the Insert Records API, you can add records to the deals module. 

Request URL to add deals: {{api-domain}}/crm/v2/Deals
Request Method: POST

List of keys that you can include in your request body 
Description, Campaign_Source, Closing_Date, Deal_Name, Exchange_Rate, Expected_Revenue, Currency, Stage, Account_Name, Amount, Probability, Next_Step, Contact_Name, Type, Lead_Source, Tag, and Owner. 

Mandatory Keys 
Deal_Name and Stage. Apart from these, you must add all the user-defined mandatory fields too.  

You can also insert a deal in a specific layout by specifying the "Layout" details in the following format. In this case, you must ensure that you specify all the layout-specific mandatory fields in the input. 

"Layout": {
                "name": "sample",
                "id": "4150868000002606001"
            }

For more details regarding these keys, refer to the Response Keys section above. 

Input
{
    "data": [
        {
            "Owner": {
                "name": "Patricia Boyle",
                "id": "4150868000001248015",
                "email": "patricia@zylker.com"
            },
            "Description": "This is a sample Deal",
            "Campaign_Source": {
                "name": "Sample",
                "id": "4150868000000584006"
            },
            "Closing_Date": "2020-07-16",
            "Deal_Name": "Zylker Deal1",
            "Currency": "AUD",
            "Stage": "Qualification",
            "Account_Name": {
                "name": "Zylker",
                "id": "4150868000001416001"
            },
            "Amount": 666.67,
            "Probability": 10,
            "Next_Step": "sample",
            "Contact_Name": {
                "name": "Alicia Boyle",
                "id": "4150868000002500007"
            },
            "Type": "New Business",
            "Lead_Source": "Advertisement"
        }
    ]
}

Response

Note:
You can also add custom fields' values. You can get their API names using the Fields Metadata API
You can insert a maximum of 100 Deals per API call.

Updating Deals via API
Using the Update Records API, you can update records in the deals module. 

Request URL to update deals: {{api-domain}}/crm/v2/Deals
Request URL to update a specific deal: {{api-domain}}/crm/v2/Deals/{Deal_ID}
Request Method: PUT

List of keys that you can include in your request body
Description, Campaign_Source, Closing_Date, Deal_Name, Currency, Stage, Account_Name, Amount, Probability, Next_Step, Contact_Name, Type, Lead_Source, Tag, and Owner.

Mandatory Keys 
The id is a mandatory key in the input when you update multiple Deals in an API call. 

For more details regarding these keys, refer to the Response Keys section above. 


Note:
You can also update custom fields' values. You can get their API names using the Fields Metadata API
You can update a maximum of 100 deals per API call.

Deleting Deals via API
Using the Delete Records API, you can add records to the deals module. 

Request URL to delete deals: {{api-domain}}/crm/v2/Deals
Request URL to delete specific deal: {{api-domain}}/crm/v2/Deals/{Deal_ID}
Request URL to delete multiple deals: {{api-domain}}/crm/v2/Deals?ids={id1, id2,..}
Request Method: DELETE

Note: You can pass a maximum of 100 record IDs in the ids parameter.





Refer to Kaizen #25 - Zoho CRM API - Common Errors and Error Handling to know more about the errors related to Deals API. 

The Stage History of a Deal
Using the Get Related Records API, you can get the details of the related lists of a deal. One such related list is Stage History with which you can track and record the different stages that a deal has been through. 

Request URL to get stage history of a deal: {{api-domain}}/crm/v2/Deals/{Deal_ID}/Stage_History
Request Method: GET

Key with data type
Description
$duration_days
integer
Represents the number of days the deal was in a particular stage.
Stage
string
Represents the unique ID of the stage.
id
string
Unique ID of the deal in that particular stage. 


We hope you found this post useful. 
Write to us at support@zohocrm.com if you have any questions, or let us know in the comment section.

Cheers!



    Access your files securely from anywhere







                            Zoho Developer Community





                                                  Use cases

                                                  Make the most of Zoho Desk with the use cases.

                                                   
                                                    

                                                  eBooks

                                                  Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho Desk.

                                                   
                                                    

                                                  Videos

                                                  Watch comprehensive videos on features and other important topics that will help you master Zoho Desk.

                                                   
                                                    

                                                  Webinar

                                                  Sign up for our webinars and learn the Zoho Desk basics, from customization to automation and more

                                                   
                                                    
                                                  • Desk Community Learning Series


                                                  • Meetups


                                                  • Ask the Experts


                                                  • Kbase


                                                  • Resources


                                                  • Glossary


                                                  • Desk Marketplace


                                                  • MVP Corner




                                                            • 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


                                                            Manage your brands on social media



                                                                  Zoho TeamInbox Resources



                                                                      Zoho CRM Plus Resources

                                                                        Zoho Books Resources


                                                                          Zoho Subscriptions Resources

                                                                            Zoho Projects Resources


                                                                              Zoho Sprints Resources


                                                                                Qntrl Resources


                                                                                  Zoho Creator Resources



                                                                                      Zoho CRM Resources

                                                                                      • CRM Community Learning Series

                                                                                        CRM Community Learning Series


                                                                                      • Kaizen

                                                                                        Kaizen

                                                                                      • Functions

                                                                                        Functions

                                                                                      • Meetups

                                                                                        Meetups

                                                                                      • Kbase

                                                                                        Kbase

                                                                                      • Resources

                                                                                        Resources

                                                                                      • Digest

                                                                                        Digest

                                                                                      • CRM Marketplace

                                                                                        CRM Marketplace

                                                                                      • MVP Corner

                                                                                        MVP Corner







                                                                                          Design. Discuss. Deliver.

                                                                                          Create visually engaging stories with Zoho Show.

                                                                                          Get Started Now


                                                                                            Zoho Show Resources


                                                                                              Zoho Writer Writer

                                                                                              Get Started. Write Away!

                                                                                              Writer is a powerful online word processor, designed for collaborative work.

                                                                                                Zoho CRM コンテンツ








                                                                                                  Nederlandse Hulpbronnen


                                                                                                      ご検討中の方




                                                                                                            • Recent Topics

                                                                                                            • Auto CheckOut Based On Shift.

                                                                                                              This Deluge script runs on a scheduled basis to automatically set the 'Actual_Check_Out' time for employees who haven't manually checked out. If the current time is past their scheduled 'Shift_End_Time', the script updates the check-out time to match
                                                                                                            • How to remove some users in zoho accounts

                                                                                                              How to remove some users in Zoho accounts.
                                                                                                            • how to differentiate if whatsapp comes from certain landing page?

                                                                                                              I create a Zobot in SalesIQ to create a Whatsapp bot to capture the lead. I have 2 landing pages, one is SEO optimized and the other want is optimized for leads comes from Google Ads. I want to know from which landing page this lead came through WhatsApp
                                                                                                            • Customizing Form Questions per Recipient Group in Zoho Campaigns/Forms

                                                                                                              Hello everyone, I would like to ask if it’s possible in Zoho Campaigns or Zoho Forms to send out a campaign where the form questions can be customized based on the group of recipients. Use case example: I have prepared 20 questionnaire questions. For
                                                                                                            • Infinite loop of account verification

                                                                                                              Hi I can't do anything on my zoho account.  I always get this message Hi Sheriffo Ceesay As a security measure, you need to link your phone number with this account and verify it to proceed further. When ever I supply the details, it displays that the number is associated with another account. I don't have any other account on zoho so this is really annoying. 
                                                                                                            • Load PO_Date field (Purchase Order) with current date in Deluge

                                                                                                              Hi, I'm not a full time developer, just helping to customize our CRM, in the small company I work for. There must be something wrong with me, because I can't do something so simple as complete a field with the current date in a function using Deluge.
                                                                                                            • Zoho CRM in Microsoft Power Automate Custom Connector

                                                                                                              Hi everyone, I’m building a Power Automate flow that integrates Microsoft Bookings with Zoho CRM. The goal is to automatically create a meeting (event) in Zoho CRM whenever a new appointment is booked via Microsoft Bookings. To achieve this, I created
                                                                                                            • Spell check sucks

                                                                                                              Come on guys, it's 2024 and your spell check is completely retarded. You gotta fix it.
                                                                                                            • How to include total km for multiple trips in expense report.

                                                                                                              Whenever I create a mileage report it only shows the total dollar amount to be reimbursed. The mileage for each individual trip is included but I also need to see the total distance for all trips in a report? How do I do this?
                                                                                                            • New in Cadences: Option to Resume or Restart follow-ups when re-enrolling records into a Cadence, and specify custom un-enrollment criteria

                                                                                                              Managing follow-ups effectively involves understanding the appropriate timing for reaching out, as well as knowing when to take a break and resume later, or deciding if it's necessary to start the follow-up process anew. With two significant enhancements
                                                                                                            • Outgoing blocked: Unusual activity detected.

                                                                                                              I just made payment for my Zohomail Today and have been debited so i will like to be Unblocked because this is what it says (Outgoing blocked: Unusual activity detected) Thank you i await your swift responses
                                                                                                            • Zoho One Login Issue - Unable to receive OTP

                                                                                                              Hi Support Team, I am experiencing a unique login issue with Zoho One. I am attempting to log in from India using Zoho Login credentials provided by a USA-based client. Their Zoho account is hosted on a US data center. After entering the username and
                                                                                                            • Question Regarding Managing Sale Items in Zoho Books

                                                                                                              Good day, I was wondering about something. Right now, Zoho Books doesn’t seem to have a way to flag certain items as being on sale. For example, if I want a list of specific items to be on sale from October 1 to October 12, the user would have to export
                                                                                                            • In the Zoho Creator Customer Payment form i Have customer field on select of the field Data want to fetch from the invoice from based on the customer name In the Customer Payment form i Have subf

                                                                                                              In the Zoho Creator Customer Payment form i Have customer field on select of the field Data want to fetch from the invoice from based on the customer name In the Customer Payment form i Have subform update Invoice , there i have date field,Invoice number
                                                                                                            • Problem of Import Client Users From CRM and or Expense

                                                                                                              I am premium plan user on Projects. I have about 500 customers on Expense and CRM that integrated with each other. According to at below link, I am trying to import clients from CRM, system not allowed to select any customer. If I import from Expense,
                                                                                                            • Unable to see free plan option

                                                                                                              Hello Zoho Support Team, I hope you are doing well. I am trying to sign up for Zoho Mail, but I am unable to see the option for the free plan. Could you please guide me on how I can access or activate the free plan? Thank you for your assistance.
                                                                                                            • unblock my zoho mail account. outlines@zoho.com

                                                                                                              please unblock my zoho mail account, outlines@zoho.com
                                                                                                            • domain not verified error

                                                                                                              Hi when i try to upload a video from zoho creator widget to zoho work drive iam getting domain not verified error.I don't know what to do .In zoho api console this is my home page url https://creatorapp.zoho.com/ and this is my redirect url:www.google.com.Iam
                                                                                                            • equest to Disassociate Bigin from Zoho One and Migrate to Standalone (Upgrade to Bigin Premier – 3 Seats, Annual)

                                                                                                              Dear Zoho One Support Team, I’m writing to request your assistance to disassociate (remove) the Bigin application from our Zoho One organization while preserving all existing Bigin data. After the disconnection is successfully completed, we intend to
                                                                                                            • SMTP email sending problem

                                                                                                              Hello, I've sent emails before, but you haven't responded. Please respond. My work is being disrupted. I can't send emails via SMTP. Initially, there were no problems, but now I'm constantly receiving 550 bounce errors. I can't use the service I paid
                                                                                                            • billing

                                                                                                              hi, I am being billed $12/year, and I can't remember why. My User ID is 691273115 Thanks for your help, --Kitty Pearl
                                                                                                            • Syncing Zoho Forms with Bigin - Embedding issue?

                                                                                                              Hello everyone, I created a Zoho Form for a page on my GoDaddy website to collect leads, which then transfers the data to Bigin. However, I'm facing an issue where it doesn't seem to work properly. I've integrated Zoho Forms with Bigin and tried embedding
                                                                                                            • How to add receipts

                                                                                                              How to add receipts
                                                                                                            • Unable to enable tax checkboxes

                                                                                                              Hi Zoho Commerce Support, I'm writing to report an issue I'm having with the tax settings in my Zoho Commerce store. I've created several tax rates under Settings > Taxes, but all of them appear with the checkbox disabled. When I try to enable a checkbox,
                                                                                                            • Does Zoho Learn integrate with Zoho Connect,People,Workdrive,Project,Desk?

                                                                                                              Can we propose Zoho LEarn as a centralised Knowledge Portal tool that can get synched with the other Zoho products and serve as a central Knowledge repository?
                                                                                                            • Zoho Commerce - Enable Company Name and Tax Number collection for B2B orders in Global Edition

                                                                                                              Please enable Company Name and Tax Details option on checkout settings in Zoho Commerce Global Edition. It is still important to collect Company Name and Tax Number for B2B sales in many countries. My business is based in Ireland (in the EU) and I have
                                                                                                            • Zoho CRM: how can I control which contacts to sync with Outlook?

                                                                                                              I was just playing around syncing contacts from Zoho to MS Outlook (MS365 account.) The problem is our firm has hundreds of thousands of contacts and I don't want to bury my contacts list in outlook. Any help with this is greatly appreciated.
                                                                                                            • ZohoSign and ZohoBooks Integration/Workflow

                                                                                                              Hello All, We utilize ZohoSign for signatures on tax eFiles. We utilize Dynamic KBA. Additionally, we use ZohoBooks for invoicing for these services. Is there a way to accomplish the following: Send a copy of the Tax Return, Invoice and eFiles in one
                                                                                                            • Manage monthly tasks with projectsf

                                                                                                              Hi All I run a finance and operations team where we need both teams to complete monthly tasks to ensure we hit our deadlines. Can Zoho projects be used for this. There many finance focused tools but we have Zoho one so want to explore Thanks Will
                                                                                                            • Zoho Suite is very slow

                                                                                                              Since today Zoho is incredibly slow over all applications! What's going on?
                                                                                                            • How can I track which zoho users are actively using Zoho CRM

                                                                                                              I have several licenses of Zoho CRM. We now need to add a new user. I could purchase a new license, but before I do, I would like to see if any of our existing users are not actively using the license assigned to them. How can I determine the activity
                                                                                                            • Is anyone else having trouble saving a custom image in their email signature, or is it just me?

                                                                                                              When I try to save the image I get an error that says "Operation Failed" I opened a support ticket two weeks ago and received a response that it would be debugged, but it still isn’t working
                                                                                                            • Combine and hide invoice lines

                                                                                                              In quickbooks we are able to create a invoice line that combines and hides invoices lines below. eg. Brochure design         $1000 (total of lines below, the client can see this line) Graphic Design           $600 (hidden but entered to reporting and
                                                                                                            • Option to Disable Knowledge Base Section in Feedback Widget Popup Hello Zoho Desk Team

                                                                                                              Hello Zoho Desk Team, How are you? We are actively using Zoho Desk and would like to make more use of the Feedback Widget. One of the ways we implement it is through the popup option. At the moment, the popup always displays the Knowledge Base section,
                                                                                                            • The Social Wall: August 2025

                                                                                                              Hello everyone, As summer ends, Zoho Social is gearing up for some exciting, bigger updates lined up for the months ahead. While those are in the works, we rolled out a few handy feature updates in August to keep your social media management running smoothly.
                                                                                                            • Change scheduling emails time

                                                                                                              When sending an individual email there is a great feature to schedule them to send later. I could only use the one time that is suggested. Is there a way to select another time? Regards, Glenn
                                                                                                            • Transaction Locking with the dynamic date

                                                                                                              Is it possible to dynamically update dates on transaction locking. We want to lock transaction x days from today
                                                                                                            • Zoho Devops

                                                                                                              We have a Zoho one account which we have integrated with an SAS educational product, sold on a subscription model, using webhooks and API calls. We make some use of custom fields and cross module lookups and relationships. We utilize CRM, Books and billing
                                                                                                            • Fuel up your sales with the Zoho SalesIQ + Bigin integration

                                                                                                              Hi everyone! We’re happy to bring you the all-new Zoho SalesIQ + Bigin integration. With this, every prospect from your website instantly becomes a contact in Bigin, complete with transcripts and follow-up tasks, so you never lose a lead again. Let's
                                                                                                            • Add a 'Log a Call' link to three dot icon in Canvas

                                                                                                              Hi, There's a three dot element when creating a canvas called 'More'. I would like to modify this to add a link that says 'Log a Call' in order to quickly record the details of a cellphone call. I'd also like this to be a simple 'contact' selection and
                                                                                                            • Next Page