Power of Automation :: Streamline notification on Zoho Cliq channel on project creation.

Power of Automation :: Streamline notification on Zoho Cliq channel on project creation.

Hello Everyone,

A Custom function is a user-written set of code to achieve a specific requirement. Set the required conditions needed as when to trigger using the Workflow rules (be it Tasks / Project) and associate the custom function to it.

One of our customers would like to get notified in the Cliq channel once the project is created along with the project owner, creator and project prefix id details. We already have a Gallery custom function available with the name - Send message to Cliq channel. Minor changes have been implemented to incorporate the project owner's information into the Gallery code, fulfilling the customer's requirement.

Below custom function should be associated with the Project workflow rule along with the trigger condition as "on creation" so that once the project is created, notification would be triggered in the mapped Cliq channel.

Custom function code:-

projectCreateContent = "[user] has created a new project [projId] [projectName] and assigned [projectOwner] as the owner of the Project";
projectUpdateContent = "*[user]* has updated the [action] of the project [projId] from *[pre-value]* to *[post-value]*";
projectBulkUpdateContent = "*[user]* has updated project [projId]";
projectBulkUpdateSubContent = "[action] from *[pre-value]* to *[post-value]*";
projectDeleteContent = "*[user]* has deleted the project *[projectName]*";
projectsDomainURL = "https://projectsapi.zoho.com/restapi";
messageContent = "";
if(!projectAffectedFields.isNull() && projectAffectedFields.contains("edits"))
{
action = projectAffectedFields.get("action");
user = projectAffectedFields.get("user");
projectDetailResp = invokeurl
[
url :"https://projects.zoho.com/restapi/portal/" + portalId + "/projects/" + projectId + "/"
type :GET
connection:"xxxxxxxxx"
];
projectInfo = projectDetailResp.get("projects").get(0);
if(action == "Creation")
{
url = "[" + projectInfo.get("key") + "]";
projectCreateContent = projectCreateContent.replaceAll("[user]",user.get("name"),true);
projectCreateContent = projectCreateContent.replaceAll("[projId]",url,true);
projectCreateContent = projectCreateContent.replaceAll("[projectName]",projectName,true);
messageContent = projectCreateContent.replaceAll("[projectOwner]",owner,true);
}
else if(action == "Update")
{
if(projectAffectedFields.get("edits").size() == 1)
{
url = "[" + projectInfo.get("key") + "]";
projectBulkUpdateContent = projectBulkUpdateContent.replaceAll("[taskId]",url,true);
projectBulkUpdateContent = projectBulkUpdateContent.replaceAll("[user]",user.get("name"),true);
for each fields in projectAffectedFields.get('edits')
{
subcontent = projectBulkUpdateSubContent;
projectBulkUpdateSubContent=projectBulkUpdateSubContent.replaceAll("[action]",fields.get("field_name"),true);
projectBulkUpdateSubContent=projectBulkUpdateSubContent.replaceAll("[pre-value]",fields.get("old_value"),true);
projectBulkUpdateSubContent=projectBulkUpdateSubContent.replaceAll("[post-value]",fields.get("new_value"),true);
projectBulkUpdateContent=projectBulkUpdateContent + " " + projectBulkUpdateSubContent;
}
messageContent = projectBulkUpdateContent;
}
else
{
fields = projectAffectedFields.get("edits").get(0);
projectUpdateContent = projectUpdateContent.replaceAll("[user]",user.get("name"),true);
projectUpdateContent = projectUpdateContent.replaceAll("[action]",fields.get("field_name"),true);
projectUpdateContent = projectUpdateContent.replaceAll("[pre-value]",fields.get("old_value"),true);
projectUpdateContent = projectUpdateContent.replaceAll("[post-value]",fields.get("new_value"),true);
messageContent = projectUpdateContent;
}
}
else if(action == "Deletion")
{
projectDeleteContent = projectDeleteContent.replaceAll("[user]",user.get("name"),true);
messageContent = projectDeleteContent.replaceAll("[projectName]",projectName,true);
}
}
info "message:" + messageContent;
chat = zoho.cliq.postToChannel("channel name",messageContent,"yyyyyyyyy");
info chat;
return "success";

Make sure to replace xxxxxxxxx with Zoho Projects connection name and yyyyyyyyy with Zoho Cliq connection name in the above code. Also, update "channel name" with the Zoho Cliq channel name. Screenshot of the list of parameters to be mapped is attached for reference.

With the custom function code provided above, allowed our customer to efficiently utilize Project custom functions within Zoho Projects. This facilitated the monitoring of project creation in the Zoho Cliq channel, ultimately boosting their business productivity.

We hope you found this post useful. If you have any questions or wondering if your requirement could be met using custom functions, feel free to share them in the comments section below.




                            Zoho Desk Resources

                            • Desk Community Learning Series


                            • Digest


                            • Functions


                            • Meetups


                            • Kbase


                            • Resources


                            • Glossary


                            • Desk Marketplace


                            • MVP Corner


                            • Word of the Day



                                Zoho Marketing Automation
                                        • Sticky Posts

                                        • Share Captured Content as Work Items with Zoho Annotator for Zoho Projects

                                          Zoho Annotator is a free browser extension to annotate web pages and images. The extension allows users to: capture, annotate, and share visual content within Zoho Projects. create tasks, issues, or statuses with annotated images or videos as attachments
                                        • Auto-update the Successor Task Status.

                                          Hello folks! We have come up with a new use case for custom function to help you automate the workflow of your tasks. Users can write their own Custom Functions using deluge and call them from a workflow. Consider a scenario where the status of the successor
                                        • Collaborate Visually with Whiteboard in Zoho Projects

                                          Whiteboard in Zoho Projects allows you to collaborate visually by creating diagrams, annotating designs, and sketching project workflows using shapes, text, and images within project modules. Team members can work simultaneously, improving productivity
                                        • Introducing Projects 8.0 - Focusing on Ease-of-Use and New Features

                                          Hello everyone! It's time for the reveal of the 8th version of Zoho Projects! This year our focus has been on minimizing the learning curve and improving the ease-of-use of the tool, so anyone new to Projects can hit the ground running and existing users
                                        • Manage Documents with SharePoint Extension in Zoho Projects

                                          SharePoint is a digital platform to store and manage your documents. Multiple users can work on the same document simultaneously, which enhances your team's productivity. By installing the extension in Zoho Projects, users can access the documents seamlessly


                                        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