Use ICS/iCalendar templates

Most of us are used to receiving calendar invitations in an email message. Using AppSheet bots, you can customize and attach calendar invitations to your communications.

At a mechanical level, this involves creating a calendar invitation file that is sent along with your communication. The calendar invitation file uses a well-known format called ICS /iCalendar, and typically have an .ics extension.

Customize calendar invitations using an ICS/iCalendar template as described in the following sections:

Customize calendar invitation content using an ICS/iCalendar template

When configuring a Send an email, Call a webhook, or Create a new file task, customize the contents of a calendar invitation using an ICS/iCalendar template by performing one of the following tasks:

For information about customizing the template, see Customize content using templates and the tips provided below.

View the template

After creating or selecting the template, click View adjacent to download the template file from your cloud system.

Edit the template

Most cloud file systems like Google Drive will not let you edit an .ics file directly. To edit the template you must:

  1. Download the template file from your cloud file system to your computer.
  2. Edit the template file on your computer using the text editor of your choice (eg: Notepad).
  3. Upload the edited template file from your computer to your cloud file system.

Manually create a calendar invitation template

Manually create an ICS/iCalendar template file by creating an empty .ics file, entering valid ICS content, and saving the file using the .ics extension.

The following provides a simple example of an ICS/iCalendar file. The .ics format is very rich and can construct very complex calendar invitations. For more information and examples, see:



PRODID:-// 1.0//EN




SUMMARY:Invitation from <<USEREMAIL()>> to talk about <<[MeetingTopic]>>











Notice that the template includes placeholders (for example, <<[StartDateTime]>>) that will be dynamically replaced by actual values when the action is executed. The actual placeholder expressions will depend on the specifics of your app.

To learn how fellow app creators are using this feature, see the conversation about calendar invitations in the community.

Was this helpful?
How can we improve it?
Clear search
Close search
Google apps
Main menu
Search Help Center