Controls
A control is a node that routes, filters, combines, delays, or reshapes the items in a run, or runs another Automation on them. Every node after the trigger is either a control or an action. Actions copy, convert, encrypt, and deliver files. Controls route each item to a path, pass on only the items that match a condition, match the items of two paths, delay the next node, and change the shape of data.
A control processes every item it receives, and If, Switch, Filter, and Wait pass their items on unchanged. Transform is the only control that writes a file, and Aggregate is the only control that accepts only data.
| Control | Accepts | Passes on |
|---|---|---|
| If | File or data | The same items, each on the True path or the False path |
| Switch | File or data | The same items, each on the path of the first rule it matches, or on the Default path |
| Filter | File or data | The items that match the condition, unchanged |
| Join | File or data | Data items that pair the Left and Right items with matching keys |
| Aggregate | Data | One data item containing every item it received |
| Wait | File or data | The same items, after the delay |
| Transform | File or data | The data the script returns, or one file for each item when a destination is set |
| Run Automation | What the selected Automation accepts | The items the selected Automation returns |
The condition of an If or Filter node, each rule of a Switch node, and the keys of a Join node are TransformScript expressions evaluated against each item, and a Transform node runs a complete TransformScript. An expression reads a data item's fields and a file's parsed contents as payload, and it reads the information Files.com records about a file as attributes. Files.com reads a file's contents only when an expression uses payload, so a control that routes files by name or by custom metadata does not read them.
Every control has the same Error Handling rules and Return From Automation checkbox as every action.