Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

On this Page

Table of Contents
maxLevel2
excludeOlder Versions|Additional Resources|Related Links|Related Information

Snap type:

Read


Description:

This Snap provides the functionality to check calendar availability for appointment attendees in Microsoft Exchange through the Microsoft Exchange web services. The Snap requires an input Exchange availability record specific to the attendees and the date and time of the appointment, and it sends the request to Microsoft Exchange. If the result is successful, the list of dates and times that are available will be returned with any conflicts. However, if there is an error in performing the read, the error view will contain the error message. 
 

  • Expected upstream SnapsA document is expected as an input into the Exchange Read Snap.  The upstream Snap can be either a JSON-generated Snap or a file Snap that reads in the document information to check meeting attendee availability. 
  • Expected downstream SnapsA document is the expected output of the Exchange Snap with a JSON payload containing meeting attendee availability information. The downstream Snap can be any Snap that consumes a document such as a file Snap or a database Snap. 
  • Expected inputThe following JSON is a sample of the input.


Note
The date and time fields must be in the format below, and the values are in UTC. 

In Microsoft's API, there are many additional fields that can be specified, but the fields below are the minimum required fields to read an appointment and therefore are what this Snap supports:

Code Block
{
    "Id": "1",
    "attendees": "test@test.com",
    "startDate": "2014-1-18 13:00:00",
    "endDate": "2014-1-19 16:00:00",
    "availabilityType": "FreeBusyAndSuggestions"
}


  • Expected output: Each document contains Map data, which includes the ID of the object and the dates and times where there is a meeting conflict.  If there are no meeting conflicts, an empty result is returned. The following JSON is a sample of the output generated when a meeting has been successfully created:


Code Block
[
   {
      "test@test.com":[
         {
            "date":"2014-01-18T00:00:00.000+0000",
            "quality":"Excellent",
            "timeSuggestions":[
               {
                  "meetingTime":"2014-01-18T00:00:00.000+0000",
                  "quality":"Excellent",
                  "conflicts":[
                     {
                        "conflictType":"IndividualAttendeeConflict",
                        "numberOfMembers":0,
                        "numberOfMembersAvailable":0,
                        "numberOfMembersWithConflict":0,
                        "numberOfMembersWithNoData":0,
                        "freeBusyStatus":"Free"
                     }
                  ],
                  "workTime":true
               },
               {
                  "meetingTime":"2014-01-18T00:30:00.000+0000",
                  "quality":"Good",
                  "conflicts":[
                     {
                        "conflictType":"IndividualAttendeeConflict",
                        "numberOfMembers":0,
                        "numberOfMembersAvailable":0,
                        "numberOfMembersWithConflict":0,
                        "numberOfMembersWithNoData":0,
                        "freeBusyStatus":"Free"
                     }
                  ],
                  "workTime":true
               },
               {
                  "meetingTime":"2014-01-18T16:00:00.000+0000",
                  "quality":"Good",
                  "conflicts":[
                     {
                        "conflictType":"IndividualAttendeeConflict",
                        "numberOfMembers":0,
                        "numberOfMembersAvailable":0,
                        "numberOfMembersWithConflict":0,
                        "numberOfMembersWithNoData":0,
                        "freeBusyStatus":"Free"
                     }
                  ],
                  "workTime":true
               }
            ]
         }
      ]
   }
]

  • Expected usage: The main purpose of the Exchange Read Snap is to check availability for a meeting attendee in Exchange. The availability information returned can contain the list of conflicts for meeting attendees and suggest available meeting times.


Prerequisites:

[None]


Support and limitations:Ultra pipelines: Works in Ultra Task Pipelines.
  • Spark mode: Not supported in Spark mode.
  • Account: 

    This Snap uses account references created on the Accounts page of SnapLogic Manager to handle access to this endpoint. See Configuring Microsoft Exchange AccountAccounts for information on setting up this type of account.


    Views:


    Input

    This Snap has exactly one input view and receives documents in the view. Each document contains an Exchange availability request to send to Microsoft Exchange. Multiple attendees can be included in the availability request. The way to determine the input fields is to create a pipeline with the Read Snap and save the pipeline. Based on the suggest functionality, the Read Snap will populate with the correct input view field name.

    The Availability Type can be one of the following settings:

    • FreeBusy will return a list of any conflicts with an attendees calendar but will not return any suggestions on when to meet.
    • FreeBusyAndSuggestions will return a list of any conflicts with an attendees calendar, and will not return any suggestions on when to meet.
    • Suggestions will only return a list of suggestions on when to meet.
    OutputThis Snap has exactly one document output view.
    ErrorThis Snap has at most one document error view and  might produce documents in the view if the input data causes an error in Microsoft Exchange.


    Settings

    Label


    Required. The name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.

    Object type



    Required. An object type that will be read from Exchange.

    Example: AvailabilityEntity

    Default valueAvailabilityEntity


    Multiexcerpt include macro
    nameSnap Execution
    pageSOAP Execute


    Multiexcerpt include macro
    nameSnap_Execution_Introduced
    pageAnaplan Read


    Excerpt Include
    Microsoft Exchange Snap Pack
    Microsoft Exchange Snap Pack
    nopaneltrue