Upload File

Use this step to upload a file to the FTP server.

Last published at: March 31st, 2026

ftpSendFile Step

Description:

The FTPSendFile workflow step uploads a specified source file to a configured FTP server. The destination path on the server and a Variable or Global for storing the relative file path are provided as step inputs.

The step supports:

  • Selecting a configured FTP connection.
  • Specifying the source file to upload.
  • Specifying the destination file path on the server.
  • Storing the relative file path in a Variable or Global variable.
  • Uploading workflow-generated or otherwise available files to an FTP server.
  • Reusing the stored path in subsequent workflow steps.
  • Returning a True or False result for subsequent workflow processing.

 

Inputs

  • ftpConnection – The Select FTP property specifies the FTP connection to be used for the file upload.
  • sourceFilePath – The Path of the source file to be uploaded property specifies the local or accessible source file that FlowWright should upload.
  • destinationFilePath –The Path to save the file to be saved in the server property; specifies the destination path where the uploaded file should be saved on the FTP server.
  • relativeFilePath - The Variable/Global to store relative path property specifies the Variable or Global variable in which the relative file path is stored.
 

 

Returns

  • True – The True return path can be connected to the next workflow activity after the file-upload operation succeeds.
  • False – The False return path can be used for error handling or an alternative workflow path if the file-upload operation does not succeed.
 

 

Usage:

The FTPSendFile step is typically placed after a workflow has generated, created, downloaded, or otherwise obtained a file that needs to be transferred to an FTP server.

A typical workflow pattern is:

Create/Get File → Upload File → Continue Process

The workflow provides:

  1. A configured FTP connection.
  2. The source file path.
  3. The destination file path.
  4. A Variable or Global to store the relative path.

The resulting path information can then be used by later workflow activities.

Typical uses include:

  • Uploading generated documents.
  • Sending reports to an external FTP server.
  • Transferring files produced by workflow processing.
  • Uploading exported data files.
  • Sending documents to an external system.
  • Moving integration files to an inbound or outbound FTP location.
  • Storing the resulting relative path for subsequent processing.

 

 

To use this step, configure FTP in FlowWright's FTP Connections.

 

A sample FTP connection configuration is provided here for reference.

 

Typical Workflow Suggestions:

Upload a Generated Report

Use FTPSendFile after a workflow generates a report.

Example:

Collect Report Data
       ↓
Generate Report
       ↓
Upload File
       ↓
Continue Process
The generated report becomes the source file, while the destination property specifies where to store it on the FTP server.

 

Upload a Generated Document

A document-generation workflow can upload its output to an FTP server.

Example:

Get Business Data
       ↓
Generate Document
       ↓
Upload File
       ↓
Complete Process
The generated document's file path can be supplied as sourceFilePath.

 

Upload an Invoice

Use the step to transfer invoices generated by a workflow to an external FTP location.

Example:

Create Invoice
      ↓
Generate PDF
      ↓
Upload File
      ↓
Notify User
The destination path can organize invoices into a designated server directory.

 

Upload a Daily Processing Report

A scheduled workflow can create a report and transfer it to an FTP server.

Example:

Collect Daily Results
        ↓
Generate Report
        ↓
Upload File
        ↓
Log Completion
Configure the FTP connection and destination path for the environment.

 

Upload an Export File

Use FTPSendFile after exporting workflow or business data to a file.

Example:

Retrieve Data
      ↓
Create Export File
      ↓
Upload File
      ↓
Continue
Use this pattern when an external process retrieves files from a designated FTP location.

 

Upload a File to a Specific Server Directory

The destinationFilePath property allows the workflow to specify the destination path on the server.

Example:

Create File
    ↓
Upload File
    ↓
/Inbound/Orders/Order_1045.xml
This helps organize files by business process, file type, or processing stage.

 

Upload Workflow-Generated Files

Files created during workflow execution can be transferred after the generating activity completes.

Example:

Generate Output
      ↓
Upload File
      ↓
Process Upload Result
This is useful when the workflow needs to transfer its generated output to an external file-processing location.

 

Store the Uploaded File Path

The relativeFilePath property provides a Variable or Global destination for the relative path.

Example:

Upload File
     ↓
variable.UploadedFilePath
     ↓
Downstream Processing
This allows subsequent activities to reference the path without hard-coding it again.

 

Use the Uploaded Path in a Subsequent Activity

A workflow can use the stored relative path after a successful upload.

Example:

Generate File
      ↓
Upload File
      ↓
Store Relative Path
      ↓
Continue Processing
The stored Variable or Global can be referenced by subsequent activities according to their supported inputs.

 

Upload Files Based on Workflow Data

A workflow can dynamically determine which file to upload.

Example:

Retrieve File Information
        ↓
Determine Source Path
        ↓
Upload File
        ↓
Continue
The source path can be supplied to the required sourceFilePath property.

 

Organize Uploaded Files by Business Process

You can construct the destination path to place files in appropriate server locations.

Example:

Process Request
      ↓
Create Output
      ↓
Upload File
      ↓
/Inbound/Requests/<RequestFile>
The exact path construction should be implemented using FlowWright Variables or other supported workflow mechanisms.

 

Upload Different File Types

The step accepts a source file path rather than defining a specific file extension in the XML.

You can therefore incorporate it into workflows that produce different file types, subject to the capabilities and configuration of the selected FTP connection and target server.

Example:

Generate PDF ──┐
               ├──→ Upload File
Create XML ────┤
               │
Generate CSV ──┘
The XML does not impose a specific file-type restriction.

 

Upload Files After Validation

Place the upload operation after validation when files should transfer only after successful processing.

Example:

Create File
    ↓
Validate File
    ↓
Upload File
    ↓
Continue
The False path of the validation activity can prevent invalid files from reaching the upload step.

 

Handle Upload Failure

The step provides True and False return paths, allowing the workflow to provide separate processing paths for successful and unsuccessful operations.

Example:

                    ┌─ True → Continue
Upload File ────────┤
                    └─ False → Log Error
An error-handling activity can record the failure and perform the required recovery processing.

 

Notify After Successful Upload

An upload can be followed by a notification.

Example:

Generate Report
      ↓
Upload File
      ↓
Send Notification
The notification can be used to inform users or another workflow participant that the file-transfer portion of the process has completed.

 

Upload Files as Part of an Integration Workflow

FTPSendFile can be incorporated into file-based integration workflows.

Example:

Prepare Integration Data
         ↓
Create Integration File
         ↓
Upload File
         ↓
Continue Integration
The FTP destination can act as the configured file-transfer endpoint.

 

Process Multiple Files

When a workflow processes multiple files, you can incorporate the upload operation into the corresponding repeated-processing pattern.

Example:

Process File
    ↓
Upload File
    ↓
Store Uploaded Path
    ↓
Process Next File
The source and destination paths should be set appropriately for each file being processed.

 

Use Separate FTP Connections

Where multiple configured FTP endpoints are available, select the appropriate connection for the workflow.

Example:

Prepare File
    ↓
Upload File
    ↓
Selected FTP Connection
The Select FTP property is based on the ClsFTPConnections data type and retrieves configured FTP connections.

 

Example:

Let’s build and execute the “ftpSendFileDef” example.          

  • Create a new definition named “ftpSendFileDef” and open it in designer mode. 
  • Drag an “ftpSendFile” step to the canvas.
  • Connect the dots between the “Start” and “ftpSendFile” steps, as shown above. 
  • Select the line between the steps to configure the “Connection Properties”. The default property values are “None, True, False, Error, and Evaluate”. Depending on the step’s purpose, you can configure additional values.
  • Define a variable or a global to store the FTP file path. 
  • Click the “ftpSendFile” step to configure its “Required” properties. Provide a name for the step. Provide the source file path to upload. Provide the destination file path. Click the Save button. Note: Click the "AI Predict" button to have the Copilot add new process steps that match your process description. 

 

  • The “Logging” configuration is necessary for documentation and to measure workflow progress and percent complete. This is done by configuring the step state and percent fields individually, as shown below. Configure the “Logging” using the following properties.

 

  • Save the process definition, create a new instance, and execute it. Render the process instance and click the Upload File step to view its properties. When the workflow reaches the FTPSendFile step, FlowWright uses the selected FTP connection, source file path, and destination file path to perform the upload. The configured Variable or Global is used to store the relative path. The workflow then follows the appropriate True or False return path. Click the process step to view its properties. The step uploads a file to the FTP server.

 

Tips:

  • Configure all four required properties before executing the step.
  • Select a valid configured FTP connection.
  • The Select FTP property is required. 
  • Verify that the source file exists and is accessible when the workflow executes.
  • Use a meaningful and complete source file path.
  • The source file path is required. 
  • Verify that the destination directory exists or that the configured FTP environment supports the required directory behavior.
  • Use the correct destination path and filename.
  • The destination file path is required. 
  • Use a meaningful Variable or Global name for the stored relative path.
  • The relative-path destination property is required. 
  • Test the FTP connection before deploying the workflow.
  • Test the workflow with representative files.
  • Verify the uploaded file at the expected server location.
  • Verify the value stored in the relative-path Variable or Global after execution.
  • Use workflow Variables when source or destination paths need to vary between workflow instances.
  • Keep destination paths consistent when an external system expects files in a specific directory.
  • Avoid overwriting existing files unless that behavior is intentionally required.
  • Consider including a unique business identifier or filename when the receiving process requires unique files.
  • Connect the True path to the normal continuation of the workflow.
  • Consider connecting the False path to appropriate error handling.
  • Test failure scenarios such as a missing source file, an inaccessible destination, an unavailable FTP connection, or an invalid path.
  • Avoid placing credentials or sensitive FTP configuration information in workflow log messages.
  • If multiple FTP connections are configured, verify that the correct connection is selected for each workflow.
  • Verify file permissions on both the source environment and the destination FTP server.
  • Test filenames with spaces, special characters, and different extensions when relevant to the workflow.
  • Test files of representative sizes, especially when large files are expected.
  • If the workflow uploads files generated by another step, verify that the generating step has completed and the file is available before FTPSendFile executes.
  • Do not assume retry, resume, overwrite, directory-creation, timeout, or transfer-mode behavior unless confirmed by the FlowWright implementation and FTP connection configuration.
  • The supplied XML does not expose authentication, encryption, timeout, retry, or transfer-mode settings for this step.
  • Although the internal name is ftpsendfile, the supplied definition identifies the category and connection type as FTP. Verify whether the configured connection uses FTP, FTPS, or another supported configuration before documenting the deployment as a secure transfer.

 

Definition Sample:

You may download the sample definition(s) from the link provided and later import them (drag-and-drop) into your FlowWright Process Definition (XML file) or Form Definition (HTML file) page.

Before executing a workflow containing the FTPSendFile step, verify:

  1. The Upload File step has been added to the Process Definition.
  2. A valid FTP connection has been selected.
  3. The source file path has been configured.
  4. The source file exists and is accessible.
  5. The destination file path has been configured.
  6. The destination path is valid for the selected FTP connection.
  7. A Variable or Global has been defined to store the relative path.
  8. The upstream workflow activity is connected to the Upload File step.
  9. The True path is connected to the normal continuation path.
  10. The False path is connected to appropriate alternate or error handling where required.
  11. Logging has been configured if workflow progress needs to be documented.
  12. The upload has been tested using representative files.
  13. The uploaded file has been verified at the expected destination.
  14. The stored relative-path Variable or Global has been verified.
  15. Environment-specific FTP connection and access settings have been confirmed.
  16. The Process Definition has been saved before execution.

Click here to download the sample file.