Boomi Managed File Transfer connector
The Managed File Transfer connector directly interfaces with the Content API and replaces one-file-at-a-time downloads with batch downloads in a single execution, streams transfers to handle multi-gigabyte files, and includes Start step support for native Replay/Reprocess of failed files. It uses OAuth2 client credentials (can be overridden per environment) for authentication and delivers file metadata as tracked document properties.
To download multiple files at the same time, add a Flow Control step between the List operation and the Get step, with parallel processing set to threads. Each thread runs its own Get. Four threads is a good starting point. Runtime clouds run at most 10 parallel units. If you enter a higher number, the runtime uses 10 and does not report a warning.
Prerequisites
To use the connector and create a connection to your MFT portal from Boomi Integration, do the following:
- In your MFT account, create a Boomi MFT Connector endpoint
- Ensure the MFT portal is accessible to Boomi Integration
Limitations
-
The connector downloads one file at a time within an execution. There is no concurrent download setting.
-
Only one process should read from a given flow endpoint at a time. Each process lists the same files, so a second process downloads the same files again. Attach the process schedule to a single runtime. To download files in parallel within one process, use a Flow Control step instead.
Configuration
To configure the connector to communicate with MFT, choose the object type and then configure a connection and operation.
- Object - List (list files), Get (download a file from MFT), Create (upload a file to MFT)
- Connection - The Client ID, Client Secret, and Access Token URL to be used to create a Managed File Transfer connection. You get this information from the Boomi MFT Connector endpoint in the MFT portal.
- Operation - This component defines the type of operation that can be performed on the Managed File Transfer connector.
Supported objects
The following Content API objects are supported by the Managed File Transfer connector operations:
FileList(List object)Download(Get object)Upload(Create object)
Tracked properties
This connector has the following tracked properties that you can set or reference in various step parameters:
- fileId
- fileName
- fileSize
- timestamp
- createdDate
- remoteDirectory
- subfolderPath
- protocol
- transferType
- flowEndpointId
- flowId
- endpointId
- organizationId
- tenantId
- customerId
- originalName
- status
- actionType
- flowEndpointType
- uploaderId / uploaderName / uploaderType
- chunksUploaded
Flow endpoint tags are not tracked properties. They arrive in the body of each List document as flowEndpointTags and sourceFlowEndpointTags. The key is omitted when the endpoint has no tags.
If you want to use Flow endpoint tags as tracked properties, you can use a Data Process step with the following Groovy script after a List operation with the metadata object type to convert each tag into a Dynamic Document Property, which can then be used in a Decision or Route step.
import groovy.json.JsonSlurper
for (int i = 0; i < dataContext.getDataCount(); i++) {
def text = dataContext.getStream(i).getText("UTF-8")
def props = dataContext.getProperties(i)
new JsonSlurper().parseText(text)?.flowEndpointTags?.each { t ->
props.setProperty("document.dynamic.userdefined.tag_" + t.name, t.value)
}
dataContext.storeStream(new ByteArrayInputStream(text.getBytes("UTF-8")), props)
}
This method works only when the document body is the JSON metadata record. Flow endpoint tags are not searchable in Process Reporting.
Refer to Adding tracked fields to a connector operation to learn how to add a custom tracked field.