A Singapore Government Agency Website

CFT

The CFT Node connects your workflow with Cloud File Transfer (CFT), a secure platform for exchanging files between Government systems. This node lets your workflow receive files when another agency sends them through CFT. It is commonly used for exchanging structured data like reports, CSVs, or XML files between systems. Visit CFT Resources to learn more.

CFT Support: For any enquiries or issues related to CFT, please reach out to the CFT Service Desk via go.gov.sg/cft-sm.

How Does It Work?

The CFT Node follows the CFT REST API specification closely to ensure seamless integration with the Cloud File Transfer platform. For detailed API specifications, refer to the CFT REST API Documentation.

Prerequisites: You need CFT credentials (Client ID, Client Secret, and Workflow ID) as sender from the Cloud File Transfer platform. See How to Configure in CFT for the configuration steps.

Upload File

Setup Steps:

  1. Build your workflow using Graph Edit Mode (minimum setup: input node → CFT node → output node, but you can add more nodes as needed)
  2. Click on the CFT node settings to open its configuration
  3. Select Upload File as the operation
  4. Configure the following data:
    • Client ID: Sender’s application ID provided by CFT
    • Client Secret: Sender’s application secrets generated by CFT
    • Workflow ID: Provided by CFT when you created a workflow that associate your sender and receiver applications
    • Filename: Name of the file including format (e.g., sample.csv)
    • File Data: File content in base64-encoded format

Output:

The CFT Node receives secure file transfers and returns file information in the following format:

  • fileId: Unique identifier for the uploaded file (can be used to retrieve the specific file later in Download File)
  • traceId: Trace ID for tracking the file transfer request

This output can be used by subsequent nodes (e.g., Extract Node, Function Node) to retrieve the file using the fileId, then parse, transform, or store the received file data.

List File Details

Setup Steps:

  1. Build your workflow using Graph Edit Mode (minimum setup: input node → CFT node → output node, but you can add more nodes as needed)
  2. Click on the CFT node settings to open its configuration
  3. Select List File Details as the operation
  4. Configure the following data:
    • Client ID: Sender’s application ID provided by CFT
    • Client Secret: Sender’s application secrets generated by CFT
    • Workflow ID: Provided by CFT when you created a workflow in CFT that associate your sender and receiver applications

Output:

The CFT Node returns detailed file information in the following format:

  • endDate: Timestamp indicating when the download period ends
  • files: Array of file objects containing:
    • createdAt: Timestamp when the file was created
    • fileID: Unique identifier for the file
    • key: Filename of the downloaded file
    • receiverSHA256Hash: SHA-256 hash for file integrity verification
    • status: File security scan status (e.g., “FileClean”)

Download File

Setup Steps:

  1. Build your workflow using Graph Edit Mode (minimum setup: input node → CFT node → output node, but you can add more nodes as needed)
  2. Click on the CFT node settings to open its configuration
  3. Select Download File as the operation
  4. Configure the following data:
    • Client ID: Sender’s application ID provided by CFT
    • Client Secret: Sender’s application secrets generated by CFT
    • Workflow ID: Provided by CFT when you created a workflow in CFT that associate your sender and receiver applications
    • fileId: File ID associated with file uploaded. (obtained from Upload File or List File Details output)
    • Start Date (Optional): Start date in epoch format for filtering files
    • End Date (Optional): End date in epoch format for filtering files
    • Cursor (Optional): Cursor for pagination

Output:

The CFT Node returns the actual file content in the following format:

  • data: Base64-encoded file content
  • fileId: Unique identifier for the downloaded file
  • traceId: Trace ID for tracking the download request

How to Configure in CFT

  1. Configure Applications: Create two applications in CFT (one for sender and another for receiver). Follow the guide: Create Application

    • Note down the Application ID and Secrets generated for each application
    • Sender Application: The Application ID and Secrets will be used for uploading file as a sender in all operations in the CFT node
    • Receiver Application: The Application ID and Secrets will be used for receiving the file in the input node (see CFT (Trigger) for more details) or in external systems with correct configuration

    Note: Application ID in CFT refers to Client ID in the OPUS system.

  2. Configure Webhook: Set up a webhook to trigger systems when file events occur. Follow the guide: Create Webhook

    • Configure the webhook URL to point to:
      • OPUS system: Use the input node URL (see Endpoint Configuration) to trigger OPUS workflows
      • Note down the webhook secrets

    Note: This step is required only when you need CFT to trigger the Opus workflow or your external system. Otherwise, it is optional to configure and add to the workflow.

  3. Configure Workflow: Set up the workflow in CFT. Follow the guide: Create Workflows

    • In the workflow configuration, link the two applications (sender and receiver)
    • Note down the Workflow ID generated
    • Add webhook created in step 2 to trigger OPUS workflow.

    Important: If you are triggering OPUS workflow, make sure to check “File Ready For Download” in the event subscription.

When to Use It?

Use CFT Node when:

  • You need to receive secure files from another agency.
  • You are working with large file-based data (e.g. CSV, Excel, XML).
  • You want to automate the file-handling process (e.g. transform or store it).

Tip: Combine with a Transform Node if you want to extract or reshape the file content and always validate the file structure before processing.

Support

Chat with me!
Bot Launcher