Skip to content

create_integration_workflow

create_integration_workflow(
    domain_name: name,
    workflow_type: WorkflowType,
    integration_config: IntegrationConfig,
    object_type_name: typeName,
    role_arn: RoleArn,
    *,
    config_overrides: Optional[CustomerProfilesClientConfig] = None,
    tags: Optional[TagMap] = None,
) -> CreateIntegrationWorkflowResponse

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.

Parameters:

  • domain_name (name) –

    The unique name of the domain.

  • workflow_type (WorkflowType) –

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

  • integration_config (IntegrationConfig) –

    Configuration data for integration workflow.

  • object_type_name (typeName) –

    The name of the profile object type.

  • role_arn (RoleArn) –

    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 (Optional[TagMap], default: None ) –

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

Raises:

Source code in docs_src/capo_customer_profiles/_services/customer_profiles.py
def create_integration_workflow(
    self,
    domain_name: "capo_customer_profiles.types.name.name",
    workflow_type: "capo_customer_profiles.types.workflow_type.WorkflowType",
    integration_config: "capo_customer_profiles.types.integration_config.IntegrationConfig",
    object_type_name: "capo_customer_profiles.types.type_name.typeName",
    role_arn: "capo_customer_profiles.types.role_arn.RoleArn",
    *,
    config_overrides: Optional[CustomerProfilesClientConfig] = None,
    tags: Optional["capo_customer_profiles.types.tag_map.TagMap"] = None,
) -> "capo_customer_profiles.types.create_integration_workflow_response.CreateIntegrationWorkflowResponse":
    """<p> 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. </p>

    Args:
        domain_name: <p>The unique name of the domain.</p>
        workflow_type: <p>The type of workflow. The only supported value is APPFLOW_INTEGRATION.</p>
        integration_config: <p>Configuration data for integration workflow.</p>
        object_type_name: <p>The name of the profile object type.</p>
        role_arn: <p>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.</p>
        tags: <p>The tags used to organize, track, or control access for this resource.</p>

    Raises:
        capo_customer_profiles.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_customer_profiles.errors.bad_request_exception.BadRequestException: <p>The input you provided is invalid.</p>
        capo_customer_profiles.errors.internal_server_exception.InternalServerException: <p>An internal service error occurred.</p>
        capo_customer_profiles.errors.resource_not_found_exception.ResourceNotFoundException: <p>The requested resource does not exist, or access was denied.</p>
        capo_customer_profiles.errors.throttling_exception.ThrottlingException: <p>You exceeded the maximum number of requests.</p>
        capo_customer_profiles.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_customer_profiles.types.create_integration_workflow_request.CreateIntegrationWorkflowRequest]",
    ) -> OperationResponse[
        "capo_customer_profiles.types.create_integration_workflow_response.CreateIntegrationWorkflowResponse"
    ]:
        import capo_customer_profiles._operations.customer_profiles_20200815.create_integration_workflow

        output, http_response = (
            capo_customer_profiles._operations.customer_profiles_20200815.create_integration_workflow.create_integration_workflow(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_customer_profiles.types.create_integration_workflow_request.CreateIntegrationWorkflowRequest",
    ) -> dict[str, Any]:
        import capo_customer_profiles.types.create_integration_workflow_request

        return capo_customer_profiles.types.create_integration_workflow_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("CreateIntegrationWorkflow", redact_input=_redact_input),
    )
    input_: capo_customer_profiles.types.create_integration_workflow_request.CreateIntegrationWorkflowRequest = {
        "domain_name": domain_name,
        "workflow_type": workflow_type,
        "integration_config": integration_config,
        "object_type_name": object_type_name,
        "role_arn": role_arn,
    }
    if tags is not None:
        input_["tags"] = tags

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output