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:

    Access your files securely from anywhere

        Zoho Developer Community




                                  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 Campaigns 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