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
{
"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"
}