Data Components

All data component types share the prefix data- and what they have in common is that they work with rows of structured data similar to the following:

[
  {
    "myProperty": 123,
    "myObjectProperty": {
      "mySubProperty":321
    }
  },
  {
    "myProperty": 123,
    "myObjectProperty": {
      "mySubProperty":321
    }
  }
]

The data component types are:

TypeDescriptionInterface
data-sourceComponent that reads structured data rows from somewhere.

Typically a SaaS application or database.
DataSourceAppComponent
data-storageComponent the writes structured data rows somewhere.

Typically a SaaS application or database.
DataStorageAppComponent
data-filterComponent that processes structured data rows and outputs 0 or more results for those rows.

Typically a SaaS application or cloud service.
DataFilterAppComponent

All data component types share the same specification schema - which supports the following properties:

PropertyDescriptionRequired?
endpointThe primary endpoint of the component which performs the actual operation the component implements.

See Endpoints for the structure.
Yes
validateAn endpoint to allow your service to validate the component configuration.

See Endpoints for the structure.

See ComponentValidatesConfiguration for implementation details.
No
configurationStatic configuration for the component.

See Configuration Field Types for structure and options
No
dynamicConfigurationThis allows the configuration to be generated by your service instead of being defined directly in the YML.

See Endpoints for structure

See ComponentHasDynamicConfigurationSchema for implementation details.
No
inputsStatic configuration of the input schema for your component. This schema is expected to be for a single "input" row.

See Data Field Types for structure and options.
Either this or dynamicInputs is required for data-storage and data-filter
dynamicInputsThis allows you to generate the inputs schema within your service.

See Endpoints for structure

See ComponentHasDynamicDataSchema for implementation details.
Either this or inputs is required for data-storage and data-filter
outputsStatic configuration of the output schema for your component. This schema is expected to be for a single "result" row.

See Data Field Types for structure and options.
Either this or dynamicOutputs is required for data-source and data-filter
dynamicOutputsThis allows you to generate the outputs schema within your service.

See Endpoints for structure.

See ComponentHasDynamicDataSchema for implementation details.
Either this or outputs is required for data-source and data-filter