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:

Customizing 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 Customizing content using templates and the tips provided below.

Viewing the template

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

Editing 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 creating 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: https://icalendar.org

BEGIN:VCALENDAR

VERSION:2.0

PRODID:-//appsheet.com//appsheet 1.0//EN

CALSCALE:GREGORIAN

METHOD:PUBLISH

BEGIN:VEVENT

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

UID:c7614cff-3549-4a00-9152-d25cc1fe077d

SEQUENCE:0

STATUS:CONFIRMED

TRANSP:TRANSPARENT

DTSTART:<<[StartDateTime]>>

DTEND:<<[EndDateTime]>>

LOCATION:<<[MeetingAddress]>>

DESCRIPTION:<<[MeetingDescription]>>

END:VEVENT

END:VCALENDAR


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.

Did this answer your question?