Records Updates using Workflow-Triggered Deluge Functions

Records Updates using Workflow-Triggered Deluge Functions

Hey !
Happy New Year everyone, and welcome to the first Kaizen of 2024!

In this week's Kaizen, we will address this query raised in our developer community on how a workflow triggers a Deluge function to update the status of a field in related records after the associated parent record is deleted.

------------------------------------------------------------------------------------------------------------------------------------

Use Case

The user creates a function and associates it with a workflow, which will be triggered automatically when a record in the Purchase Orders module is deleted. The function updates the value of the Stock Status field in each related record i.e. the records in the Stock Records custom module that are associated with the Purchase Orders module. This eliminates the need for users to manually change the status of each stock associated with the deleted parent record from Occupied to Available. Consequently, this ensures that available stocks can be readily identified for other customers.

API Enhancement

From V6 onwards, you can fetch the related records of a deleted record using the Get Related Records of a Deleted Record API. It is important to note that this API allows the retrieval of related records associated via lookups. For more detailed information, please refer to the API help documentation.

Retrieving the related record of a deleted parent record using API

Sample




Create a custom function and associate with the workflow

To implement this automated workflow, a custom function can be executed.
n = 1000; //Upto 100,000 records can be fetched. In our case, we are fetching 100 records in a single call, so the code iterates 1,000 times.
counter = leftpad("1",n).replaceAll(" ","1,").toList();
i = 1;
for each  el in counter
{
reqUrl = "https://www.zohoapis.com/crm/v6/Purchase_Orders/deleted/" + poid.toString() + "/Stock_Records1?fields=Stock_Status&page=" + i.toString() + "&per_page=100";
response = invokeurl
[
url :reqUrl
type :GET
connection:"zohocrm"
];
lis = List();
i = i + 1;
for each  stockList in response.get("data")
{
idData = stockList.get("id");
mp = Map();
mp.put("Stock_Status","Available");
mp.put("id",idData);
lis.add(mp);
}
updRes = zoho.crm.bulkUpdate("Stock_Records",lis);
if(!response.get("info").get("more_records"))
{
break;
}
}


The script initiates an API call to retrieve the unique IDs of deleted records in the Purchase Orders module. The URL includes parameters for the page number and records per page, and the response is stored in the response variable. 

The script iteratively fetches stock records associated with the deleted purchase order, updating the Stock Status for each record to Available in bulk operations. The loop continues until the more_records value in the response is false, represents the completion of record retrieval. Note that you can fetch 100000 records using pagination.

Associating the function with a workflow

The Workflow updates the value of the Stock Status field in the related records when a record in the Purchase Orders module is deleted.

The below GIF shows how to associate the function with a newly created workflow.



For more details, refer to Configuring Workflow Rules

The GIF below illustrates the final output:
The GIF demonstrates the functionality and execution of the code.



We trust that this post meets your needs and is helpful. Let us know your thoughts in the comment section or reach out to us at support@zohocrm.com

Stay tuned for more insights in our upcoming Kaizen posts!

Happy Coding!

Previous Kaizen Post : Kaizen #118 - Mass Delete Records Across Modules 


Cheers!
------------------------------------------------------------------------------------------------------------------------------------

Additional Reading:





                            Zoho Desk Resources

                            • Desk Community Learning Series


                            • Digest


                            • Functions


                            • Meetups


                            • Kbase


                            • Resources


                            • Glossary


                            • Desk Marketplace


                            • MVP Corner


                            • Word of the Day



                                Zoho Marketing Automation


                                        Manage your brands on social media



                                              Zoho TeamInbox Resources

                                                Zoho DataPrep Resources



                                                  Zoho CRM Plus Resources

                                                    Zoho Books Resources


                                                      Zoho Subscriptions Resources

                                                        Zoho Projects Resources


                                                          Zoho Sprints Resources


                                                            Qntrl Resources


                                                              Zoho Creator Resources


                                                                Zoho WorkDrive Resources



                                                                  Zoho Campaigns Resources

                                                                    Zoho CRM Resources

                                                                    • CRM Community Learning Series

                                                                      CRM Community Learning Series


                                                                    • Tips

                                                                      Tips

                                                                    • 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