CreateIntegration
Creates an integration with a third-party provider. Returns the integration identifier and its initial status; when the provider requires interactive consent, an authorization URL is returned for the user to complete setup.
Request Parameters
- clientToken
-
Idempotency token for safe retries. Retrying with the same token returns the original integration instead of creating a duplicate.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[!-~]+Required: No
- credential
-
The credential used to authenticate with the third-party provider.
Type: IntegrationCredential object
Note: This object is a Union. Only one member of this object can be specified or returned.
Required: No
- integrationAttributes
-
Provider-specific attributes to associate with the integration.
Type: String to string map
Map Entries: Minimum number of 0 items. Maximum number of 50 items.
Key Length Constraints: Minimum length of 0. Maximum length of 128.
Value Length Constraints: Minimum length of 0. Maximum length of 4096.
Required: No
- integrationType
-
The type of third-party provider to integrate with.
Type: String
Valid Values:
AWS_CONFIG_SLREC | SLACK | EXTERNAL_AGENT | AWS_INTEGRATIONRequired: Yes
- name
-
The name for the new integration; unique within the account.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
Required: Yes
- roleArn
-
The Amazon Resource Name of the IAM role assumed to access the integration.
Type: String
Required: No
- tags
-
Tags to apply to the integration at creation time (Tagris tag-on-create).
Type: String to string map
Map Entries: Minimum number of 0 items. Maximum number of 50 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Value Length Constraints: Minimum length of 0. Maximum length of 256.
Required: No
Response Elements
The following element is returned by the service.
- integration
-
The details of the created integration. This is the same object returned by GetIntegration and UpdateIntegration.
Type: Integration object
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedException
-
The caller is not authorized to perform this action.
HTTP Status Code: 403
- ConflictException
-
The operation could not be completed because of a conflict with the current state of the resource.
- conflictType
-
The type of conflict that caused the request to fail. Not always present.
- errorCode
-
The error code associated with the conflict. Not always present.
- message
-
A human-readable description of the conflict.
- resourceId
-
The identifier of the resource that is in conflict. Not always present.
- resourceType
-
The type of the resource that is in conflict. Not always present.
HTTP Status Code: 409
- InternalServerException
-
An unexpected error occurred while processing the request.
- errorCode
-
The error code associated with the internal error.
HTTP Status Code: 500
- ResourceNotFoundException
-
The specified resource does not exist.
- errorCode
-
The error code associated with the failure.
- resourceId
-
The identifier of the resource that could not be found. Not always present.
- resourceType
-
The type of the resource that could not be found. Not always present.
HTTP Status Code: 404
- ThrottlingException
-
The request was throttled due to exceeding the allowed request rate.
- retryAfterSeconds
-
The number of seconds to wait before retrying the request. Not always present.
HTTP Status Code: 429
- ValidationException
-
A parameter is specified incorrectly.
- errorCode
-
The error code associated with the validation failure.
HTTP Status Code: 400
Examples
Create an AWS integration
The following example creates an AWS_INTEGRATION named my-aws-integration, authorized by an IAM role. Payloads are shown as JSON; on the wire they are CBOR-encoded.
Sample Request
{
"clientToken": "b3f8c7d6-5b4a-4c3d-9e2f-1a0b2c3d4e5f",
"integrationType": "AWS_INTEGRATION",
"name": "my-aws-integration",
"roleArn": "arn:aws:iam::123456789012:role/service-role/CloudWatchIntegrationRole"
}
Sample Response
{
"integration": {
"createdAt": "2026-09-16T00:03:00Z",
"integrationArn": "arn:aws:cloudwatch:us-east-1:123456789012:integration/a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d",
"integrationId": "a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d",
"integrationType": "AWS_INTEGRATION",
"name": "my-aws-integration",
"roleArn": "arn:aws:iam::123456789012:role/service-role/CloudWatchIntegrationRole",
"status": "ACTIVE",
"updatedAt": "2026-09-16T00:03:00Z"
}
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: