Data, databases and files
Sources
The Source node reads data into its value field; from there values spread along binding edges.
| Kind | What it reads |
|---|---|
| json, text, csv, excel | a file or a workspace attachment; the path comes from the inspector |
| dir | a directory as a tree of entries |
| sql, mysql, pgsql | a database query; sqlite is a file, the others are a connection |
| sql-schema | a database schema as tables and fields on the canvas |
| asset | a workspace attachment as data; large files are read in chunks |
| plw-api | a call to a method of an API description through the language sandbox |
| http | plugin: an HTTP request |
A database connection is a string in the connection field. Connections through the agent look like agent:<agent>/<connection>: the query runs on your machine and only result rows travel to the canvas. Passwords in connection strings are kept by the server; the client never sees them.
The structure of a file shows as a tree: clicking a branch creates a Get Path node with that path.
Actions
The Action node runs only explicitly: with the ▶ button or as an exec step.
| Kind | What it does |
|---|---|
| write-file, csv, excel | write a value into a file of the server or agent sandbox |
| write-tree | write a tree of files; the base path and the run are up to a person |
| sql-exec | run SQL on a connection |
| agent-exec | a command on a team agent by its own allow-list |
| plw-api-call | call a method of an API description |
| dice-roll | a dice roll by a DICE expression |
| http-post | plugin: send an HTTP request |
Capabilities
An action with an external effect requires a capability: run SQL, call HTTP, write a file, execute code. By default only the team owner and administrators have them; others receive them separately. A designer will not run a database query even with their own node.
Files and attachments
An attachment is a workspace asset with a content name: identical files are not duplicated and a repeated sync sends only what is new. Zip is read entry by entry. A folder of images uploads as a batch. A team has a quota on files and volume; it depends on the team's plan.
Writing to the server disk goes only into the workspace file sandbox. Dangerous extensions are neutralised with a suffix on write; the real name returns on download.
Secrets
The Secret node type keeps its value encrypted; the key never leaves the client and the server sees only ciphertext. Server secrets for schedules are set by the operator and substituted as ${secret:name} only in server runs.
Schedules and webhooks
The Start node has a trigger: manual, a server schedule, or a webhook POST /workspaces/<ws>/hook/<node key> with a token. A schedule runs with the authority of whoever saved the node; if that right is taken away, the schedule stops and says so.