Process a Remote File
uproc.process_stream
ActionBusiness appsconnection required
Calls the uProc API with the connection's credentials.
Apply one or more uProc tools to a remote file or database table and write the enriched rows back beside it.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- Username & password
- Providers
- uProc
- Secret shape
- {"email": "…", "api_token": "…"} — the account email and its API key
- Resolved by
- config.connection_id, else node.connection_id
Configuration
7 fields, 2 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
processors The tools to apply, each an object with a 'processor' name and a 'params' object whose values are zero-indexed column numbers. | array | Yes | — | ≥ 1 characters; array of object | [{"params":{"email":[0]},"processor":"get-email-lookup"}] |
stream URI of the file or table to process, with its credentials in the URI; S3, SFTP, FTP, HTTP(S), MySQL, MSSQL and Oracle are supported. | string | Yes | — | — | ftp://username:password@ftp.example.com/contacts.csv |
upload_results Upload the results file back to the same location with a -results suffix; only FTP, SFTP and S3 URIs can be written to. | boolean | No | false | — | — |
callback Webhook URLs uProc notifies as the job runs, keyed by start, progress, end, error or data; omit it and the results stay in the uProc Jobs section. | object | No | — | — | {"end":"https://example.com/hooks/uproc-end"} |
write_titles Write a header row at the top of the CSV results file uProc produces for the job. | boolean | No | true | — | — |
first_row Row number to start at, counting the first row of the file as 1. | number | No | 1 | ≥ 1 | — |
last_row Row number to stop at, counting from 1; leave blank to run to the end of the file. | number | No | — | ≥ 1 | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"callback": {
"end": "https://example.com/hooks/uproc-end"
},
"first_row": 1,
"processors": [
{
"params": {
"email": [
0
]
},
"processor": "get-email-lookup"
}
],
"stream": "ftp://username:password@ftp.example.com/contacts.csv",
"upload_results": false,
"write_titles": true
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
result True when uProc accepted the job. | boolean | — |
message.id Identifier of the scheduled job. | string | — |
message.status Status uProc gave the job, such as 'scheduled'. | string | — |
callback Confirmation of where each callback will be delivered. | object | — |
{
"callback": {},
"message": {
"id": "",
"status": ""
},
"result": false
}Notes
- The stream URI carries its own credentials and needs write permission when upload_results is on.
- Compressed files (.gz, .zip) and csv, xls and osd formats are accepted.
See Process a Remote File run in a workflow.
In a technical demo we add the uProc connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.