Connecting Amazon Q Business to Microsoft Exchange (New connector) using APIs - Amazon Q Business

Connecting Amazon Q Business to Microsoft Exchange (New connector) using APIs

You use the CreateDataSource action to connect a data source to your Amazon Q application. You can also use the UpdateDataSource action to modify an existing data source configuration.

Then, you use the configuration parameter to provide a JSON blob that conforms the AWS-defined JSON schema.

For an example of the API request, see CreateDataSource and UpdateDataSource in the Amazon Q API Reference.

Microsoft Exchange new connector JSON schema

The following shows the Microsoft Exchange new connector JSON schema:

{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "type": { "type": "string", "enum": ["MSEXCHANGEV2"] }, "connectionConfiguration": { "type": "object", "properties": { "secretArn": { "type": "string", "pattern": "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$" }, "tenantId": { "type": "string", "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", "minLength": 36, "maxLength": 36 } }, "required": ["tenantId", "secretArn"] }, "dataEntityConfiguration": { "type": "object", "properties": { } }, "filterConfiguration": { "type": "object", "properties": { "startDateFilter": { "type": "string", "format": "date-time" }, "endDateFilter": { "type": "string", "format": "date-time" } } }, "deletionProtectionConfiguration": { "type": "object", "properties": { "enableDeletionProtection": { "type": "boolean" }, "deletionProtectionThreshold": { "type": "string", "pattern": "^(100|[1-9][0-9]?)$" } }, "required": ["enableDeletionProtection", "deletionProtectionThreshold"] } }, "required": [ "type", "connectionConfiguration", "dataEntityConfiguration" ] }

The following table provides information about important JSON keys to configure for the new Microsoft Exchange connector.

Configuration Description
type The type of data source. Specify MSEXCHANGEV2 for the new Microsoft Exchange connector.
connectionConfiguration Configuration information for connecting to the Microsoft Exchange data source.
secretArn The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains the key-value pairs required to connect to your Exchange data source. This includes your client ID and your client secret.
tenantId The Microsoft 365 tenant ID (UUID v4 format). You can find your tenant ID in the Properties of your Azure Active Directory Portal.
dataEntityConfiguration Configuration for the types of data entities to crawl from Microsoft Exchange.
filterConfiguration Optional configuration for filtering content during the crawl process.
startDateFilter Specify the start date for filtering emails. Only emails created on or after this date will be crawled. Format: ISO 8601 date-time (e.g., 2025-06-01T00:00:00Z).
endDateFilter Specify the end date for filtering emails. Only emails created on or before this date will be crawled. Format: ISO 8601 date-time (e.g., 2025-07-01T00:00:00Z).
deletionProtectionConfiguration Optional configuration to protect against accidental deletion of large amounts of content.
enableDeletionProtection A Boolean value to enable deletion protection. When enabled, the connector will not delete more than the specified threshold of documents in a single sync.
deletionProtectionThreshold The maximum percentage of documents that can be deleted in a single sync when deletion protection is enabled. Must be a string representing a number from 1-100 (e.g., "10" for 10%).

Sample configuration for the new Microsoft Exchange connector

The following is a sample configuration for the new Microsoft Exchange connector:

{ "displayName": "mail-0910-sample", "configuration": { "connectionConfiguration": { "secretArn": "arn:aws:secretsmanager:<region>:<account>:secret:<secret>", "tenantId": "<tenant_id>" }, "dataEntityConfiguration": { }, "filterConfiguration": { "startDateFilter": "2025-06-01T00:00:00Z", "endDateFilter": "2025-07-01T00:00:00Z" }, "deletionProtectionConfiguration": { "enableDeletionProtection": true, "deletionProtectionThreshold": "10" }, "type": "MSEXCHANGEV2", "version": "1.0.0" }, "description": "Sample Config", "syncSchedule": "", "roleArn": "arn:aws:iam::<account>:role/service-role/<role_name>", "mediaExtractionConfiguration": {} }