Amazon Q Business will no longer be open to new customers starting on July 31, 2026. If you would like to use the service, please sign up prior to July 30. For capabilities similar to Q Business, explore Amazon Quick. Learn more.
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": {} }