Amazon AppFlow · Schema

CreateFlowRequest

CreateFlowRequest schema from Amazon AppFlow API

ConnectorsData FlowData IntegrationETLIntegrationSaaSData Transfer

Properties

Name Type Description
flowName string The specified name of the flow. Spaces are not allowed. Use underscores or hyphens only.
clientToken string Idempotency token to ensure CreateFlow completes only once.
description string A description of the flow you want to create.
kmsArn string The ARN of the KMS key for encryption.
metadataCatalogConfig object
triggerConfig object
sourceFlowConfig object
destinationFlowConfigList array The configuration that controls how Amazon AppFlow places data in the destination connector.
tasks array A list of tasks that Amazon AppFlow performs while transferring data in the flow run.
tags object The tags used to organize, track, or control access for your flow.
View JSON Schema on GitHub

JSON Schema

appflow-create-flow-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-appflow/refs/heads/main/json-schema/appflow-create-flow-request-schema.json",
  "title": "CreateFlowRequest",
  "description": "CreateFlowRequest schema from Amazon AppFlow API",
  "type": "object",
  "properties": {
    "flowName": {
      "type": "string",
      "pattern": "[a-zA-Z0-9][\\w!@#.-]+",
      "maxLength": 256,
      "example": "my-salesforce-to-s3-flow",
      "description": "The specified name of the flow. Spaces are not allowed. Use underscores or hyphens only."
    },
    "clientToken": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "example": "client-token-500123",
      "description": "Idempotency token to ensure CreateFlow completes only once."
    },
    "description": {
      "type": "string",
      "maxLength": 2048,
      "example": "Transfer Salesforce accounts to S3 daily",
      "description": "A description of the flow you want to create."
    },
    "kmsArn": {
      "type": "string",
      "minLength": 20,
      "maxLength": 2048,
      "example": "arn:aws:kms:us-east-1:123456789012:key/mrk-1234abcd",
      "description": "The ARN of the KMS key for encryption."
    },
    "metadataCatalogConfig": {
      "type": "object",
      "properties": {
        "glueDataCatalog": {
          "type": "object",
          "properties": {
            "roleArn": {
              "type": "string",
              "example": "arn:aws:iam::123456789012:role/AppFlowGlueRole",
              "description": "The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions."
            },
            "databaseName": {
              "type": "string",
              "example": "appflow-catalog-db",
              "description": "The name of an existing Glue Data Catalog database."
            },
            "tablePrefix": {
              "type": "string",
              "example": "sf_",
              "description": "A naming prefix for each Data Catalog table that Amazon AppFlow creates."
            }
          },
          "description": "Specifies the configuration that Amazon AppFlow uses when it catalogs data with the Glue Data Catalog."
        }
      }
    },
    "triggerConfig": {
      "type": "object",
      "properties": {
        "triggerType": {
          "type": "string",
          "enum": [
            "Scheduled",
            "Event",
            "OnDemand"
          ],
          "example": "Scheduled",
          "description": "Specifies the type of flow trigger. It can be OnDemand, Scheduled, or Event."
        },
        "triggerProperties": {
          "type": "object",
          "properties": {
            "Scheduled": {}
          },
          "description": "Specifies the configuration details of a schedule-triggered flow as defined by the user."
        }
      },
      "required": [
        "triggerType"
      ]
    },
    "sourceFlowConfig": {
      "type": "object",
      "properties": {
        "connectorType": {
          "type": "string",
          "example": "Salesforce",
          "description": "The type of connector used as a source."
        },
        "apiVersion": {
          "type": "string",
          "example": "v55.0",
          "description": "The API version of the connector used in the source."
        },
        "connectorProfileName": {
          "type": "string",
          "example": "my-salesforce-profile",
          "description": "The name of the connector profile. Required for all connectors except Amplitude, Datadog, Dynatrace, GoogleAnalytics, Marketo, SAPOData, Salesforce, ServiceNow, Singular, Slack, Trendmicro, and Veeva."
        },
        "sourceConnectorProperties": {
          "type": "object",
          "example": {
            "Salesforce": {
              "object": "Account"
            }
          },
          "description": "Specifies the information that is required to query a particular source connector."
        },
        "incrementalPullConfig": {
          "type": "object",
          "properties": {
            "datetimeTypeFieldName": {
              "type": "string",
              "example": "LastModifiedDate",
              "description": "A field that specifies the date time or timestamp field as the criteria to use when importing incremental records from the source."
            }
          },
          "description": "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."
        }
      },
      "required": [
        "connectorType",
        "sourceConnectorProperties"
      ]
    },
    "destinationFlowConfigList": {
      "type": "array",
      "items": {},
      "description": "The configuration that controls how Amazon AppFlow places data in the destination connector."
    },
    "tasks": {
      "type": "array",
      "items": {},
      "description": "A list of tasks that Amazon AppFlow performs while transferring data in the flow run."
    },
    "tags": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "example": {
        "environment": "production"
      },
      "description": "The tags used to organize, track, or control access for your flow."
    }
  },
  "required": [
    "flowName",
    "triggerConfig",
    "sourceFlowConfig",
    "destinationFlowConfigList",
    "tasks"
  ]
}