put_integration

put_integration(**kwargs)

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.

See also: AWS API Documentation

Request Syntax

response = client.put_integration(
    DomainName='string',
    Uri='string',
    ObjectTypeName='string',
    Tags={
        'string': 'string'
    },
    FlowDefinition={
        'Description': 'string',
        'FlowName': 'string',
        'KmsArn': 'string',
        'SourceFlowConfig': {
            'ConnectorProfileName': 'string',
            'ConnectorType': 'Salesforce'|'Marketo'|'Zendesk'|'Servicenow'|'S3',
            'IncrementalPullConfig': {
                'DatetimeTypeFieldName': 'string'
            },
            'SourceConnectorProperties': {
                'Marketo': {
                    'Object': 'string'
                },
                'S3': {
                    'BucketName': 'string',
                    'BucketPrefix': 'string'
                },
                'Salesforce': {
                    'Object': 'string',
                    'EnableDynamicFieldUpdate': True|False,
                    'IncludeDeletedRecords': True|False
                },
                'ServiceNow': {
                    'Object': 'string'
                },
                'Zendesk': {
                    'Object': 'string'
                }
            }
        },
        'Tasks': [
            {
                'ConnectorOperator': {
                    'Marketo': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                    'S3': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                    'Salesforce': 'PROJECTION'|'LESS_THAN'|'CONTAINS'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                    'ServiceNow': 'PROJECTION'|'CONTAINS'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                    'Zendesk': 'PROJECTION'|'GREATER_THAN'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP'
                },
                'DestinationField': 'string',
                'SourceFields': [
                    'string',
                ],
                'TaskProperties': {
                    'string': 'string'
                },
                'TaskType': 'Arithmetic'|'Filter'|'Map'|'Mask'|'Merge'|'Truncate'|'Validate'
            },
        ],
        'TriggerConfig': {
            'TriggerType': 'Scheduled'|'Event'|'OnDemand',
            'TriggerProperties': {
                'Scheduled': {
                    'ScheduleExpression': 'string',
                    'DataPullMode': 'Incremental'|'Complete',
                    'ScheduleStartTime': datetime(2015, 1, 1),
                    'ScheduleEndTime': datetime(2015, 1, 1),
                    'Timezone': 'string',
                    'ScheduleOffset': 123,
                    'FirstExecutionFrom': datetime(2015, 1, 1)
                }
            }
        }
    },
    ObjectTypeNames={
        'string': 'string'
    }
)
Parameters
  • DomainName (string) --

    [REQUIRED]

    The unique name of the domain.

  • Uri (string) -- The URI of the S3 bucket or any other type of data source.
  • ObjectTypeName (string) -- The name of the profile object type.
  • Tags (dict) --

    The tags used to organize, track, or control access for this resource.

    • (string) --
      • (string) --
  • FlowDefinition (dict) --

    The configuration that controls how Customer Profiles retrieves data from the source.

    • Description (string) --

      A description of the flow you want to create.

    • FlowName (string) -- [REQUIRED]

      The specified name of the flow. Use underscores (_) or hyphens (-) only. Spaces are not allowed.

    • KmsArn (string) -- [REQUIRED]

      The Amazon Resource Name of the AWS Key Management Service (KMS) key you provide for encryption.

    • SourceFlowConfig (dict) -- [REQUIRED]

      The configuration that controls how Customer Profiles retrieves data from the source.

      • ConnectorProfileName (string) --

        The name of the AppFlow connector profile. This name must be unique for each connector profile in the AWS account.

      • ConnectorType (string) -- [REQUIRED]

        The type of connector, such as Salesforce, Marketo, and so on.

      • IncrementalPullConfig (dict) --

        Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull.

        • DatetimeTypeFieldName (string) --

          A field that specifies the date time or timestamp field as the criteria to use when importing incremental records from the source.

      • SourceConnectorProperties (dict) -- [REQUIRED]

        Specifies the information that is required to query a particular source connector.

        • Marketo (dict) --

          The properties that are applied when Marketo is being used as a source.

          • Object (string) -- [REQUIRED]

            The object specified in the Marketo flow source.

        • S3 (dict) --

          The properties that are applied when Amazon S3 is being used as the flow source.

          • BucketName (string) -- [REQUIRED]

            The Amazon S3 bucket name where the source files are stored.

          • BucketPrefix (string) --

            The object key for the Amazon S3 bucket in which the source files are stored.

        • Salesforce (dict) --

          The properties that are applied when Salesforce is being used as a source.

          • Object (string) -- [REQUIRED]

            The object specified in the Salesforce flow source.

          • EnableDynamicFieldUpdate (boolean) --

            The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.

          • IncludeDeletedRecords (boolean) --

            Indicates whether Amazon AppFlow includes deleted files in the flow run.

        • ServiceNow (dict) --

          The properties that are applied when ServiceNow is being used as a source.

          • Object (string) -- [REQUIRED]

            The object specified in the ServiceNow flow source.

        • Zendesk (dict) --

          The properties that are applied when using Zendesk as a flow source.

          • Object (string) -- [REQUIRED]

            The object specified in the Zendesk flow source.

    • Tasks (list) -- [REQUIRED]

      A list of tasks that Customer Profiles performs while transferring the data in the flow run.

      • (dict) --

        A class for modeling different type of tasks. Task implementation varies based on the TaskType.

        • ConnectorOperator (dict) --

          The operation to be performed on the provided source fields.

          • Marketo (string) --

            The operation to be performed on the provided Marketo source fields.

          • S3 (string) --

            The operation to be performed on the provided Amazon S3 source fields.

          • Salesforce (string) --

            The operation to be performed on the provided Salesforce source fields.

          • ServiceNow (string) --

            The operation to be performed on the provided ServiceNow source fields.

          • Zendesk (string) --

            The operation to be performed on the provided Zendesk source fields.

        • DestinationField (string) --

          A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.

        • SourceFields (list) -- [REQUIRED]

          The source fields to which a particular task is applied.

          • (string) --
        • TaskProperties (dict) --

          A map used to store task-related information. The service looks for particular information based on the TaskType.

          • (string) --
            • (string) --
        • TaskType (string) -- [REQUIRED]

          Specifies the particular task implementation that Amazon AppFlow performs.

    • TriggerConfig (dict) -- [REQUIRED]

      The trigger settings that determine how and when the flow runs.

      • TriggerType (string) -- [REQUIRED]

        Specifies the type of flow trigger. It can be OnDemand, Scheduled, or Event.

      • TriggerProperties (dict) --

        Specifies the configuration details of a schedule-triggered flow that you define. Currently, these settings only apply to the Scheduled trigger type.

        • Scheduled (dict) --

          Specifies the configuration details of a schedule-triggered flow that you define.

          • ScheduleExpression (string) -- [REQUIRED]

            The scheduling expression that determines the rate at which the schedule will run, for example rate (5 minutes).

          • DataPullMode (string) --

            Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run.

          • ScheduleStartTime (datetime) --

            Specifies the scheduled start time for a scheduled-trigger flow.

          • ScheduleEndTime (datetime) --

            Specifies the scheduled end time for a scheduled-trigger flow.

          • Timezone (string) --

            Specifies the time zone used when referring to the date and time of a scheduled-triggered flow, such as America/New_York.

          • ScheduleOffset (integer) --

            Specifies the optional offset that is added to the time interval for a schedule-triggered flow.

          • FirstExecutionFrom (datetime) --

            Specifies the date range for the records to import from the connector in the first flow run.

  • ObjectTypeNames (dict) --

    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 , and ShopifyUpdatedOrders .

    • (string) --
      • (string) --
Return type

dict

Returns

Response Syntax

{
    'DomainName': 'string',
    'Uri': 'string',
    'ObjectTypeName': 'string',
    'CreatedAt': datetime(2015, 1, 1),
    'LastUpdatedAt': datetime(2015, 1, 1),
    'Tags': {
        'string': 'string'
    },
    'ObjectTypeNames': {
        'string': 'string'
    },
    'WorkflowId': 'string',
    'IsUnstructured': True|False
}

Response Structure

  • (dict) --

    • DomainName (string) --

      The unique name of the domain.

    • Uri (string) --

      The URI of the S3 bucket or any other type of data source.

    • ObjectTypeName (string) --

      The name of the profile object type.

    • CreatedAt (datetime) --

      The timestamp of when the domain was created.

    • LastUpdatedAt (datetime) --

      The timestamp of when the domain was most recently edited.

    • Tags (dict) --

      The tags used to organize, track, or control access for this resource.

      • (string) --
        • (string) --
    • ObjectTypeNames (dict) --

      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 , and ShopifyUpdatedOrders .

      • (string) --
        • (string) --
    • WorkflowId (string) --

      Unique identifier for the workflow.

    • IsUnstructured (boolean) --

      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.

Exceptions

  • CustomerProfiles.Client.exceptions.BadRequestException
  • CustomerProfiles.Client.exceptions.ResourceNotFoundException
  • CustomerProfiles.Client.exceptions.AccessDeniedException
  • CustomerProfiles.Client.exceptions.ThrottlingException
  • CustomerProfiles.Client.exceptions.InternalServerException