Create iCalendar invitations for custom tables
- UpdatedJan 30, 2025
- 2 minutes to read
- Yokohama
- Notifications
To generate iCalendar invitations that use field values from custom tables, create an import export map that computes the values of the iCalendar fields.
Before you begin
Procedure
- Create the custom table and fields using the Date/Time field type for the fields that map to the ${dtstart} and ${dtend} variables.
- In the navigation filter, enter sys_impex_map.list.
- Click New.
-
Set the following fields:
- Name: Use the following naming convention:
icalendar.<table name>
. For example, icalendar.u_my_custom_table. - Table: Select the custom table you created.
- Type: Select icalendar.
- Name: Use the following naming convention:
- Right-click the form header and select Save.
- In the Field Maps related list, click New.
- In the Mapping Entry Wizard, select Mapping to a Database Field.
-
Create field mappings for dtstart and dtend.
For example, map the External Name dtstart to theu_meeting_start_time field in u_my_custom_table.Note: These variables are required.
- Click Submit.
-
Create field mappings for any of the following iCalendar fields as
necessary.
- dstart
- dtend
- location
- alarm_time
-
Click Update.
Here are sample field mappings between iCalendar variables and custom fields in a custom table, u_my_custom_table:
Table 1. Sample field mappings External name Database field Type Map dtstart u_meeting_start_time field icalendar.u_my_custom_table dtend u_meeting_end_time field icalendar.u_my_custom_table -
Create an email template that defines what to include in the iCalendar
invitation.
- Set the Table field to the custom table you created.
-
In the Message text field, use the following
format to define the iCalendar invitation.
BEGIN:VCALENDAR PRODID:-//Service-now.com//Outlook 11.0 MIMEDIR//EN VERSION:2.0 METHOD:REQUEST BEGIN:VEVENT ATTENDEE;ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:${to} DTSTART:${dtstart} DTEND:${dtend} UID:${sys_id} DTSTAMP:${dtstamp} SUMMARY:${u_meeting_summary} END:VEVENT END:VCALENDAR
Note: Mail script is not allowed or processed in meeting invitation email templates.Table 2. iCalendar invitation template details iCalendar template line Required? Notes BEGIN:VCALENDAR Yes PRODID:-//Service-now.com//Outlook 11.0 MIMEDIR//EN Yes VERSION:2.0 Yes METHOD:REQUEST Yes BEGIN:VEVENT Yes ATTENDEE;ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:${to} Yes The ${to} contains the recipients as defined in the notification. DTSTART:${dtstart} Yes You must use the import export map to map dtstart to a start time field on the custom table. DTEND:${dtend} Yes You must use the import export map to map dtend to an end time field on the custom table. UID:${sys_id} Yes You must provide the name of a field that uniquely identifies the record, such as the sys_id or the record number field. DTSTAMP:${dtstamp} Yes SUMMARY:${u_meeting_summary} No To include a summary from a text field on the custom table, provide the name of the field, such as u_meeting_summary. The summary field value must not contain line breaks. You do not need to create a field mapping. END:VEVENT Yes END:VCALENDAR Yes
-
Create an email notification to trigger the iCalendar invitation and ensure the
following fields are set accordingly:
- Table: Select the custom table.
- Type: Select Meeting Invitation.
- Content type: Select Plain text only.
- Email template: Select the template you created.