Siebel CRM Desktop for Microsoft Outlook Administration Guide > How Siebel CRM Desktop Handles Siebel CRM Data > How Siebel CRM Desktop Handles Microsoft Outlook Calendar Data >

How Siebel CRM Desktop Handles a Calendar Appointment


This topic describes how Siebel CRM Desktop handles a calendar appointment.

How Siebel CRM Desktop Correlates Siebel CRM Activities with PIM Data in Microsoft Outlook

When Siebel CRM Desktop synchronizes a Siebel CRM activity to Microsoft Outlook, it attempts to find the PIM data that resides in Outlook that corresponds to the activity. PIM data is a calendar appointment, task, or email. If it finds this item, then it shares it and correlates it with the Siebel CRM activity. CRM Desktop does this correlation for the following items:

  • The Outlook calendar item for a Siebel CRM record where the Display In value of the Siebel CRM activity is Calendar and Activities.
  • The Outlook task where the Display In value of the Siebel CRM activity is To Do and Activities.
  • Each Outlook activity where the Display In value of the Siebel CRM activity is Activities Only.

For example, to do a correlation for the Outlook Calendar event, it uses the following keys:

  1. Key 1:
    1. The CRMD Integration Id equals the GlobalObjectIdof the Calendar event.
    2. The owner is the meeting organizer of the Calendar event.
  2. Key 2:
    1. The owner is the meeting organizer of the Calendar event.
    2. The description is the subject of the Calendar event.
    3. The value in the Planned field in the Siebel database equals the start time of the Calendar event. This Planned value maps to the value that the Start field in Outlook contains.

If the user creates an activity in CRM Desktop from the Outlook Calendar event, and if the user shares this activity with Siebel CRM, then the CRMD Integration Id field in the activity record in the Siebel database contains a value.

How Siebel CRM Desktop Correlates Data if Siebel CRM Desktop Is Installed

The following sequence describes how Siebel CRM Desktop uses key 1:

  1. User 1 does the following work:
    1. Creates a meeting in Microsoft Outlook
    2. Shares this meeting with Siebel CRM
    3. Sends the meeting request to User 2

      In this situation, Siebel CRM Desktop creates a Siebel CRM activity. It uses the value from the GlobalObjectIdfield of the meeting to populate the value in the CRMD Integration Id field in this activity record. This value is a unique value for this meeting. To identify the meeting organizer and the meeting participants, CRM Desktop uses the corresponding values in the Outlook meeting.

  2. User 1 synchronizes this activity and Siebel CRM adds it to the Siebel database.
  3. Assume user 2 sets the user preference to not automatically create the PIM item that CRM Desktop shares with Siebel CRM. If user 2 receives the meeting invitation from user 1, then CRM Desktop does not share the meeting for this user in the calendar and it does not create a Siebel CRM activity.
  4. When User 2 synchronizes, CRM Desktop synchronizes the activity that it added in Step 2 to Outlook. It uses the find_ol_item function to find the Outlook item that corresponds to this activity. It finds the unshared meeting because the following situations are true:
    • This meeting contains the same GlobalObjectId field that the CRMD Integration Id field of the Siebel CRM activity contains.
    • This meeting contains the same meeting organizer that the Activity Owner field of the Siebel CRM activity contains.

If the meeting attendee synchronizes the activity from the Siebel Server before this attendee receives an invitation, and if this attendee sets the preference in the Options dialog box to not share new PIM items, then CRM Desktop uses the find_proxy_item function to find the Siebel CRM activity. If it finds this activity, then it shares the meeting with Siebel CRM.

How Siebel CRM Desktop Correlates Data if Siebel CRM Desktop Is Not Installed

Assume the following situation is true:

  • To track activities, a user uses Outlook and a Siebel CRM application, such as Siebel Call Center.
  • This user has not installed Siebel CRM Desktop.
  • This user enters activities in Outlook and Siebel Call Center.
  • The user has an activity in Siebel CRM. The user also has a calendar appointment in Outlook that matches this activity. This activity and this calendar appointment each include the same subject, start date, and activity owner.
  • Assume this user installs Siebel CRM Desktop and then synchronizes.

In this situation, CRM Desktop cannot use Key 1 because the Siebel CRM activity does not include a value in the CRMD Integration Id field. If this field does not contain a value, then CRM Desktop uses key 2. The following sequence describes how it uses key 2:

  1. The CRMD Integration Id field is empty, so it skips key 1.
  2. Correlates the activity:
    1. If the activity is a task, then it uses Key 2 with the following differences:
      • The owner is the meeting organizer of the task.
      • The description is the subject of the task subject.

        For more information, see Step 2.

    2. If the activity is an email message, then it uses the following keys:
    • Key 2.2:
      • CRMD Integration Id is the first twenty-two bytes of the PR_CONVERSATION_INDEX email message
      • Owner is the current user.
    • Key 2.3
      • Uses the same information as Key 2.2, plus includes Planned, which is the date that CRM Desktop sends or receives the email. The value in the Planned field in the Siebel database equals the start time of the Calendar event. This Planned value maps to the value the Start field in Outlook.

Note the following:

  • If the Display In value of the Siebel CRM activity is To Do and Activities, then the activity is a task.
  • If the Display In value of the Siebel CRM activity is Activities Only, then the activity is an email message.

How Siebel CRM Desktop Uses Natural Keys to Identify Duplicate Activities

Siebel CRM Desktop uses natural keys to detect a duplicate between Microsoft Outlook data and Siebel CRM data. It uses the following natural keys for an activity:

  • Activity Owner and CRMD Integration Id. These items match the GlobalObjectId of a calendar appointment.
  • Activity Owner and Description. These items match the subject of the calendar appointment and the Start Date.

CRM Desktop uses these keys to query the Siebel database. This query determines if a duplicate exists for this activity in the Siebel database. The following code is an example of the natural keys that Siebel CRM Desktop might use in the first twenty-two bytes of the PR_CONVERSATION_INDEX email messageconnector_configuration.xml file:

<natural_keys>
 <natural_key>
  <field>CRMD Integration Id</field>
  <field>Primary Owner Id</field>
 </natural_key>
 <natural_key>
  <field>Description</field>
  <field>Planned</field>
  <field>Primary Owner Id</field>
 </natural_key>
</natural_keys>

For more information, see Files That the Customization Package Contains.

How Siebel CRM Desktop Handles a Repeating Calendar Appointment

Microsoft Outlook uses more repeating patterns than the Siebel calendar uses. Siebel CRM Desktop establishes a correlation between Outlook and a Siebel CRM repeating pattern in the following way:

  • If the Outlook pattern matches an existing Siebel CRM pattern, then CRM Desktop uses the corresponding repeating pattern to create a Siebel CRM activity.
  • If the Outlook pattern does not match an existing Siebel CRM pattern, then CRM Desktop uses a Siebel CRM pattern that occurs more frequently. It also uses more exceptions for an excess occurrence.

For example, assume the user creates a meeting in Outlook that occurs every two weeks for two months for a total of four meeting instances. If CRM Desktop attempts to synchronize this meeting with the Siebel Server, then it cannot directly support the repeating patterns that are available in Siebel CRM. Instead, it does the following work:

  • Creates a weekly meeting that lasts for two months for a total of eight meeting instances.
  • Creates four exceptions that cancel the intervening weeks.

To remain compatible with Siebel CRM data, CRM Desktop represents each occurrence that changed as a separate calendar appointment in Outlook data.

CRM Desktop does the following work to handle a repeating calendar appointment:

  • Maps a repeating Outlook calendar appointment to a repeating Siebel calendar appointment
  • Maps a repeating Siebel calendar appointment to a repeating Outlook calendar appointment

Table 2 describes the Siebel fields that CRM Desktop uses to create a repeating calendar appointment.

Table 2. Siebel Fields That Siebel CRM Desktop Uses to Create a Repeating Calendar Appointment
Siebel Field
Description

ExceptionsList

Stores information about exceptions to instances in the repeating series. It is part of the Activity object.

RepeatingType

The frequency of the calendar appointment.

RepeatingExpires

The date of occurrence of the last instance in the series.

Repeating

The flag that indicates a calendar appointment is repeating.

How Siebel CRM Desktop Handles a Single Instance of a Repeating Calendar Appointment

Siebel CRM Desktop handles an exception to a repeating calendar appointment as separate records in Siebel CRM data. For example, to change the time of an instance of a repeating meeting, it creates a separate calendar appointment. It follows standard handling practices for the Siebel calendar so that it handles the calendar appointment series and exceptions in Siebel CRM appropriately.

How Siebel CRM Desktop Handles a Repeating Outlook Calendar Event That Does Not Include an End Date

If a repeating Outlook Calendar event that Siebel CRM Desktop shares with Siebel CRM does not include an end date, and if this repeating pattern:

  • Matches a Siebel pattern, then it clears the value in the Repeat Until field of the Siebel CRM Calendar activity.
  • Does not match a Siebel repeating pattern, then CRM Desktop limits this repeating pattern to a maximum duration. Table 3 describes the duration that CRM Desktop sets. It does this when it saves the Siebel CRM Calendar activity in Outlook.
Table 3. How Siebel CRM Desktop Handles a Repeating Calendar Event That Does Not Include an End Date
Repeating Pattern of the Outlook Calendar Event
Maximum Duration of Occurrences That CRM Desktop Uses

Daily meetings

1 year

Weekly meetings

1 year

Monthly meetings

2 years

Yearly meetings

5 years

How CRM Desktop Handles Invitee Lists for a Calendar Appointment

The list of invitees in a calendar appointment can contain contacts and employees. To process the email addresses that are specified in the list, Siebel CRM Desktop intercepts the call to the EAI Siebel Adapter business service. If the user creates a shared calendar appointment in Outlook, then the client attempts to resolve the meeting attendees and categorize the attendees as related contacts or employees when the user saves the calendar appointment.

The user might not possess all the contact or employee data that CRM Desktop requires to parse all attendees, so CRM Desktop repeats this process during synchronization. If it makes an insert or update request for a calendar appointment record, then the Siebel Server validates the meeting attendees. If the server detects any changes in the attendee list, then the server returns the updated list to the client and the server updates the contact and employee lists that are related to the calendar appointment.

How Siebel CRM Desktop Handles Invitee Lists for the Update Operation

To handle an invitee list for the update operation, Siebel CRM Desktop does the following work:

  1. Updates the input to the EAI Siebel Adapter business service to reflect changes in the invitee list. This update occurs when Siebel CRM Desktop passes the List of Invitees in the Siebel message in the Email To Line field.
  2. Marks the contacts and employees that Siebel CRM Desktop removes from the updated calendar appointment in Outlook, and then updates these records in the message.
  3. Marks and updates the contacts and employees that Siebel CRM Desktop newly added as insert records, and then updates these records in the message.
How Siebel CRM Desktop Handles Invitee Lists for the Query Operation

To handle an invitee list for the query operation, Siebel CRM Desktop does the following work:

  1. It queries the calendar appointment to return the invitee list in the To line of the email. To handle this query, Siebel CRM Desktop processes the output Siebel messages that the EAI Siebel Adapter business service returns.
  2. Processes the output from a call to the Query method or the QueryByTemplate method of the EAI Siebel Adapter business service.
  3. If the returned record is an activity record with the type as a calendar appointment, then CRM Desktop modifies it in order to add the email addresses of the employees and contacts in the activity to the email To line. It uses a semicolon to separate each email address. It retains the employee list and the contact list.
Siebel CRM Desktop for Microsoft Outlook Administration Guide Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Legal Notices.