Kaizen #144 - Assigning values to different field types using Zoho CRM SDKs - Part II

Kaizen #144 - Assigning values to different field types using Zoho CRM SDKs - Part II



Welcome to another week of our Kaizen series! 

In our last week's Kaizen post, we explored the various field types in Zoho CRM and their typical uses. We also discussed the utility of our SDK sample codes available in our GitHub repositories and how they can be tailored to meet your specific needs. For effective implementation, understanding how to assign values to these different field types using the SDK is crucial, which remains our primary focus in this series.

Last week, we covered this topic using our JAVA SDK. This week, we will discuss assigning values using PHP SDK. To make sure you are all caught up, please revisit Part I before proceeding further.

2. PHP SDK

For more details, please refer to the GitHub repository for our latest PHP SDK. Check out the sample codes here.

Standard Fields:

a. Import the Field Class:
  1. use com\zoho\crm\api\record\{module_api_name};
b. Assign Values to Standard Fields: The syntax for assigning values to standard fields uses the addFieldValue method of the Record object:
  1. $record->addFieldValue({module_api_name}::{field_api_name}(), value);
Replace {module_api_name} and {field_api_name} with the appropriate values for your specific use case. 

Assigning values to Standard Fields:

Field Type
JSON Type
Assign Values Assign Null Value
text (single line)
string 
$record->addFieldValue(Leads::LastName(), "Boyle"); $record->addFieldValue(Leads::LastName(), null);
textarea (multiline)
string
$record->addFieldValue(Leads::Description(), "Specify your description") $record->addFieldValue(Leads::Description(), null);
email
string
$record->addFieldValue(Leads::Email(), "abc@zoho.com"); $record->addFieldValue(Leads::Email(), null);
phone
string
$record->addFieldValue(Leads::Phone(), "91(987)654321"); $record->addFieldValue(Leads::Phone(), null);
picklist
string
$record->addFieldValue(Leads::LeadStatus(), new Choice("Not Contacted")); --
date
string
$record->addFieldValue(Products::Sales_Start_Date(), new DateTime(2024, 6, 13).Date); $record->addFieldValue(Products::Sales_Start_Date(), null);
integer (number)
integer
$record->addFieldValue(Accounts::Employees(), 100); $record->addFieldValue(Accounts::Employees(), 100);
currency (double)
double
$record->addFieldValue(Leads::AnnualRevenue(), 10.00); $record->addFieldValue(Leads::AnnualRevenue(), null);
boolean (checkbox) boolean $record->addFieldValue(Leads::EmailOptOut(), true); --
website (URL)
string
$record->addFieldValue(Leads::Website(), "https://www.zoho.com"); $record->addFieldValue(Leads::Website(), null);

Custom Fields:

To manage custom fields using PHP SDK: a. Import the Record Class:
  1. use com\zoho\crm\api\record\Record;
  2. $record = new Record();
b. Assign Values to Custom Fields: The syntax for assigning values to standard fields uses the AddKeyValue method of the Record object:
  1. $record->addKeyValue("{field_api_name}", value);
Replace {field_api_name} with the appropriate values for your specific use case. 

Assigning values to Custom Fields:

Field Type
JSON Type
Assign Value
Assign Null Value
text (single line)
string 
$record->addKeyValue("Single_Line_Field", "Text Single Line");
$record->addKeyValue("Single_Line_Field", null);
textarea (multiline)
string
$record->addKeyValue("Multi_Line_Field", "Text Multi Line");
$record->addKeyValue("Multi_Line_Field", null);
email
string
$record->addKeyValue("Email_Field", "abc@zoho.com");
$record->addKeyValue("Email_Field", null);
phone
string
$record->addKeyValue("Phone_Field", "9900000000");
$record->addKeyValue("Phone_Field", null);
picklist
string
$record->addKeyValue("Pick_List_Field", new Choice("Option 1"));
$record->addKeyValue("Pick_List_Field", null);
multiselectpicklist
JSON array
$record->addKeyValue("Multi_Select_Field", [new Choice("Option 1"), new Choice("Option 2")]);
$record->addKeyValue("Multi_Select_Field", null);
date
string
$record->addKeyValue("Date_Field", (new \DateTime('2024-06-13')));
$record->addKeyValue("Date_Field", null);
datetime
string
$record->addKeyValue("Date_Time_Field", date_create("2024-06-20T11:10:00+05:30")->setTimezone(new \DateTimeZone(date_default_timezone_get())));
$record->addKeyValue("Date_Time_Field", null);
integer (number)
integer
$record->addKeyValue("Number_Field", 12);
$record->addKeyValue("Number_Field", null);
currency (double)
double
$record->addKeyValue("Currency_Field", 10.25);
$record->addKeyValue("Currency_Field", null);
double
double
$record->addKeyValue("Decimal_Field", 12.25);
$record->addKeyValue("Decimal_Field", null);
percent 
double
$record->addKeyValue("Percent_Field", 12.25);
$record->addKeyValue("Percent_Field", null);
bigint (long integer)
string
$record->addKeyValue("Long_Integer_Field", "12345678");
$record->addKeyValue("Long_Integer_Field", null);
boolean (checkbox)
boolean
$record->addKeyValue("Checkbox_Field", true);
--
website (URL)
string
$record->addKeyValue("URL_Field", "https://www.zoho.com");
$record->addKeyValue("URL_Field", null);
lookup
JSON Object
$account = new Record();
$account->setId("3477061000023362051");
$record->addKeyValue("Lookup_Field", $account);
$record->addKeyValue("Lookup_Field", null);
multiselectlookup
JSON array
$record1 = new Record();
$linkingRecord = new Record();
$record1->addKeyValue("id", "3477061000023362051");
$linkingRecord->addKeyValue("Multi_Select_Lookup_Field", $record1);
$record->addKeyValue("Multi_Select_Lookup_Field", [$linkingRecord]);
$linkingRecord = new Record();
$linkingRecord->addKeyValue("_delete", true);
$linkingRecord->addKeyValue("id", "3477061000023557067");
$record->addKeyValue("Multi_Select_Lookup_Field", [$linkingRecord]);
userlookup
JSON object
$user = new MinifiedUser();
$user->setId("3477061000005791024");
$record->addKeyValue("User_Field", $user);
$record->addKeyValue("User_Field", null);
multiuserlookup
JSON array
$record1= new Record();
$linkingRecord = new MinifiedUser();
$linkingRecord->setId("3477061000005791024");
$record1->addKeyValue("MultiUser", $linkingRecord);
$record->addKeyValue("MultiUser", [$record1]);
$record1 = new Record();
$record1->addKeyValue("_delete", true);
$record1->setId("3477061000023553042");
$record->addKeyValue("MultiUser", [$record1]);
subform
JSON array
$subform = new Record();
$subform->addKeyValue("Name", "SDK");
$user1 = new MinifiedUser();
$user1->setId("3477061000018959001");
$subform->addKeyValue("User_Field", $user1);
$record->addKeyValue("Subform_Field", [$subform]);
$subform = new Record();
$subform->addKeyValue("_delete", true);
$subform->setId("3477061000023557086");
$record->addKeyValue("Subform_Field", [$subform]);
imageupload
JSON array
$imageUpload = new ImageUpload();
$imageUpload->setFileIdS("138ef2d9af5");
$record->addKeyValue("Image_Upload", [$imageUpload]);
$imageUpload = new ImageUpload();
$imageUpload->setDelete(null);
$imageUpload->setId("3477061000023579023");
$record->addKeyValue("Image_Upload", [$imageUpload]);
fileupload
JSON array
$fileDetail1 = new FileDetails();
$fileDetail1->setFileIdS("54957bcbc8fa685");
$record->addKeyValue("File_Upload", [$fileDetail1]);
$fileDetail1 = new FileDetails();
$fileDetail1->setDelete(null);
$fileDetail1->setId("3477061000023551042");
$record->addKeyValue("File_Upload", [$fileDetail1]);
multi_module_lookup
JSON Object
$record1 = new Record();
$record1->setId("3477061000021552002");
$module = array();
$module["id"] = "3477061000000002179";
$module["api_name"] = "Contacts";
$record1->addKeyValue("module", $module);
$record->addKeyValue("Appointment_For", $record1);
--


We trust this post has given you a better understanding of managing field data types in Zoho CRM using our PHP SDK. Remember that this learning does not end here. We have more posts coming up where we will explore handling field data types with our remaining SDK offerings. And do not forget to check out our Github for code samples.

As we strive for continuous improvement, we would love to hear your feedback. What topics would you like to see covered in our Kaizen series? Let us know in the comments or reach out to our support team at support@zohocrm.com.

Thank you for joining us this week. Happy coding and until next time!

Recommended Reads:




    Access your files securely from anywhere







                            Zoho Developer Community




                                                  • Desk Community Learning Series


                                                  • Digest


                                                  • Functions


                                                  • Meetups


                                                  • Kbase


                                                  • Resources


                                                  • Glossary


                                                  • Desk Marketplace


                                                  • MVP Corner


                                                  • Word of the Day


                                                  • Ask the Experts



                                                            • Sticky Posts

                                                            • Kaizen #226: Using ZRC in Client Script

                                                              Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
                                                            • Kaizen #222 - Client Script Support for Notes Related List

                                                              Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
                                                            • Kaizen #217 - Actions APIs : Tasks

                                                              Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
                                                            • Kaizen #216 - Actions APIs : Email Notifications

                                                              Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are
                                                            • Kaizen #152 - Client Script Support for the new Canvas Record Forms

                                                              Hello everyone! Have you ever wanted to trigger actions on click of a canvas button, icon, or text mandatory forms in Create/Edit and Clone Pages? Have you ever wanted to control how elements behave on the new Canvas Record Forms? This can be achieved


                                                            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

                                                                                              Get Started. Write Away!

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

                                                                                                Zoho CRM コンテンツ



                                                                                                  Nederlandse Hulpbronnen


                                                                                                      ご検討中の方




                                                                                                              • Recent Topics

                                                                                                              • 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
                                                                                                              • Integrating with My Own Application and ZOHO CRM Simultaneously

                                                                                                                I have my own WhatsApp bot that uses my WhatsApp business account. I want to use the same phone number to integrate with ZOHO as well. What is the recommended way to do that? Should I integrate my application with ZOHO, forwarding messages whenever the
                                                                                                              • How do i move multiple tickets to a different department?

                                                                                                                Hello, i have several tickets that have been assigned to the wrong department.  I am talking about hundreds of automatically generated ones that come from a separate system. How can i select them all at once to move them to another department in one go? I can select them in "unsassigned open tickets view" but i can't find a "move to another department" option. I also can't seem to assign multiple tickets to the same agent in that same view. Could somebody advice?
                                                                                                              • Account for Cryptocurrency Holdings in Zoho Books/Custom Currencies?

                                                                                                                Hello, I've recently started using Zoho to run my small business and I've really been enjoying all of its features. However, I've been struggling to find a way to account for cryptocurrencies in Zoho Books. My company mines a Cryptocurrency token called
                                                                                                              • Transferring CRM Attachments to Workdrive

                                                                                                                relatedrecords = zoho.crm.getRelatedRecords("Attachments","Conditions",conId); attachid = List(); for each ele in relatedrecords { attachementId = ele.get("id"); attachid.add(attachementId); } for each ele in attachid { counter = 1; downloadFile = invokeurl [ url: "https://www.zohoapis.com/crm/v2/Conditions/" + conId + "/Attachments/" + ele type: GET connection : "work_drive" ]; resp2 = zoho.crm.attachFile("Deals",dealId,downloadFile); resp3 = zoho.workdrive.uploadFile(downloadFile, dealWD, "PlaceHolder"+counter+"",
                                                                                                              • New Customization options in the module builder: Quick Create and Detail view

                                                                                                                Hello everyone, We have introduced two new components to the module builder: Quick create and Detail view. The Quick Create Component It is a mini form used to create a record and associate it to the parent record from a lookup field. For example, if you have a Deals lookup in the Contacts module, then you can associate existing deals or create a deal and associate it with the contact. You can customize this Quick Create form by adding standard as well as custom fields. There is no limit to the number
                                                                                                              • unblock my zoho mail account. outlines@zoho.com

                                                                                                                please unblock my zoho mail account, outlines@zoho.com
                                                                                                              • 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
                                                                                                              • Mailk got blocked / Inquiry About Email Sending Limits and Upgrade Options

                                                                                                                Dear Zoho Support Team, My name is Kamr Elsayed I created this account to use for applying for vocational training in Germany. As part of this process, I send multiple emails to different companies. However, after sending only 8 emails today, I received
                                                                                                              • Forwarder

                                                                                                                Hi, I tried to add a forwarder from which emails are sent to my main zoho account email . However, it asks me for a code that should be received at the forwarder email, which is still not activated to send to my zoho emial account. So how can I get the
                                                                                                              • No chat option

                                                                                                                Chat option is not supported.
                                                                                                              • Direct “Add to Google Calendar” Option in Zoho Meeting

                                                                                                                Hello Zoho Meeting Team, Hope you are doing well. We would like to request an enhancement related to the “Add to Calendar” functionality in Zoho Meeting. Currently, when we open Zoho Meeting and view our meetings under My Calendar, there is an Add to
                                                                                                              • DKIM cannot be enabled for the domain as no verified default selector present

                                                                                                                Hi Support Team, For Domain DKIM record trying to enable status. but showing error "DKIM cannot be enabled for the domain as no verified default selector present" So, please resolve the issue. Thank you.
                                                                                                              • unable to send message reason 554 5.1.8 Email outgoing blocked

                                                                                                                unable to send message reason 554 5.1.8 Email outgoing blocked
                                                                                                              • I can't log in to my account on Thunderbird

                                                                                                                I've just had to rebuild my PC (calamitous mess from Microsoft with Win10/Win 11 'upgrade' - they confirmed I had to start with a new build). I have used Zoho mail for years via Mozilla Thunderbird, but now I've had to download the latest version of TBird,
                                                                                                              • Should I Use DMARC?

                                                                                                                When I configure Zoho Mail's DMARC settings, it's mandatory to fill in the RUA and RUF (Aggregate notification email address*, Forensic notification email address*) addresses. When we enter an email address in these fields, we receive reports from the
                                                                                                              • Introducing Profile Summary: Faster Candidate Insights with Zia

                                                                                                                We’re excited to launch Profile Summary, a powerful new feature in Zoho Recruit that transforms how you review candidate profiles. What used to take minutes of resume scanning can now be assessed in seconds—thanks to Zia. A Quick Example Say you’re hiring
                                                                                                              • Books API Receiving an Error that Doesn't Make Sense when Creating Credit Note - trying to use 'ignore_auto_number_generation' argument

                                                                                                                Hello, I'm working on a newly created routine and I'm getting an error that doesn't make sense when trying to create a new Credit Note. Here is my POST request. Endpoint: https://www.zohoapis.com/books/v3/creditnotes?organization_id=########## Body:     {
                                                                                                              • How to move emails to Shared Mailbox?

                                                                                                                Hello, I created a Shred Mailbox instead of using a distribution group. But I cannot move previous emails to certain shared mailbox. Is it possible move some emails from inbox to shared mailbox?
                                                                                                              • Collaboration with free plan user.

                                                                                                                Hello. Do both users need to be on Pro plan to collaborate? Or can a Pro user share a note with a free plan user with the ability to edit?
                                                                                                              • Connection to other user

                                                                                                                Zoho Cliq handles sharing of Custom OAuth Connections that require individual user logins.
                                                                                                              • Analytics Portal

                                                                                                                I have the "standard plan" and want to explore the portal option; I activated the 15-day trial but do not see the pricing for the add-on. How can I get the price under "Upgrade add-ons." Thanks Rudy
                                                                                                              • Can I filter a Lookup field to only show related records from another Lookup in Zoho CRM?

                                                                                                                In our Leads module, we have two Lookup fields: Recruitment Agency – the agency that the lead came from Recruiter – the individual contact from that agency who sent us the lead Both fields link correctly to their respective records in CRM. However, our
                                                                                                              • Zoho Books API invoice email bouncing with 'relaying-issues' error

                                                                                                                I have waited over 30 days for zoho books uk to assist with the following and i have had no replies or tickets erronously closed. The service has been terrible - very unlike zoho! So i am raising this here hoping that a community member can assist: Hello,
                                                                                                              • 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
                                                                                                              • Zoho Writer to Zoho Sign Template Misalignment – Request for Community

                                                                                                                We are currently facing a critical issue impacting our live business operations due to a misalignment problem between Zoho Writer templates and Zoho Sign output. Issue Summary: We have an automated workflow in Zoho CRM using Deluge scripts that generates
                                                                                                              • Migration Tool Download

                                                                                                                Since apparently you have to ask for the migration tool to download (why?), I need the download for the migration tool for exchange servers. Please forward link, thanks.
                                                                                                              • IF Formula

                                                                                                                Hi, I'm having trouble setting up a custom formula in a field. Can you help me with it? The formula should do the following: If the created date is less or equal to 30 days the field should display a string New in pieline or Exisitng pipeline if above
                                                                                                              • Autorespond to one specific sender

                                                                                                                Is there any way to create a rule or filter that sends an automatic reply to messages from one specific email address?  I really need to set up something like a "vacation response" but only for one "received from" address.
                                                                                                              • View comprehensive logs of all actions in Custom Module History

                                                                                                                Hello everyone, We are happy to announce our new feature, Detail View in Custom Module History, which enhances visibility, control and accountability over your records. Users can now access a detailed timeline of every action that has been performed on
                                                                                                              • Track ZohoForm Conversion using Postmessage event

                                                                                                                Hi, I’ve been using a third-party lead tracking tool to capture leads from my website along with their source. Earlier, with the HubSpot form, the third-party script was able to detect the postMessage event that iframe forms typically send back to the
                                                                                                              • Email task creator when task is updated/marked complete

                                                                                                                I am looking for a way to notify the creator of a task in zoho todo when - Task is updated Task is closed Comments entered 1 and 2 are critical, and I cannot find a zoho flow to do this. There is no way that as a manager I will know when someone has completed
                                                                                                              • Email Recall Feature In Zoho Mail Which Should Also Work For Outside Organisation Members

                                                                                                                Add a feature to recall or undo sending an email within a configurable short time window (e.g., 30 seconds to 2 minutes) after hitting send, similar to Gmail’s undo send. Currently the sent email can not be recall If the recipient is not from within your
                                                                                                              • how to treat a same person as customer and vendor in zoho

                                                                                                                hi team, in my company, few persons acting as creditors as well as debtors (which means sometimes we pay them... some times we paid by them). in that case i would like to maintain a same ledger for that person.in zoho books it is treating creditor and
                                                                                                              • How to implement calculating average value of averaged values?

                                                                                                                Hi, I'm trying to implement a formula in my layout for a module that calculates the average of 2 averaged values, but I can't do so using the formula custom field. To calculate the 2 averaged values, I could use the formula custom field, but in the custom
                                                                                                              • Zoho Recruit update published job boards

                                                                                                                If we have a job thats already posted on several different job boards and we edit this job in zoho recruit (e.g. the description of the job), does this then automatically update this new information to all the published job boards?  If not, how does the
                                                                                                              • Narrative 14: The magic bazaar of Desk

                                                                                                                Behind the scenes of a successful ticketing system: BTS Series Narrative 14: The magic bazaar of Desk Marketplace is a centralized platform where users can discover Zoho and third-party applications that can be integrated with their Desk account to facilitate
                                                                                                              • Collections Management: #2 Late Payment Automation

                                                                                                                "Sir, I'll process the payment by evening, please don't apply any late payment charges", the customer said while arranging papers on his desk. Sanjay stood there with a tired smile. He had already visited twice that week. Payment collection was one thing.
                                                                                                              • Create a table in the layout section of modules

                                                                                                                Dear Sirs, I would like to know whether is possible to create a table under new fields in layouts section of modules. In fact in this section there are single line, multi line, pick list, multi-select, date, formula etc. but I am unable to add a table
                                                                                                              • Nimble enhancements to WhatsApp for Business integration in Zoho CRM: Enjoy context and clarity in business messaging

                                                                                                                Dear Customers, We hope you're well! WhatsApp for business is a renowned business messaging platform that takes your business closer to your customers; it gives your business the power of personalized outreach. Using the WhatsApp for Business integration
                                                                                                              • Next Page