Through the graphical model, the datasqill developer connects the sources (as inputs) and the targets (as outputs) with the transformation object (Action). These connections are passed to the module as part of the JSON request so that it can read and use them appropriately in its implementation.

The module defines what type the data objects used must be, for example tables, files, web service endpoints, or email distribution lists.
Sources
The sources represent the data objects from which a module reads data. They are usually also implicitly used in the transformation instruction and can be used for validation against the graphical model. This checks that the sources used in the transformation instruction and the connected sources in the graphical model match.
Targets
The targets are the data objects into which a module writes data. Usually the module determines its targets from the graphical model (and not from the transformation instruction) and then uses them for writing.
Many modules expect only a single target for writing data. However, there are cases where a module has multiple targets. As an example, a module could distribute data to two different tables.