Exchange Online Service SmartObjects

Use the Exchange Online SmartObjects to create and manage emails, appointments, meeting requests, and tasks from your solutions.

The following SmartObjects are available with each Exchange Online service instance:

Appointment

Use the Appointment SmartObject to create, accept, or decline an appointment in your workflow, or to show appointment information in a SmartForm.

SmartObject Methods

Name Notes
Accept Requires Conversation ID; can save as draft by setting Send Response to "no".
Accept Tentatively Requires Conversation ID; can save as draft by setting Send Response to "no".
Cancel Requires Conversation ID; can add reason as memo field. Will always send (no draft).
Create Requires Subject, Start Date, End Date, and Time Zone (see Time Zone)
Decline Requires Conversation ID; can save as draft by setting Send Response to "no".
Delete Requires Conversation ID
List Requires Start Date and End Date
List Suggested Requires Organizer, Start Date, End Date, Required Attendees, and Duration
Load Requires Conversation ID
Update Requires Conversation ID; "Online Meeting URL" can only be updated by meeting organizer.

SmartObject Properties

Property Name Type Example Notes
Id Text    
Subject Text Annual General Meeting The subject line sent with the appointment email to attendees
Body Memo Bring the relevant files The content of the appointment email to attendees
Start Date DateTime 2018/02/02 05:05:05 AM Gets or sets the start time of the appointment
End Date DateTime 2018/02/02 05:05:05 AM Gets or sets the end time of the appointment
Time Zone Text Eastern Standard This is an standard Exchange object. Use the Time Zone SmartObject List method to view available Time Zones
Time Zone Display Name Text Eastern Standard Zone The customizable time zone name used in your local environment. Use the Time Zone SmartObject List method to view available Time Zone Display Names
Utc Offset Number -5 The UTC offset is the difference in hours and minutes from Coordinated Universal Time (UTC) for a particular place and date.
Location Text Blue Boardroom Gets or sets the location of this appointment. Use the location values available from Active Directory
Reminder Minutes Before Start Number 2 Gets or sets the number of minutes before the start of this item that the reminder should be triggered. Must be a whole number.
Is All Day Event YesNo No Gets or sets whether the appointment is an all-day event.
Required Attendees Memo Chris@denallix.com; Codi@denallix.com Semicolon-delimited list of attendee's accepting the meeting request (email addresses). Use the Attendees SmartObject List method to view possible attendees
Optional Attendees Memo Chris@denallix.com; Codi@denallix.com Semicolon-delimited list of attendee's accepting the meeting request (email addresses). Use the Attendees SmartObject List method to view possible attendees
Legacy Free Busy Status Text Free Specifies constants that define the legacy free/busy status that is associated with an appointment: Free, Tentative, Busy, OOF, WorkingElsewhere, or NoData
Legacy Free Busy Status Display Name Text   The easy to read name assigned to the Legacy Free Bust Status above
Online Meeting URL Text   Can only be updated by meeting organizer
Preview Memo   Gets the item preview
Category Text   This is a standard Exchange property. Use the Category List method to view the categories available
Adjacent Meeting Count Number 2 The number of calendar items that are adjacent to the appointment
Allow New Time Proposal YesNo Yes Indication of whether the new time proposals are allowed
Reply Time DateTime 2018/02/02 05:05:05 AM Gets or Sets the
Sequence Count Number 1 Indicates the version number of a changed appointment.
Appointment Type Text 0

Indicates the occurrence type of the appointment; for example, a single meeting, an instance of a recurring meeting, an exception to a recurring meeting, or a master item that contains a meeting recurrence pattern.

Appointment Type Display Name Text Exception
Field Enumeration Description
Exception 2 An exception within a recurring series of appointments.
Occurrence 1 An occurrence within a recurring series of appointments.
RecurringMaster 3 The recurring master appointment for a recurring series of appointments.
Single 0 The recurring master appointment for a recurring series of appointments.
Total Conflicts Number   Gets the number of calendar entries that conflict with the appointment.
Conversation Id Text   Gets the ID of the conversation that this item is part of.
Created On DateTime 2018/02/02 05:05:05 AM Gets the date and time at which this item was created.
Received On DateTime 2018/02/02 05:05:05 AM Gets the time when this item was received.
Sent On DateTime 2018/02/02 05:05:05 AM Gets the date and time at which this item was sent.
Display To Memo   Gets a text string that lists the To recipients of this item.
Display Cc Memo   Gets a text string that lists the Cc recipients of this item.
Duration Number   Gets the duration of the appointment.
Has Attachments YesNo No Gets a value that indicates whether the item has attachments.
Is Canceled YesNo No Gets whether the appointment has been canceled.
Is From Me YesNo Yes Gets a value that indicates whether the item has been sent by the current authenticated user.
Is Meeting YesNo Yes Gets whether the appointment is a meeting.
Is Online Meeting YesNo No Gets or sets whether the meeting is an online meeting.
Is Recuring YesNo Yes Gets whether the appointment is part of a recurring series.
Is Response Requested YesNo Yes Gets or sets whether responses are requested when invitations are sent for the meeting.
Request Sent YesNo No Gets whether the meeting request has been sent.
Meeting Response Type Text  

Can be:

  • Unknown = 0,
  • Organizer = 1,
  • Tentative = 2,
  • Accept = 3,
  • Decline = 4,
  • NoResponseReceived = 5
Meeting Response Type Display Name Text   Same as Meeting Response Type, but friendly names
Organizer Text   Gets the email address of the meeting organizer.
Original Start DateTime 2018/02/02 05:05:05 AM Gets the original start time of the appointment.
Resources Memo   Gets a list of resources for the meeting, such as audio-visual equipment.
Suggestion Quality Text  
  • Excellent = 0,
  • Good = 1,
  • Fair = 2,
  • Poor = 3
Suggestion Quality Display Name Text   Same as Suggestion quality but with friendly names
Is Work Time YesNo No Means if the appointment is within working hours.
Attending Memo Chris@denallix.com; Codi@denallix.com Semicolon-delimited list of attendee's accepting the meeting request (email addresses). Use the Attendees SmartObject List method to view possible attendees
Not Attending Memo Chris@denallix.com; Codi@denallix.com Semicolon-delimited list of attendee's declining the meeting request (email addresses). Use the Attendees SmartObject List method to view possible attendees
OnBehalfOf Text chris@denallix.com Used in a K2 workflow to create the appointment for the specified account. This property is only used when the K2 Service account is calling the SmartObject method from a workflow.
Room Text South Board Room See the Room SmartObject
Room List Text   See the Room SmartObject
Accepted Attendees Memo Chris@denallix.com; Codi@denallix.com Semicolon-delimited list of attendee's accepting the meeting request (email addresses). Use the Attendees SmartObject List method to view possible attendees
Declined Attendees Memo Chris@denallix.com; Codi@denallix.com Semicolon-delimited list of attendee's declining the meeting request (email addresses). Use the Attendees SmartObject List method to view possible attendees
Tentative Attendees Memo Chris@denallix.com; Codi@denallix.com Semicolon-delimited list of attendee's accepting the meeting request as tentative (email addresses). Use the Attendees SmartObject List method to view possible attendees
Available Attendees Memo Chris@denallix.com; Codi@denallix.com Semicolon-delimited list of attendee's accepting the meeting request (email addresses). Use the Attendees SmartObject List method to view possible attendees
Unavailable Attendees Memo Chris@denallix.com; Codi@denallix.com Semicolon-delimited list of attendee's not available for the meeting request (email addresses). Use the Attendees SmartObject List method to view possible attendees
Reason Memo    
Send Response YesNo No  
Currently Scheduled On DateTime 2018/02/02 05:05:05 AM  

Attachment

Methods

Name Notes
Create Requires Id, Attachment File
Delete Requires Id, Attachment Id
List Requires Id
Load Requires Id, Attachment Id

SmartObject Properties

Property Name Type Example Notes
Attachment File File    
Attachment Id Text   Gets or sets the identifier of the email to add the attachment to.
Content Id Text   Gets or sets the content identifier of the attachment. You can use the ContentId to identify an attachment so you can reference it from within the email or appointment
Content Type Text   Gets or sets the content type of the attachment.
Id Text   Gets the identifier of the attachment.
Is Inline YesNo No Gets or sets a value that indicates whether this is an inline attachment.
Last Modified DateTime 2018/02/02 05:05:05 AM Gets the date and time when the attachment was last changed.
Name Memo   Gets or sets the name of the attachment.
Size Number   Gets the size of the attachment.

Attendee

Methods

NameNotes
AddRequires Appointment Id, Email Address, Attendance Requirement
ListRequires Appointment Id
RemoveRequires Appointment Id, Email Address

SmartObject Properties

Property Name Type Example Notes
Appointment Id Text   Gets or sets the contact identifier that the email address represents. The contact identifier is related to the Email ID property
Attendance Requirement Text    
Email Address Text Chris@denallix.com Gets or sets the email address.
Meeting Response Type Text   Gets the type of response that the attendee gave to the meeting invitation.
Meeting Response Type Display Name Text    
Name YesNo   Gets or sets the name that is associated with the email address.

Automatic Reply

Automatic Reply works only for the currently logged-in user.

Methods

NameNotes
LoadNo properties
UpdateNo required properties

SmartObject Properties

Property Name Type Example Notes
Allow Contacts Only YesNo    
Allow External Out Of Office YesNo    
End Date DateTime 2018/02/02 05:05:05 AM  
External Reply Text    
Internal Reply Text    
Is OOF YesNo    
Is Scheduled YesNo    
Start Date DateTime 2018/02/02 05:05:05 AM  

Category

Methods

Name Notes
List No properties
Load Requires Name

SmartObject Properties

Property Name Type Example Notes
Name Text    
ColorHex Text  

There only 25 colors available in Microsoft Outlook.

  • ## COLOR HEX (RGB)
  • 1 Red #E7A1A2 (231 161 162)
  • 2 Orange #F9BA89 (249 186 137)
  • 3 Peach #F7DD8F (247 221 143)
  • 4 Yellow #FCFA90 (252 250 144)
  • 5 Green #78D168 (120 209 104)
  • 6 Teal #9FDCC9 (159 220 201)
  • 7 Olive #C6D2B0 (198 210 176)
  • 8 Blue #9DB7E8 (157 183 232)
  • 9 Purple #B5A1E2 (181 161 226)
  • 10 Maroon #daaec2 (218 174 194)
  • 11 Steel #dad9dc (218 217 220)
  • 12 Dark Steel #6b7994 (107 121 148)
  • 13 Grey #bfbfbf (191 191 191)
  • 14 Dark Grey #6f6f6f (111 111 111)
  • 15 Black #4f4f4f ( 79 79 79)
  • 16 Dark Red #c11a25 (193 26 37)
  • 17 Dark Orange #e2620d (226 98 13)
  • 18 Dark Peach #c79930 (199 153 48)
  • 19 Dark Yellow #b9b300 (185 179 0)
  • 20 Dark Green #368f2b ( 54 143 43)
  • 21 Dark Teal #329b7a ( 50 155 122)
  • 22 Dark Olive #778b45 (119 139 69)
  • 23 Dark Blue #2858a5 ( 40 88 165)
  • 24 Dark Purple #5c3fa3 ( 92 63 163)
  • 25 Dark Maroon #93446b (147 68 107)

Color values returned by color meter might be slightly different based on your selected color profile.

Email

Methods

Name Notes
Create No required properties, cannot be created without a To, CC, or BCC. Draft is created by setting "Save as Draft" to "Yes", otherwise email is sent immediately.
Delete Requires Id
Forward Requires Id and To
List No required properties
Load Requires Id
Move Requires Id and Folder Id
Reply Requires Id
Send Requires Id

SmartObject Properties

Property Name Type Example Notes
Id Text  
Subject Text The subject line sent with the email
Body Memo   The body of your email message
Type Text    
To Text Chris@denallix.com  
From Text Codi@denallix.com

Allows you to set an alternate email address as the 'From' value for the email. For example, when a workflow sends an email, by default the email is sent by the account configured in the feature activation page, but you can provide an alternate From email address if you want the email to come from a different account.

The service or user account that is sending the email must have Send On Behalf of or Send As permissions to send an email on behalf of another account. You configure these in Microsoft Outlook. For more information see Allow members to send as or send on behalf of a Group. If you do not assign these permissions you may get an error message saying: "The user account which was used to submit this request does not have the right to send mail on behalf of the specified sending account. Cannot submit message.".

There is no validation on this property. If an invalid email address is provided for the From value, the email will be sent from the account that is executing the SmartObject.

Cc Text Chris@denallix.com  
Bcc Text Chris@denallix.com  
Received On DateTime 2018/02/02 05:05:05 AM  
Sent On DateTime 2018/02/02 05:05:05 AM  
Created On DateTime 2018/02/02 05:05:05 AM  
Contains Attachments YesNo    
Is Read YesNo    
Is Draft YesNo    
Sensitivity Text Private Normal, Personal, Private, or Confidential.
Sensitivity Display Name Text    
Importance Text    
Importance Display Name Text    
Size Number    
Folder Id Text    
Reply All YesNo    
Save As Draft YesNo    

Email Recipient

  • Add and Remove support multiple email addresses as a semicolon-delimited list.
  • If adding multiple email addresses:
    • Both Name and Email Address support semicolon-delimited lists.
    • Names are associated to Email Addresses in list order.
    • The following scenarios may occur:
      ScenarioHandingExample
      More Names than Email Addresses Additional Names are ignored

      Email Addresses: chris@denallix.com; codi@denallix.com; bob@denallix.com

      Names: Chris, Codi, Bob

      Result: Cliff <chris@denallix.com>; Randa <codi@denallix.com>; Bob <bob@denallix.com>

      Fewer Names than Email addresses Names are associated with Email Addresses in the order provided

      Email Addresses: chris@denallix.com; codi@denallix.com; bob@denallix.com

      Names: Chris, Randa

      Result: Cliff <chris@denallix.com>; Randa <codi@denallix.com>; <bob@denallix.com>

      Mismatch between Names and Email Addresses Names are associated with Email Addresses in the order provided

      Email Addresses: chris@denallix.com; codi@denallix.com; bob@denallix.com

      Names: Chris, Bob, Randa

      Result: Cliff <chris@denallix.com>; Bob <codi@denallix.com>; Randa <bob@denallix.com>

Methods

Name Notes
Add Requires Email Id, Email Address
List Requires Email Id
Remove Requires Email Id, Email Address

SmartObject Properties

Property Name Type Example Notes
Email Address Text Chris@denallix.com Gets or sets the email address.
Email Id Text   Gets or sets the contact identifier that the email address represents.
Display Name Text   Gets or sets the name that is associated with the email address.
Recipient Type Text    
Recipient Type Display Name Text    

Folder

Methods

Name Notes
Create Requires Display Name
Delete Requires Id
List No required properties
Load Requires Id
Rename Requires Id, Display Name. Cannot rename the "Task" folder

SmartObject Properties

Property Name Type Example Notes
Class Text   Gets or sets the custom class name of this folder.
Display Name Text   Gets or sets the display name of the folder.
Id Text   Gets the identifier of the folder.
Name Text    
Parent Id Text   Gets the identifier of this folder's parent folder.
Total Child Folders Number   Gets the number of child folders in this this folder.
Total Items Number   Gets the total number of items that are contained in the folder.
Total Unread Number   Gets the number of unread items in the folder.

Lookup

Exchange supports a number of enumberable values that are not easily discoverable; the "Lookup List" SmartObject allows clients to obtain these values for use in their K2 solutions quickly and easily.

Methods

Name Related SmartObject Notes
List Appointment Type Appointment Provides a list of values for types of appointments
List Importance Email Provides a list of values for importance
List Legacy Free Busy Status Appointment Provides a list of values for free/busy status
List Meeting Response Type Appointment Provides a list of values for meeting response types
List Recipient Type Appointment Provides a list of values for recipient types
List Sensitivity Email Provides a list of values for sensitivity: Normal, Personal, Private, or Confidential.
List Suggestion Quality Appointment Provides a list of values for meeting suggestion quality
List Task Status Task Provides a list of values for status

SmartObject Properties

Property Name Type Example Notes
Display Name Text   A user-friendly display value, derived from the Name through a localizable lookup
Id Number   The numeric value associated with the enumerable
Name Text   The value returned by the API directly

Room

Methods

Name Notes
Get Rooms Requires Email Address
Get Rooms Lists No required properties

SmartObject Properties

Property Name Type Example Notes
Name Text Red Board Room  
Email Address Text redroom@denallix.com  

Task

Methods

Name Notes
Complete Requires Id
Create Requires Subject
Delete Requires Id
List No required properties
Load Requires Id
Move Requires Id, Parent Folder Id
Update Requires Id

SmartObject Properties

Property Name Type Example Notes
Actual Work Minutes Number   Gets or sets the actual amount of time that is spent on the task.
Billing Text   Gets or sets the billing information of the task.
Body

Memo

  Gets or sets the body of this item.
Companies Memo   Gets or sets a list of companies associated with the task.
Completed Date DateTime 2018/02/02 05:05:05 AM Gets or sets the date and time on which the task was completed.
Contacts Memo   Gets or sets a list of contacts associated with the task.
Due Date DateTime 2018/02/02 05:05:05 AM Gets or sets the date and time on which the task is due.
Has Attachments YesNo   Gets a value that indicates whether the item has attachments.
Id Text   Gets the ID of this item.
Is Body HTML YesNo    
Subject Memo    
Start Date DateTime 2018/02/02 05:05:05 AM Gets or sets the date and time on which the task starts.
Due Date DateTime 2018/02/02 05:05:05 AM Gets or sets the date and time on which the task is due.
Time Zone Text    
Time Zone Display name Text    
Is Reminder Set YesNo   Gets or sets a value that indicates whether a reminder is set for this item.
Reminder Date DateTime 2018/02/02 05:05:05 AM Gets or sets the date and time when the reminder is due for this item.
Preview Memo    
Sensitivity Text Normal

Normal, Personal, Private, or Confidential.

Sensitivity Display Name Text    
Task Status Text   Gets or sets the status of the task.
Task Status Display Name Text    
Percentage Complete Number   Gets or sets the completion percentage of the task. PercentComplete must be between 0 and 100.
Is Complete Text   Gets a value indicating whether the task is complete.
Total Work Minutes Number   Gets or sets the total amount of work spent on the task.
Actual Work Minutes Number   Gets or sets the actual amount of time that is spent on the task.
Mileage Text   Gets or sets the mileage of the task.
OnBehalfOf Text chris@denallix.com Used in a K2 workflow to create the task for the specified account. This property is only used when the K2 Service account is calling the SmartObject method from a workflow.
Parent Folder Id Text   Gets the ID of the parent folder of this item.

Time Zone

Methods

Name Notes
List No required properties
Load Requires Id

SmartObject Properties

Property Name Type Example Notes
Display Name Text    
Id Text    
Name Text    
Utc Offset Text -5 The UTC offset is the difference in hours and minutes from Coordinated Universal Time (UTC) for a particular place and date.