PutIntegration
Adds an integration between the service and a third-party service, which includes Amazon AppFlow and Amazon Connect.
An integration can belong to only one domain.
To add or remove tags on an existing Integration, see TagResource / UntagResource.
Request Syntax
PUT /domains/DomainName
/integrations HTTP/1.1
Content-type: application/json
{
"FlowDefinition": {
"Description": "string
",
"FlowName": "string
",
"KmsArn": "string
",
"SourceFlowConfig": {
"ConnectorProfileName": "string
",
"ConnectorType": "string
",
"IncrementalPullConfig": {
"DatetimeTypeFieldName": "string
"
},
"SourceConnectorProperties": {
"Marketo": {
"Object": "string
"
},
"S3": {
"BucketName": "string
",
"BucketPrefix": "string
"
},
"Salesforce": {
"EnableDynamicFieldUpdate": boolean
,
"IncludeDeletedRecords": boolean
,
"Object": "string
"
},
"ServiceNow": {
"Object": "string
"
},
"Zendesk": {
"Object": "string
"
}
}
},
"Tasks": [
{
"ConnectorOperator": {
"Marketo": "string
",
"S3": "string
",
"Salesforce": "string
",
"ServiceNow": "string
",
"Zendesk": "string
"
},
"DestinationField": "string
",
"SourceFields": [ "string
" ],
"TaskProperties": {
"string
" : "string
"
},
"TaskType": "string
"
}
],
"TriggerConfig": {
"TriggerProperties": {
"Scheduled": {
"DataPullMode": "string
",
"FirstExecutionFrom": number
,
"ScheduleEndTime": number
,
"ScheduleExpression": "string
",
"ScheduleOffset": number
,
"ScheduleStartTime": number
,
"Timezone": "string
"
}
},
"TriggerType": "string
"
}
},
"ObjectTypeName": "string
",
"ObjectTypeNames": {
"string
" : "string
"
},
"RoleArn": "string
",
"Tags": {
"string
" : "string
"
},
"Uri": "string
"
}
URI Request Parameters
The request uses the following URI parameters.
- DomainName
-
The unique name of the domain.
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
^[a-zA-Z0-9_-]+$
Required: Yes
Request Body
The request accepts the following data in JSON format.
- FlowDefinition
-
The configuration that controls how Customer Profiles retrieves data from the source.
Type: FlowDefinition object
Required: No
- ObjectTypeName
-
The name of the profile object type.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
^[a-zA-Z_][a-zA-Z_0-9-]*$
Required: No
- ObjectTypeNames
-
A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an
ObjectTypeName
(template) used to ingest the event. It supports the following event types:SegmentIdentify
,ShopifyCreateCustomers
,ShopifyUpdateCustomers
,ShopifyCreateDraftOrders
,ShopifyUpdateDraftOrders
,ShopifyCreateOrders
, andShopifyUpdatedOrders
.Type: String to string map
Key Length Constraints: Minimum length of 1. Maximum length of 255.
Value Length Constraints: Minimum length of 1. Maximum length of 255.
Value Pattern:
^[a-zA-Z_][a-zA-Z_0-9-]*$
Required: No
- RoleArn
-
The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make Customer Profiles requests on your behalf.
Type: String
Length Constraints: Maximum length of 512.
Pattern:
arn:aws:iam:.*:[0-9]+:.*
Required: No
- Tags
-
The tags used to organize, track, or control access for this resource.
Type: String to string map
Map Entries: Maximum number of 50 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern:
^(?!aws:)[a-zA-Z+-=._:/]+$
Value Length Constraints: Maximum length of 256.
Required: No
- Uri
-
The URI of the S3 bucket or any other type of data source.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"CreatedAt": number,
"DomainName": "string",
"IsUnstructured": boolean,
"LastUpdatedAt": number,
"ObjectTypeName": "string",
"ObjectTypeNames": {
"string" : "string"
},
"RoleArn": "string",
"Tags": {
"string" : "string"
},
"Uri": "string",
"WorkflowId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- CreatedAt
-
The timestamp of when the domain was created.
Type: Timestamp
- DomainName
-
The unique name of the domain.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
^[a-zA-Z0-9_-]+$
- IsUnstructured
-
Boolean that shows if the Flow that's associated with the Integration is created in Amazon Appflow, or with ObjectTypeName equals _unstructured via API/CLI in flowDefinition.
Type: Boolean
- LastUpdatedAt
-
The timestamp of when the domain was most recently edited.
Type: Timestamp
- ObjectTypeName
-
The name of the profile object type.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
^[a-zA-Z_][a-zA-Z_0-9-]*$
- ObjectTypeNames
-
A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an
ObjectTypeName
(template) used to ingest the event. It supports the following event types:SegmentIdentify
,ShopifyCreateCustomers
,ShopifyUpdateCustomers
,ShopifyCreateDraftOrders
,ShopifyUpdateDraftOrders
,ShopifyCreateOrders
, andShopifyUpdatedOrders
.Type: String to string map
Key Length Constraints: Minimum length of 1. Maximum length of 255.
Value Length Constraints: Minimum length of 1. Maximum length of 255.
Value Pattern:
^[a-zA-Z_][a-zA-Z_0-9-]*$
- RoleArn
-
The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make Customer Profiles requests on your behalf.
Type: String
Length Constraints: Maximum length of 512.
Pattern:
arn:aws:iam:.*:[0-9]+:.*
- Tags
-
The tags used to organize, track, or control access for this resource.
Type: String to string map
Map Entries: Maximum number of 50 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern:
^(?!aws:)[a-zA-Z+-=._:/]+$
Value Length Constraints: Maximum length of 256.
- Uri
-
The URI of the S3 bucket or any other type of data source.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
- WorkflowId
-
Unique identifier for the workflow.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
You do not have sufficient access to perform this action.
HTTP Status Code: 403
- BadRequestException
-
The input you provided is invalid.
HTTP Status Code: 400
- InternalServerException
-
An internal service error occurred.
HTTP Status Code: 500
- ResourceNotFoundException
-
The requested resource does not exist, or access was denied.
HTTP Status Code: 404
- ThrottlingException
-
You exceeded the maximum number of requests.
HTTP Status Code: 429
Examples
Example
This example illustrates one usage of PutIntegration.
Sample Request
PUT /domains/ExampleDomainName/integrations HTTP/1.1
Content-type: application/json
{
"ObjectTypeName": "MyCustomObject",
"Uri": "arn:aws:flow:us-east-1:123456789012:URIOfIntegration1"
}
Sample Response
Content-type: application/json
{
"CreatedAt": 1479249799770,
"DomainName": "ExampleDomainName",
"LastUpdatedAt": 1479249799770,
"ObjectTypeName": "MyCustomObject",
"Uri": "arn:aws:flow:us-east-1:123456789012:URIOfIntegration1"
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: