MEETING

{MEETING: TITLE = text_field, ORGANIZER = user_field, START_DATE_TIME = date_field,
          SEQUENCE = number_field, ATTENDEES = user_field, MEETING_FIELD = document_field,
          UID = text_field, DURATION = text_or_list_field, [CANCEL = CANCEL,]
          [DESCRIPTION = text_or_text_area_field,] [LOCATION = text_field,]
          [COMMENT = text field] }

Usage

The Meeting action business rule is used to generate a meeting request file (with a file name of meeting.ics) when a record is added or updated.  When an email is sent following the invocation of the rule, the action generates new meeting requests, updates existing meeting requests and cancels meeting requests within user's online calendars such as Microsoft Outlook.  

The rule should be configured within a preupdate directive.  To complete the action of generating a meeting request, a MAIL action rule should be configured to communicate the request via email to the participants' calendars.

The fields referenced by the MEETING rule attributes must be configured within the issue, and the fields representing MEETING_FIELD, UID, and SEQUENCE attributes are updated and then saved within the issue when the MEETING rule executes.  The UID value is generated the first time the MEETING rule executes and remains the same for the life of the issue, so it is recommended to make the UID field read-only and not visible to the user.  The SEQUENCE value starts with 0 the first time the rule executes within an issue and is incremented by 1 every time the rule executes, thereby generating an updated meeting request file.  It is also recommended to make the SEQUENCE field read-only and not visible to the user.  The MEETING_FIELD field can also be configured as read-only and can be made invisible to the end user.

Required Attributes

The following are required attributes and are enforced at rule compilation and execution time; only their presence is enforced, not the field types specified in the syntax above:

Attribute Field Type Purpose
TITLE Text The title or subject of the meeting
ORGANIZER User The user that creates and hosts the meeting
START_DATE_TIME Date The date and time of the start of the meeting
SEQUENCE Number This is used to store an auto-generated value for each meeting request generated.  This field must be within the issue, but does not need to be visible
ATTENDEES User - single or multi-valued A user, or a list of users who are invited to participate in the meeting
MEETING_FIELD Document This is used to store the auto-generated meeting request file within the issue.  It does not need to be visible
UID Text This is an auto-generated value that uniquely identifies the meeting request.  This is stored within the issue, but does not need to be visible
DURATION Text or List This is a value that specifies how long the meeting is being scheduled for.

The value specifying the meeting duration needs to have the following format.  A default of 1 hour duration is used if the value cannot be parsed:

X day(s) Y hour(s) Z minute(s)

Examples

30 minutes
1 hour 30 minutes
2 hours
1 day
3 days 14 hours 15 minutes

Optional Attributes

 

Attribute Field Type Purpose
CANCEL   This is used to generate a cancellation notice for the meeting that is sent to all attendees.  This is not a field, but should be set to a value of CANCEL
DESCRIPTION Text or Text Area This provides a description of the meeting that is being generated
LOCATION Text or Text Area This is information on the location of the meeting
COMMENT Text or Text Area This is a comment that is added to the meeting request

Note that HTML Area fields are not recommended for use as DESCRIPTION, LOCATION and COMMENT attributes.

Example

The following rule is used to generate a meeting request file stored in the MEETING_FILE field, based on the current issue:

<== preupdate ==>
if (STATUS = 'New') {
   {MEETING: TITLE           = SHORT_DESCR,

             DESCRIPTION     = DESCRIPTION,
             ORGANIZER       = MEETING_ORGANIZER,
             START_DATE_TIME = MEETING_TIME,
             SEQUENCE        = MEETING_SEQUENCE,
             ATTENDEES       = MEETING_ATTENDEES,
             MEETING_FIELD   = MEETING_FILE,
             LOCATION        = MEETING_LOCATION,
             UID             = MEETING_UID,
             DURATION        = MEETING_DURATION
    };
}

This example show a rule which cancels a meeting based on the STATUS field:

<== preupdate ==>
if (STATUS = 'Cancel') {
   {MEETING: TITLE           = SHORT_DESCR,
             CANCEL          = CANCEL,
             COMMENT         = COMMENTS,
             ORGANIZER       = MEETING_ORGANIZER,
             START_DATE_TIME = MEETING_TIME,
             SEQUENCE        = MEETING_SEQUENCE,
             ATTENDEES       = MEETING_ATTENDEES,
             MEETING_FIELD   = MEETING_DOC,
             UID             = MEETING_UID,
             DURATION        = MEETING_DURATION

   };
}

Sending the Meeting Request

A MAIL action business rule should be configured to send the meeting request to the participants.  This is achieved via the following steps:

  • Create an email template
  • Within the body of the email, include the name of the document field that contains the meeting request.  For example, if the field is named MEETING_FILE, you will include the text $$MEETING_FILE$$ within the body
  • A useful hint is that you may want to hide the meeting request file from user's eyes, so the calendar associated with their email simply acts on the request.  To achieve this, you can hide the file with this within the HTML of the body:

    <div style="display:none">$$MEETING_FILE$$</div>