Skip to content

I/O & Files

These operators move bytes — files, objects, streams — and speak the wire protocols a flow needs to reach the outside world.

Operatorinvoke:What it does
Filesystemfilesystem.*Read, write, move, list local files.
SFTPsftp.*List, get, put, move, delete over SFTP. Write actions carry compensating deletes.
SSHssh.*Run remote commands over SSH.
S3s3.*Object get/put/list/delete on AWS S3 or S3-compatible stores.
Dropboxdropbox.*File operations against Dropbox.
Archivearchive.*Create/extract zip, tar.gz; bundle multiple inputs.
Binary Decoderbinary-decoder.*Decode binary payloads into structured data.
Kinesiskinesis.*Put/get records on AWS Kinesis streams.
using:
- zenvara/sftp
steps:
- $upload:
create: sftp.file
on: drop
with:
Path: "/incidents/${= str(_invocation-id)}.json"
Input: "${rows.body}"

Output field names are descriptive — path, content, files, etc. For a presigned-URL handoff, a flow can return: a redirect:.

Operatorinvoke:What it does
HTTPhttp.*get, post, put, delete, … Generic HTTP with multiple auth modes; auto-discovers OpenAPI specs.
RESTrest.*Higher-level REST client over the HTTP core.
GraphQLgraphql.*Typed GraphQL queries and mutations.
SOAP / WSDL SOAPsoap.*SOAP requests; consumes a WSDL to type the operations.
- $weather:
invoke: http.get
with:
Url: "https://api.example.com/weather?city=${city}"

Output: body (parsed where possible), statusCode, headers. Reference as ${weather.body.temp}.

The HTTP operator is the universal escape hatch: when no dedicated operator exists for a service, point http.* at its OpenAPI spec and you have a typed client. The SOAP operator does the same for legacy WSDL services. This is why the catalog stays focused rather than shipping hundreds of bespoke connectors.

The HTTP/REST operators support multiple authentication modes — bearer token, basic, API key header, OAuth client-credentials — configured on the connection and backed by secrets, so the flow never carries a credential.