Kaizen #8 - Handling Recurrence and Participants in the Events Module via API

Kaizen #8 - Handling Recurrence and Participants in the Events Module via API

Hello everyone!

We are back this week with an exciting post—Handling recurrence and participants in the Events module through API.

First things first—What is the Events module?
"Events" is a part of the Activities module in Zoho CRM. 
An event is an activity that happens at a given place and time. You can find Events on the user's Zoho CRM's home page, Activities home page, Calendar, and in other related records.

What are the types of Events?
Events are of two types—Recurring and non-recurring events.
Recurring events: These events repeat/recur at a set frequency. You can set them to repeat by day, week, month, or by year. You can also set them to repeat a fixed number of times. 
Non-recurring events: These are one-time events.
Both these events can also be all-day events.

Now, let us see how to handle a recurring event and add/update participants via API.

1. Creating a Recurring Event through API
You must use the Insert Records API to insert a record in the Events module.

Request URL: {{api-domain}}/crm/v2/Events
Request method: POST

Sample input to create a recurring event that repeats every two weeks

{
    "data": [
        {
            "All_Day": false,
            "Event_Title": "Kaizen_9_Weekly",
            "Start_DateTime": "2020-02-02T10:00:00+05:30",
            "End_DateTime": "2020-02-02T11:00:00+05:30",
            "Participants": [
                {
                    "type": "contact",
                    "participant": "3652397000001281003"
                },
                {
                    "type": "lead",
                    "participant": "3652397000000415063"
                },
                {
                    "type": "user",
                    "participant": "3652397000000186017"
                }
            ],
            "Recurring_Activity": {
                "RRULE": "FREQ=WEEKLY;BYDAY=SU;INTERVAL=2;UNTIL=2020-03-15"
            },
            "Remind_At": "2020-02-01T09:45:00+05:30",
            "Who_Id": {
                "id": "3652397000000649013",
                "name": "Patricia Boyle"
            },
            "Venue": "Chennai",
            "$se_module": "Accounts",
            "What_Id": "3652397000000624046",
            "$send_notification": true
        }
    ]
}


Mandatory keys
The following table lists the mandatory fields you must specify while creating a recurring event. Not including any one of these fields results in the MANDATORY_NOT_FOUND error.

Key
Data Type
Description
Event_Title
String
Title of the event. Accepts a maximum of 255 characters, alphanumeric, and special characters. 
Start_DateTime
DateTime
The date and time (in ISO8601 format) at which the event begins. 
End_DateTime
DateTime
The date and time (in ISO8601 format) at which the event ends. 
Recurring_Activity
JSON Object
JSON Object that contains information about the recurrence pattern of the event in the key "RRULE".

Other Keys

Key
Data Type
Description
All_day
Boolean
Represents if the event takes place all day.
Participants
JSON Array
Contains the ID and type of each participant in individual JSON objects. Possible participant types are "lead", "contact", "user", and "email".
Remind_At
DateTime
The date and time in the current user's time zone (in ISO8601 format) at which a reminder is sent to the participants. 
Who_Id
JSON Object
The name and ID of the contact that the event is related to; that contact may or may not be a participant of the event.
What_Id
JSON Object
The name and ID of the Account, Deal, Product, Quote, Invoice, Campaign, Vendor, Case, Purchase Order, or Sales Order that the event is created for.
$se_module
String
The API name of the parent module given in the key "What_Id". This key is mandatory when you include the "What_Id".
Venue
String
The place where the event takes place. Accepts a maximum of 255 characters, alphanumeric, and special characters.
$send_notification
Boolean
Represents if you want to send invitations to the participants of the event. The value true sends out invitations, and false does not. 

We will now discuss the Participants and RRULE keys in detail.

1.1 Participants
The Participants key is a JSON array of participant JSON objects. You can add four types of participants to an event—lead, contact, user, and email. 
You must include each of these participant types as individual JSON objects inside this array as shown below.

"Participants": [
        {
            "type": "contact",
            "participant": "3652397000001281003"
        },
        {
            "type": "lead",
            "participant": "3652397000000415063"
        },
        {
            "type": "user",
            "participant": "3652397000000186017"
        },
        {
            "type": "email",
            "participant": "carissa-kidman@yahoo.com"
        }
]

Where, 
type - The type of participant. The possible values are lead, contact, user, email
participant -  The record ID of the lead, contact, or user.

1.2 RRULE
RRULE is the key in the Recurring_Activity JSON object that determines the recurrence pattern of the event. 
RRULE holds multiple key-value pairs for different types of recurring events (i.e Daily, Weekly, Monthly, Yearly). You must separate each key-value pair by a semicolon.

Mandatory key-value pairs for RRULE
Key
Possible Values
Description
FREQ
DAILY, WEEKLY, MONTHLY, YEARLY
Frequency; represents how often the event repeats. 
INTERVAL
1–99
The gap between each event. For example, for a weekly recurring event, if the INTERVAL value is 2, the gap between the first and the next event will be two weeks. 
COUNT
1–99
The number of events you want to create. For example, if the COUNT value is 3, three events will be created. 

Note
You must specify FREQ and (INTERVAL or COUNT) in RRULE.

Other key-value pairs in RRULE
Key
Possible Values
Description
BYMONTHDAY
1–31
The day of the month the event repeats on. Applicable only for  monthly and yearly events.
BYDAY
SU, MO, TU, WE, TH, FR, SA
The day of the week the event repeats on. Applicable for daily, weekly, monthly, and yearly events.
BYSETPOS
1, 2, 3, 4, -1 
The week of the month the event repeats in.
Applicable only for monthly and yearly events.
1 - Event repeats every first week of the month
2 - Event repeats every second week of the month
3 - Event repeats every third week of the month
4 - Event repeats every fourth week of the month
-1 - Event repeats every last week of the month.
UNTIL
Date in yyyy-MM-dd format
The date until which the event must repeat.

Therefore, according to the sample input given at the beginning of the post, the event starts on Feb 2, 2020 at 10:00 AM and ends the same day at 11:00 AM.

According to  "RRULE":"FREQ=WEEKLY;BYDAY=SU;INTERVAL=2;UNTIL=2020-03-15", the event occurs every Sunday, with an interval of 14 days (2 weeks), and recurs until Mar 15, 2020.
Therefore, the sequence is as shown below.
  1. The event begins on Feb 2, 2020.
  2. The first recurring event happens on Feb 16, 2020.
  3. The second recurring event happens on Mar 1, 2020.
  4. The last recurring event happens on Mar 15, 2020.
Therefore, the response will have four JSON objects—one for the first event as specified in the Start_DateTime key, and one for each recurring event.

Note
You can only create one set of recurring events using the RRULE in a single API call.

A few other examples of RRULE:
  • "RRULE": "FREQ=MONTHLY;COUNT=3;BYDAY=WE;BYSETPOS=2".
    This RRULE creates three events that recur every Wednesday in the second week of the month.
  • "RRULE": "FREQ=MONTHLY;INTERVAL=2;COUNT=3;BYMONTHDAY=14".
    This RRULE creates three events that recur on the 14th day of the month, and repeat once in two months.

2. Updating an Event
You must use the Update Specific Record API to update an event.
In this section, we will discuss
  1. Adding a participant to an event
  2. Updating all future events
2.1 . Adding a participant to an event
Details you need to add a participant to an event
  1. The event's record ID. You can obtain this from the response you received while creating the event.
  2. The ID of the participants that are added already. The GET Specific Event response will have a unique ID for each participant in the "Participants" JSON array.
The sample input is as follows.

{
    "data": [
        {
            "All_Day": false,
            "Event_Title": "Kaizen_10_Weekly",
            "Start_DateTime": "2020-02-02T11:00:00+05:30",
            "End_DateTime": "2020-02-02T12:00:00+05:30",
            "Participants": [
                {
                    "type": "contact",
                    "participant": "3652397000001281003",
                    "id": "3652397000001326102"
                },
                {
                    "type": "lead",
                    "participant": "3652397000000415063",
                    "id": "3652397000001326100"
                },
                {
                    "type": "user",
                    "participant": "3652397000000186017",
                    "id": "3652397000001326098"
                },
                {
                    "type": "email",
                    "participant": "john-butt@gmail.com"
                }
            ],
            "Remind_At": "2020-02-01T10:45:00+05:30",
            "$send_notification": true
        }
    ]
}
As you can see, a new participant of type email and email ID john-butt@gmail.com is added. Since the ID of the existing participant with the email ID carissa-batman@yahoo.com is not specified, it gets deleted.

Note
  • participant is the record ID of the participant (lead, contact, or user).
  • ID is the unique ID of the participant for that event.
  • While adding a participant, you must specify the IDs of other participants for the event. Otherwise, only the new participant is added, while the rest are deleted.

2.1 . Updating all future events
While updating an event, you can choose to update all future events with the new change.
Use the boolean key update_all_future_events. The value true updates all future events, and the value false updates only that particular event.
Here is a sample input.

{
    "data": [
        {
            "All_Day": false,
            "Event_Title": "Kaizen_10_Weekly",
            "Start_DateTime": "2020-02-02T11:00:00+05:30",
            "End_DateTime": "2020-02-02T12:00:00+05:30",
            "Participants": [
                {
                    "type": "contact",
                    "participant": "3652397000001281003",
                    "id": "3652397000001326102"
                },
                {
                    "type": "lead",
                    "participant": "3652397000000415063",
                    "id": "3652397000001326100"
                },
                {
                    "type": "user",
                    "participant": "3652397000000186017",
                    "id": "3652397000001326098"
                },
                {
                    "type": "email",
                    "participant": "carissa-kidman@yahoo.com"
                }
            ],
            "Remind_At": "2020-02-01T10:45:00+05:30",
            "update_all_future_events": true,
            "$send_notification": true
        }
    ]
}

Points to Note
While creating recurring events,
  • You must specify either COUNT or INTERVAL in the RRULE. Otherwise, the system creates 365-day events.
  • For WEEKLY recurring events, you must include BYDAY in RRULE. Otherwise, the system creates 365-day events that recurs weekly.

While updating a recurring event,
  • You must specify the record ID of the event you want to update. 
  • You must set the value of the key update_all_future_events to true to update all future events. Otherwise, the system updates only that event and the other recurring events that you created previously will remain unaltered.
  • While adding a participant, you must specify the IDs of other participants. Otherwise, only the new participant is added, while the rest are deleted.
  • You cannot update RRULE through the API.
  • You cannot update check-in related information through the API.

We hope you found this post useful. Please reach out to us if you have questions, or let us know in the comment section.
Cheers!
















    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


                                                                                  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

                                                                                                  • Involved account types are not applicable when create journals

                                                                                                    { "journal_date": "2016-01-31", "reference_number": "20160131", "notes": "SimplePay Payroll", "line_items": [{ "account_id": "538624000000035003", "description": "Net Pay", "amount": 26690.09, "debit_or_credit": "credit" }, { "account_id": "538624000000000403", "description": "Gross", "amount": 32000, "debit_or_credit": "debit" }, { "account_id": "538624000000000427", "description": "CPP", "amount": 1295.64, "debit_or_credit": "debit" }, { "account_id": "538624000000000376", "description":
                                                                                                  • KB Templates

                                                                                                    * It would be nice if Zoho can provide users an option to create custom templates for KB articles. Also, it would be nice as well if the users can have an option to 1.) select a default template and 2.) declare default tag/tags, for KB articles created through Ticket's resolution.
                                                                                                  • Zoho CRM Reports Module on Mobil App

                                                                                                    I have the mobile app and the reports module doesn't appear in the sidebar for some reason. I saw a Youtube video where the user had the Reports module on mobile. Is there a setting to show it on mobile? Thanks.
                                                                                                  • Contacts Don't Always Populate

                                                                                                    I've noticed that some contacts can easily be added to an email when I type their name. Other times, a contact doesn't appear even though I KNOW it is in my contact list. It is possible the ones I loaded from a spreadsheet are not an issue and the ones
                                                                                                  • Zoho Projects Android app update - List view enhancement

                                                                                                    Hello, everyone! In the latest android version(v3.9.15) of the Zoho Projects app update, we have enhanced the List view of tasks. We have also introduced a complete scroll of the tasks in the list view without scrolling the task fields(status, start date,
                                                                                                  • Print PO receipt

                                                                                                    Hi I would like to print the PO receipt. There does not seem to be any way to do this. I track batch numbers and printing the PO does not show this. Only the receipt would show the details of the receipt. Currently I print the screen which does not have
                                                                                                  • On the US Data Centre rather than the UK but dont know how to migrate it

                                                                                                    We have a new staff member with an external email address and cant add them to Zoho chat - we have been told its becuase we are in the UK but on a US Data centre - we therefore need to change it but no idea how to can anyone else as we are going round
                                                                                                  • Zoho Sheet Custom function column showing Error #EVAL!

                                                                                                    Hello I have a custom function in Zoho Sheet developed to convert a date time from one time zone to another. The custom function takes date and time columns and then using subHour( ) converts the time to PST time. However, though the custom function works,
                                                                                                  • How to add a Data Updated As Of: dynamically in text?

                                                                                                    I need to add a "Data Updated As Of" in the dashboard to show when was the last date the data was updated. I tried to create a widget but it does not look really good, see below. Is there a way I can do this through the text widget and update it automatically
                                                                                                  • Create Your Own Issue Management System

                                                                                                    Effective issue management is a cornerstone of project success. Every bug or issue, no matter how small, needs to be tracked and resolved in time to maintain project momentum. In this post, we’ll explore how an issue management system in Zoho Projects
                                                                                                  • Resource utlisation

                                                                                                    Dear Team, We use the excel for the weekly predicted people utilization how the resource are allocated , is there any way that i can use any of the zoho products.
                                                                                                  • Ask the experts - A live Q & A discussion on Zoho Recruit

                                                                                                    We are delighted to come back with another edition of Ask the Experts community series. This edition, we'll be focusing on everything about Zoho Recruit. The topics will focus on the features that are used/asked by the majority of users and also based
                                                                                                  • Bug - OTP (email) and No Duplicates

                                                                                                    Scenario: Form with an email field, Validation: "No Duplicates" (because I want to ensure 1 entry per email). Embedded form into website (JS option). Enabled email based OTP. 1st test (via my website) - entered my email address - sent OTP - entered pin,
                                                                                                  • Personal Facebook page posting instead of Business Page

                                                                                                    I have a Facebook page that is associated with my Personal Profile and I am the Admin of that Page. I would like to schedule and Post to my Personal Page not the Business Page. Each time I try to connect to the "Page" it takes me to the Business Page. Is there a way of connecting to my personal page?
                                                                                                  • Fixed asset management

                                                                                                    I want to know if there is any individual module for fixed assets management
                                                                                                  • Recording depreciation of fixed assets as a percentage of residual value

                                                                                                    In India, fixed assets are depreciated as a percentage of their residual value at the beginning of each fiscal year. I went through the documentation for creating recurring journal entries, but could only find ways to depreciate by a fixed rupee amount
                                                                                                  • Function #28: Automatically calculate Customer Loyalty points

                                                                                                    Hello everyone, and welcome back to our series! Today, we're excited to share a workflow designed to streamline the management of loyalty points. Many businesses offer incentives or rewards in the form of loyalty points to their customers as a way to
                                                                                                  • Function #6: Calculate Commissions for paid invoices

                                                                                                    Zoho Books helps you automate the process of calculating and recording commissions paid to sales persons using custom functions. We've written a script that computes the commission amount based on the percentage of commission you enter and creates an
                                                                                                  • How to Add Product SKU in Invoice?

                                                                                                    How to Add Product SKU in Invoice?
                                                                                                  • Tracking movement between departments

                                                                                                    I've been developing a reporting system in Zoho and one of the groups I want to develop a report on primarily moves tickets from department to another. Is there a way to set up the reporting on Zoho (or Zoho Reports) that can tell me the number of tickets
                                                                                                  • Zoho CRM Calendar View

                                                                                                    Hello Zoho team, We need desperately a calendar view next to list, kandan and other views. I think it should be easy to implement as you already have the logic from Projects and also from Kanban View in CRM. In calendar view when we set it up - we choose
                                                                                                  • Call transcrition working for ringcentral?

                                                                                                    I don't see anything about what telephony providers can be used. The Zoho support person A said that RingCentral isn't supported. Zoho support person B said that it works, just make sure the call recording link works. Excellent instructions here: Call
                                                                                                  • What is syntax to call creator function (or trigger a creator workflow) from CRM deluge?

                                                                                                    What is syntax to call creator function (or trigger a creator workflow) from CRM deluge?
                                                                                                  • WhatsApp and Zoho Creator Integration

                                                                                                    How we have integrate WhatsApp App with Zoho Creator without using external application ?
                                                                                                  • Improve Creator Calendar Report

                                                                                                    Please can you improve the Creator Calendar Report General There is no way to highlight certain days, for example weekends or public holidays. There is no way to hide certain days, for example weekends. There is no way to modify the day header, it just
                                                                                                  • Important updates to Zoho CRM's email deliverability

                                                                                                    Last modified on: Jul 24, 2024 These enhancements are released for all users across all data centers. Modified on: Oct 30, 2023 Organisations that are in the Enterprise and above editions of Zoho CRM, and have not authenticated their email-sending domains
                                                                                                  • Custom modules not showing in developer console

                                                                                                    I'm trying to create a custom summing function for a custom module I made in my CRM. When I go to create the function, my module isnt showing up. Do I need to share the custom moldule with my developer console or something of the like?
                                                                                                  • Chart with Filtered Data vs Unfiltered Data

                                                                                                    I am looking to create a chart view that displays the full data set vs a subset of the data filtered by user filter. However I do not seem to find any method by which to exclude a plot from the applied filter or any other method by which to display the
                                                                                                  • Meetups Gratuitos Junio 2024 - Profundiza en las funcionalidades de tu Zoho CRM

                                                                                                    Este junio, aprende a sacar el máximo provecho de tu Zoho CRM en la segunda edición de los Zoho Meetups 2024. Los días 18 a 21 de junio, Zoho organiza los Meetups gratuitos para usuarios de Zoho CRM en Valencia, Barcelona, Madrid y Sevilla, donde expertos
                                                                                                  • How to get the Dashboard page to be the first page when you open the app

                                                                                                    So when it opens on a tablet or phone it opens on the welcome page, thanks.
                                                                                                  • Integration between Zoho CRM and Zoho WorkDrive

                                                                                                    I'd like to search Zoho for an invoice I've added as an attachment (pdf) to an account. The name of the invoice is 1388-advertiserx-July.pdf - but I can't find it using the search function for any of these terms: 1388 1388-advertiserx 1388-advertiserx-July.pdf
                                                                                                  • Tip #17: How to mandate partial payment for your appointments

                                                                                                    When you require partial payments during the booking process, customers can only schedule with you after paying a certain amount in advance. This deposit acts as a commitment between both parties. Apart from that, it has many more advantages. Benefits
                                                                                                  • Why option for 'include form submission in the body of the email' check box is missing

                                                                                                    Hi In all our forms we have configured an <Email Notification> (<Rules> <Form Rules>) In some forms, there is an option to <include form submission in the body of the email> in the <Additional Options> section, however, this option is not available in
                                                                                                  • Mozilla Vault extension will not Unlock even once.

                                                                                                    I have been using the Vault extension in Chrome based browsers for years, yet after installing the Mozilla Extension in Firefox, it will not unlock. Initially it did redirect me to log into my account, and then enter the master password. However, it did
                                                                                                  • Unable to Download CRM Contact Data: WorkDrive Integration Issues

                                                                                                    ## Problem Description We need to let users download contact information from CRM as CSV files to their local computers. Since we couldn't implement a direct download option, we're trying to use WorkDrive as a workaround - but we're encountering issues
                                                                                                  • Sort mail by name and subject

                                                                                                    I don't see sort function on columns FROM and Subject. I see only sort functio by date. Could add it ?
                                                                                                  • Zoho Creator monthly roundup - September 2024

                                                                                                    Hello all, We're back with an exciting set of new features and enhancements that will elevate your Creator experience even further. In case you missed it, we’ve recently revamped our Product Roadmap page, now with a refreshed design and showcasing all
                                                                                                  • Kiosk Studio Session #1: View paid customers in the same industry

                                                                                                    Update | 15 Oct 2024: Session #2 is now available here! Hello everyone! We're excited to launch our new series of posts on Kiosk Studio today. Called Kiosk Studio Sessions , these posts will be packed with actionable ideas to help you get the most out
                                                                                                  • Issues hosting Zoho Desk Web Form on SharePoint and/or Power BI

                                                                                                    Zoho Desk onboarding support has no experience with embedding their web form in either SharePoint or Power BI. Microsoft states that SharePoint and Power BI only support iframe HTML. And unfortunately, the web form embed code that Zoho generates is not
                                                                                                  • "Send with Zoho Sign" broken

                                                                                                    Our company uses hyphens in our file name conventions. Our users have been sending the files from other modules with the "Send with Zoho Sign" shortcut in the upper right buttons. Since around June 10, 2024, this stopped working. Our users can send the
                                                                                                  • Next Page