CustomerProfiles / Client / create_integration_workflow

create_integration_workflow#

CustomerProfiles.Client.create_integration_workflow(**kwargs)#

Creates an integration workflow. An integration workflow is an async process which ingests historic data and sets up an integration for ongoing updates. The supported Amazon AppFlow sources are Salesforce, ServiceNow, and Marketo.

See also: AWS API Documentation

Request Syntax

response = client.create_integration_workflow(
    DomainName='string',
    WorkflowType='APPFLOW_INTEGRATION',
    IntegrationConfig={
        'AppflowIntegration': {
            '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)
                        }
                    }
                }
            },
            'Batches': [
                {
                    'StartTime': datetime(2015, 1, 1),
                    'EndTime': datetime(2015, 1, 1)
                },
            ]
        }
    },
    ObjectTypeName='string',
    RoleArn='string',
    Tags={
        'string': 'string'
    }
)
Parameters:
  • DomainName (string) –

    [REQUIRED]

    The unique name of the domain.

  • WorkflowType (string) –

    [REQUIRED]

    The type of workflow. The only supported value is APPFLOW_INTEGRATION.

  • IntegrationConfig (dict) –

    [REQUIRED]

    Configuration data for integration workflow.

    • AppflowIntegration (dict) –

      Configuration data for APPFLOW_INTEGRATION workflow type.

      • FlowDefinition (dict) – [REQUIRED]

        The configurations that control how Customer Profiles retrieves data from the source, Amazon AppFlow. Customer Profiles uses this information to create an AppFlow flow on behalf of customers.

        • 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.

      • Batches (list) –

        Batches in workflow of type APPFLOW_INTEGRATION.

        • (dict) –

          Batch defines the boundaries for ingestion for each step in APPFLOW_INTEGRATION workflow. APPFLOW_INTEGRATION workflow splits ingestion based on these boundaries.

          • StartTime (datetime) – [REQUIRED]

            Start time of batch to split ingestion.

          • EndTime (datetime) – [REQUIRED]

            End time of batch to split ingestion.

  • ObjectTypeName (string) –

    [REQUIRED]

    The name of the profile object type.

  • RoleArn (string) –

    [REQUIRED]

    The Amazon Resource Name (ARN) of the IAM role. Customer Profiles assumes this role to create resources on your behalf as part of workflow execution.

  • Tags (dict) –

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

    • (string) –

      • (string) –

Return type:

dict

Returns:

Response Syntax

{
    'WorkflowId': 'string',
    'Message': 'string'
}

Response Structure

  • (dict) –

    • WorkflowId (string) –

      Unique identifier for the workflow.

    • Message (string) –

      A message indicating create request was received.

Exceptions

  • CustomerProfiles.Client.exceptions.BadRequestException

  • CustomerProfiles.Client.exceptions.ResourceNotFoundException

  • CustomerProfiles.Client.exceptions.AccessDeniedException

  • CustomerProfiles.Client.exceptions.ThrottlingException

  • CustomerProfiles.Client.exceptions.InternalServerException