Amazon AppFlow · JSON Structure

Amazon Appflow Structure

Schema defining the structure of an Amazon AppFlow flow resource, including source and destination configurations, task definitions, trigger settings, and flow metadata.

Type: object Properties: 11 Required: 5
ConnectorsData FlowData IntegrationETLIntegrationSaaSData Transfer

Amazon Appflow Structure is a JSON Structure definition published by Amazon AppFlow, describing 11 properties, of which 5 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

flowArn flowName description flowStatus sourceFlowConfig destinationFlowConfigList tasks triggerConfig createdAt lastUpdatedAt tags

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "type": "object",
  "description": "Schema defining the structure of an Amazon AppFlow flow resource, including source and destination configurations, task definitions, trigger settings, and flow metadata.",
  "properties": {
    "flowArn": {
      "type": "string",
      "description": "The ARN of the flow."
    },
    "flowName": {
      "type": "string",
      "description": "The specified name of the flow.",
      "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
      "maxLength": 256
    },
    "description": {
      "type": "string",
      "description": "A user-entered description of the flow.",
      "maxLength": 2048
    },
    "flowStatus": {
      "type": "string",
      "description": "Indicates the current status of the flow.",
      "enum": [
        "Active",
        "Deprecated",
        "Deleted",
        "Draft",
        "Errored",
        "Suspended"
      ]
    },
    "sourceFlowConfig": {
      "$ref": "#/$defs/SourceFlowConfig"
    },
    "destinationFlowConfigList": {
      "type": "array",
      "description": "The configuration that controls how Amazon AppFlow places data in the destination connector.",
      "items": {
        "$ref": "#/$defs/DestinationFlowConfig"
      }
    },
    "tasks": {
      "type": "array",
      "description": "A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.",
      "items": {
        "$ref": "#/$defs/Task"
      }
    },
    "triggerConfig": {
      "$ref": "#/$defs/TriggerConfig"
    },
    "createdAt": {
      "type": "datetime",
      "description": "Specifies when the flow was created."
    },
    "lastUpdatedAt": {
      "type": "datetime",
      "description": "Specifies when the flow was last updated."
    },
    "tags": {
      "type": "object",
      "description": "The tags used to organize, track, or control access for your flow.",
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "required": [
    "flowName",
    "sourceFlowConfig",
    "destinationFlowConfigList",
    "tasks",
    "triggerConfig"
  ],
  "definitions": {
    "SourceFlowConfig": {
      "type": "object",
      "description": "Contains information about the configuration of the source connector.",
      "properties": {
        "connectorType": {
          "type": "string",
          "description": "The type of connector, such as Salesforce, Zendesk, Slack, etc."
        },
        "connectorProfileName": {
          "type": "string",
          "description": "The name of the connector profile."
        },
        "sourceConnectorProperties": {
          "type": "object",
          "description": "Specifies the information that is required to query a particular source connector."
        },
        "incrementalPullConfig": {
          "type": "object",
          "properties": {
            "datetimeTypeFieldName": {
              "type": "string"
            }
          }
        }
      },
      "required": [
        "connectorType",
        "sourceConnectorProperties"
      ],
      "name": "SourceFlowConfig"
    },
    "DestinationFlowConfig": {
      "type": "object",
      "description": "Contains information about the configuration of destination connector.",
      "properties": {
        "connectorType": {
          "type": "string",
          "description": "The type of destination connector."
        },
        "connectorProfileName": {
          "type": "string"
        },
        "destinationConnectorProperties": {
          "type": "object",
          "description": "The properties that are required to query the destination connector."
        }
      },
      "required": [
        "connectorType",
        "destinationConnectorProperties"
      ],
      "name": "DestinationFlowConfig"
    },
    "Task": {
      "type": "object",
      "description": "A class for modeling different type of tasks.",
      "properties": {
        "sourceFields": {
          "type": "array",
          "description": "The source fields to which a particular task is applied.",
          "items": {
            "type": "string"
          }
        },
        "connectorOperator": {
          "type": "object",
          "description": "The operation to be performed on the provided source fields."
        },
        "destinationField": {
          "type": "string",
          "description": "A field in a destination connector."
        },
        "taskType": {
          "type": "string",
          "description": "Specifies the particular task implementation.",
          "enum": [
            "Arithmetic",
            "Filter",
            "Map",
            "Map_all",
            "Mask",
            "Merge",
            "Passthrough",
            "Truncate",
            "Validate",
            "Partition"
          ]
        },
        "taskProperties": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": [
        "sourceFields",
        "taskType"
      ],
      "name": "Task"
    },
    "TriggerConfig": {
      "type": "object",
      "description": "The trigger settings that determine how and when Amazon AppFlow runs the specified flow.",
      "properties": {
        "triggerType": {
          "type": "string",
          "description": "Specifies the type of flow trigger.",
          "enum": [
            "Scheduled",
            "Event",
            "OnDemand"
          ]
        },
        "triggerProperties": {
          "type": "object",
          "description": "Specifies the configuration details of a schedule-triggered flow."
        }
      },
      "required": [
        "triggerType"
      ],
      "name": "TriggerConfig"
    }
  },
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-appflow/refs/heads/main/json-structure/amazon-appflow-structure.json"
}