Exchange Connector
Configuration settings for adjusting the Haven OnDemand Cloud Exchange Connector.

Exchange Cloud Connector

The Exchange Cloud connector retrieves content from Exchange Online user mailboxes and indexes it into Haven OnDemand.

This connector is a cloud connector that runs entirely in the Haven OnDemand environment.

Exchange Cloud Connector Configuration

The following table outlines the configuration options that you can set for the exchange_cloud connector flavor. You can use these in the JSON object that you pass to the config parameter in the Create Connector API.

Note: All the options are case sensitive.

Required Parameters

Parameter Type Description
mailboxes array An array of mailbox addresses to be retrieved from Exchange Online by the connector.

Optional Parameters

Parameter Type Description Default
base_mailbox_folder Enum The folder in each mailbox from which the connector starts crawling. The connector retrieves messages from this folder and all subfolders that pass the restrictions defined by other configuration parameters.
  • Calendar. Retrieves messages only from the Calendar folder.
  • Contacts. Retrieves messages only from the Contacts folder.
  • DeletedItems. Retrieves messages only from the DeletedItems folder.
  • Drafts. Retrieves messages only from the Drafts folder.
  • Inbox. Retrieves messages only from the Inbox folder.
  • Journal. Retrieves messages only from the Journal folder.
  • Notes. Retrieves messages only from the Notes folder.
  • Outbox. Retrieves messages only from the Outbox folder.
  • SentItems. Retrieves messages only from the SentItems folder.
  • Tasks. Retrieves messages only from the Tasks folder.
  • MsgFolderRoot. Retrieves messages only from the MsgFolderRoot folder.
  • PublicFoldersRoot. Retrieves messages only from the PublicFoldersRoot folder.
  • Root. Retrieves messages only from the Root folder.
  • MsgFolderRoot. Retrieves messages only from the MsgFolderRoot folder.
  • SearchFolders. Retrieves messages only from the VoiceMail folder.
  • RecoverableItemsRoot. Retrieves messages only from the RecoverableItemsRoot folder.
  • RecoverableItemsDeletions. Retrieves messages only from the RecoverableItemsDeletions folder.
  • RecoverableItemsVersions. Retrieves messages only from the RecoverableItemsVersions folder.
  • RecoverableItemsPurges. Retrieves messages only from the RecoverableItemsPurges folder.
  • ArchiveRoot. Retrieves messages only from the ArchiveRoot folder.
  • ArchiveMsgFolderRoot. Retrieves messages only from the ArchiveMsgFolderRoot folder.
  • ArchiveDeletedItems. Retrieves messages only from the ArchiveDeletedItems folder.
  • ArchiveRecoverableItemsRoot. Retrieves messages only from the ArchiveRecoverableItemsRoot folder.
  • ArchiveRecoverableItemsDeletions. Retrieves messages only from the ArchiveRecoverableItemsDeletions folder.
  • ArchiveRecoverableItemsVersions. Retrieves messages only from the ArchiveRecoverableItemsVersions folder.
  • ArchiveRecoverableItemsPurges. Retrieves messages only from the ArchiveRecoverableItemsPurges folder.
  • SyncIssues. Retrieves messages only from the SyncIssues folder.
  • Conflicts. Retrieves messages only from the Conflicts folder.
  • LocalFailures. Retrieves messages only from the LocalFailures folder.
  • ServerFailures.Retrieves messages only from the ServerFailures folder.
  • RecipientCache. Retrieves messages only from the RecipientCache folder.
  • QuickContacts. Retrieves messages only from the QuickContacts folder.
  • ConversationHistory. Retrieves messages only from the ConversationHistory folder.
  • ToDoSearch. Retrieves messages only from the ToDoSearch folder.
MsgFolderRoot
impersonate_mailbox_owner Boolean The user that connects to the Exchange Web Service must have permission to read messages from the mailboxes that you want to index. To grant this permission, use one of the following methods:
  • In Exchange, grant the user permission to impersonate other users. Then, in the connector configuration, set impersonate_mailbox_owner to true (the default value).
  • In Exchange, grant the user full access permission on each mailbox that you want to retrieve. Then, in the connector configuration, set impersonate_mailbox_owner to false.
  • In Exchange, grant the user Reviewer permission to each folder in each mailbox that you want to index. The user must have this permission on all folders below the root of the mailbox (or the folder specified by the connector base_mailbox_folder configuration parameter). If the user does not have permission to access a mailbox folder, the connector cannot index that folder and its contents. In the connector configuration, set impersonate_mailbox_owner to false.
true
folder_must_have_regex String A regular expression to restrict the folders that are processed. If you set this parameter, the connector processes only folders with paths that match the specified regular expression.
If a folder is excluded because of this parameter, its subfolders are not excluded unless they also have paths that do not match the regular expression.
For example: "folder_must_have_regex": "^//Top of Information Store/Inbox/Folder.*"
folder_cant_have_regex String A regular expression to restrict the folders that are processed. If you set this parameter, the connector does not process any folders that have a path that matches the specified regular expression.
If a folder is excluded because of this parameter, its subfolders are not excluded unless they also have paths that match the regular expression.
For example: "folder_cant_have_regex": "^//Top of Information Store/Inbox/Folder.*"
message_min_date String The earliest modified date that a message can have. If specified, the connector retrieves only messages that were modified after the specified date. This filter also applies to other types of item, such as calendar entries and tasks. Older messages are rejected. Specify the date in UTC, in one of the following date formats:
  • A date in the format yyyy/MM/dd hh:mm:ss, for example 2016/05/29 00:00:00.
  • A date in epoch seconds, for example 1401364800.
  • A relative time in seconds by using the plus (+) or minus (-) character before the value. Positive values represent dates in the future, and negative values represent dates in the past. For example, to retrieve only messages that were modified in the 24 hours before the connector retrieves the files, set message_min_date to -86400.
message_max_date String The latest modified date that a message can have. If specified, the connector retrieves only messages that were modified before the specified date. This filter also applies to other types of item, such as calendar entries and tasks. Newer messages are rejected. Specify the date in UTC, in one of the following date formats:
  • A date in the format yyyy/MM/dd hh:mm:ss, for example 2016/05/29 00:00:00.
  • A date in epoch seconds, for example 1401364800.
  • A relative date in seconds by using the plus (+) or minus (-) character before the value. Positive values represent dates in the future, and negative values represent dates in the past. For example, to retrieve only messages that were modified more than 24 hours before the connector retrieves the files, set message_max_date to -86400.
process_public_folders Boolean Set to true to retrieve items that are stored in public folders.

Example Configuration

{
	"mailboxes": [ "user1@my_domain.com", "user2@my_domain.com" ]
}

Exchange Cloud Connector Destination

This section outlines the options that you can set for the destination that the connector indexes into. You can use these in the JSON object that you pass to the destination parameter in the Create Connector API.

Note: All the options are case sensitive.

Required Parameters

Parameter Type Description
action Enum The action to take when indexing documents. You can use the following options:
  • addtotextindex. Add documents directly to a Haven OnDemand text index.

Parameters for Add to Text Index Action

The following parameters are required in the destination JSON object when action is set to addtotextindex

Parameter Type Description
index String The name of the text index that you want to index documents into. This index must already exist in Haven OnDemand (created by the Create Text Index API).

Example Destination

{
	"action": "addtotextindex",
	"index": "testindex"
}

Exchange Cloud Connector Schedule

This section outlines the options that you can set for the schedule that the connector runs on. You can use these in the JSON object that you pass to the schedule parameter in the Create Connector API.

Note: All the options are case sensitive.

Required Parameters

Parameter Type Description
frequency Object The frequency configuration that describes how often to run the connector.

The frequency object must contain the following parameter:

Parameter Type Description
frequency_type Enum The type of frequency configuration to use. This setting affects the other parameters that you must set in the frequency object. You can use one of the following values:
  • seconds. The connector frequency is set in seconds. You must also specify the interval parameter.

When you have set the frequency_type parameter to seconds, you must also set the following parameters:

Parameter Type Description
interval Integer The number of seconds between each connector run. This interval measures from the start of one connector run to the start of the next. The maximum interval is 31536000.
Note: The exact interval that the connector uses might vary by up to 30 minutes, depending on load on the system and the scheduler.

Optional Parameters

Parameter Type Description
occurrences Integer The number of times to attempt to schedule a connector run. If you do not set occurrences, the number of runs is unlimited. The schedule stops either after this number of runs, or when it reaches the configured end_date, whichever occurs first.
start_date String The date to start scheduling the connector. For a list of available date formats, see Date Formats for Parameters. If you do not set a start_date, the connector runs after the first interval elapses.
end_date String The date to stop scheduling the connector. For a list of available date formats, see Date Formats for Parameters. The schedule stops either after this date, or when it has run the number of times configured in occurrences, whichever occurs first.

Example Configuration

{
	"occurrences": 5,
	"start_date": "1",
	"end_date": "29/06/2015 12:00:00 -0600",
	"frequency": {
		"frequency_type": "seconds",
		"interval": 21600
	}
}

Schedule Errors

If an attempt to run a connector fails, for example because an error occurred on the system, the Connector Status and Connector History APIs return an error status in the response for the schedule. In this case, Haven OnDemand attempts to retry the connctor schedule up to three times. When a schedule fails, Haven OnDemand attempts to retry it the next time it scans the connector schedules (every minute).

If the schedule fails three times, Haven OnDemand stops the connector schedule. In this case, you must either use the Update Connector API to set a new schedule, or manually start the connector with the Start Connector API.

Exchange Cloud Connector Credentials

This section outlines the options that you can use to set credentials for the connector. You can use these in the JSON object that you pass to the credentials parameter in the Create Connector API. The credentials parameter is required for exchange_cloud flavor connectors.

Note: All the options are case sensitive.

Required Parameters

Parameter Type Description
username String The user name that the connector uses to authenticate with Exchange Online.
password String The password that the connector uses to authenticate with Exchange Online.

Example Connector Credentials

{
	"username": "connector_user@my_domain.com",
	"password": "P4ssw0rd!"
}

Exchange Cloud Connector Credentials Policy

This section outlines the options that you can use to set the credentials policy for the connector. The credentials policy options define when the system can decrypt credentials. You can use these parameters in the JSON object that you pass to the credentials_policy parameter in the Create Connector API. The credentials_policy parameter is required if you have set credentials.

The credentials policy controls how Haven OnDemand manages decryption tokens for storing and decrypting the credentials that the connector uses to access the repository. You can obtain a decryption token from the Start Connector and Retrieve Config APIs, which require the decryption of the connector credentials. Haven OnDemand sends the decryption token to an email address that you specify in the credentials policy.

The credentials policy also specifies how long the decryption token is valid for. If you send an invalid token to one of the APIs that requires it, the API automatically generates and sends a new token to the email.

The credentials policy has its own expiration date. After this time, you must renew the policy with the Update Connector API.

Note: All the options are case sensitive.

Required Parameters

Parameter Type Description
notification_email String The email address to which to send information about connector activity.

Optional Parameters

Parameter Type Description Default
token_expiration Integer The number of seconds that a generated token remains valid. The expiration time is counted from the moment the token was generated. Every generated token is valid for the specified duration, and can be used for decryption a number of times specified by token_occurrences. After the token_expiration time, the token cannot be used, even if it has not had token_occurrences uses. When the token expires, a new token is generated, resetting the token_expiration time and token_occurrences. The minimum value is 1. 1800
token_occurrences Integer The number of times that a generated token can be used for decryption. Every generated token is valid for this number of uses, and can be used for a duration specified by token_expiration. After it has been used token_occurrences times, the token cannot be used, even if the token_expiration time has not been reached. When the number of uses are exhausted, a new token is generated, resetting the token_expiration time and token_occurrences. The minimum value is 1. 1
key_expiration String The duration that the credentials policy is valid for. When the key expires, the Haven OnDemand key management service returns an error stating that the policy has expired. For a list of available date formats, see Date Formats for Parameters. 3 months
notification_email_frequency Enum The frequency to use to send information about connector activity to the notification_email address. You can use the following values:
  • always. Always send email notifications for all connector activity.
  • on_decrypt. Send email notifications only when an attempt to decrypt connector credentials occurs.
  • on_failure. Send email notifications only when a failure occurs when using connector credentials.
  • never. Never send email notifications.
on_decrypt

Example Credentials Policy

{
	"notification_email": "test@example.com",
	"notification_email_frequency": "always",
	"key_expiration": "19/06/2015 11:25:00",
	"token_expiration": 3600,
	"token_occurrences": 10
}

Exchange Cloud Connector Limits

The exchange_cloud flavor Connector has the following limits:

Schedule

Property Max Limit
interval 31536000

Static_resource_unit_cost

It costs 1 static resource unit to create a exchange_cloud flavor connector.

Start_connector_unit_cost

It costs 5 start connector units to start a exchange_cloud flavor connector.