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.

FieldTypeRequiredDefaultConstraintsExample
processors
The tools to apply, each an object with a 'processor' name and a 'params' object whose values are zero-indexed column numbers.
arrayYes—≥ 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.
stringYes——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.
booleanNofalse——
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.
objectNo——{"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.
booleanNotrue——
first_row
Row number to start at, counting the first row of the file as 1.
numberNo1≥ 1—
last_row
Row number to stop at, counting from 1; leave blank to run to the end of the file.
numberNo—≥ 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

FieldTypeExample
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.