Best Practices for Integrating with Files.com
Choose an integration method according to the system that starts the work and the operations it needs. An application that uploads files, a script that provisions users, and a workflow connecting two storage systems can use different parts of Files.com.
First consider whether Files.com's built-in integrations, Automations, Syncs, or Folder Settings already perform the work. Custom code is useful when your application needs to control those operations or combine them with its own logic.
Integration Method Decision Guide
| Your Environment | Recommended Starting Point |
|---|---|
| An application written in a supported language | An official Files.com SDK for file operations and platform administration. |
| Shell scripts, PowerShell, batch jobs, or CI/CD pipelines | The CLI App, with JSON, CSV, or table output for further processing. |
| Business processes already running in an iPaaS platform | The corresponding iPaaS connector. |
| Infrastructure managed as versioned configuration | The Files.com Terraform provider. |
| An AI application or agent that uses MCP | The Files.com MCP Server. |
| An application that cannot use an SDK or the CLI App | The REST API. |
| A partner, device, or application that requires a specific transfer protocol | The matching protocol connection. |
| Files.com needs to reach another storage system | A Remote Server connection, with a Mount or Sync according to how the files will be used. |
When connecting two Files.com sites, use a Files.com Remote Server. Connecting to Another Files.com Site covers both sides of the connection.
SDKs
Use an official SDK when your application is written in Go, Java, JavaScript, Microsoft .NET, PHP, Python, or Ruby. SDKs handle authentication, request formatting, pagination, and retry behavior. Transfer optimizations, including parallelism and chunking, vary by SDK.
SDKs support both file operations and platform administration. For example, an application can upload a file and create a Share Link, provision users and permissions, or retrieve logs and usage data. Choose an API key whose user, permission scope, and Workspace match the integration's work.
iPaaS Connectors
Files.com provides connectors for Microsoft Power Automate and Azure Logic Apps, Boomi, MuleSoft, and Zapier. Use the matching connector when your process already runs on one of these platforms or your team needs a low-code integration.
The Boomi, MuleSoft, and Zapier connectors use Files.com SDKs. Power Automate and Logic Apps use Files.com APIs. The connector's supported operations determine which parts of your workflow it can perform.
CLI
The Command Line Interface (CLI) App runs on Windows, macOS, and Linux. It fits shell scripts, PowerShell, and batch files that need file transfers or administrative operations without implementing an API client.
The CLI App handles parallel transfers, chunking, and retries. Its output formats and logs let scripts process results and retain a record of each run.
Terraform
The Files.com Terraform provider manages site configuration as code, including users, groups, permissions, folders, Share Links, Inboxes, Automations, Remote Servers, and Syncs. Use it when your organization already manages infrastructure through versioned, declarative configuration. Its provider reference lists supported resources.
APIs
The REST API provides file operations and platform administration to any HTTP client. Use it directly when an SDK or the CLI App does not fit your environment.
Your application must handle authentication, pagination, error responses, retry delays, and any transfer parallelism or chunking it needs. API responses also provide the information needed to track background operations.
Protocols
SFTP, FTP/FTPS, WebDAV, and the S3-compatible endpoint provide file access for systems that require those interfaces. AS2 handles transmissions and receipts between trading partners. Use the protocol required by the connecting system and review its Files.com-specific behavior.
File-transfer protocols do not expose site administration, such as user provisioning or permission management. Use an SDK, the CLI App, Terraform, or the REST API for that work.
Asynchronous Background Operations
Some Files.com operations run in the background. A successful response can mean that Files.com accepted the operation, while the requested change is still in progress.
For example, a move between storage regions or Remote Server Mounts can return before the destination is ready. SDKs, the CLI App, and API responses expose status information for asynchronous operations. Wait for the operation's final outcome before starting a dependent step.
Traditional file-transfer protocols do not expose the same background-operation status. Integrations using those protocols need to verify completion before processing the destination. A fixed delay alone cannot establish that a transfer has finished.
Retries
SDKs and the CLI App retry temporary network or server failures. Your integration still needs to handle the final outcome when retries are exhausted. A retry cannot correct invalid credentials, missing permissions, or an invalid request.
If you add retry logic, increase the delay between attempts and avoid creating an unbounded retry loop. For protocol clients, check whether the client retries failed operations and whether its exit status reliably reports a failed batch.
Parallelism
Parallel transfers improve throughput when the client, network, and storage can handle the additional work. Choose concurrency according to the connection limits, the client's settings, and the external storage involved.
Concurrent processes can also act on the same files. Account for other users and workflows, and wait for background operations before starting work that depends on them.
Performance Considerations
Operations
The storage locations and the operation itself determine much of the work Files.com must perform. A move or copy across storage regions or Remote Server Mounts involves transferring data between those locations.
Client behavior also matters. Some protocol clients implement a copy by downloading the file and uploading it again, which adds a round trip through the client. Prefer a server-side operation when the integration method supports it.
Uploads and Downloads
Prefer HTTPS transfers through a Files.com SDK or the CLI App for new programmatic integrations. They provide transfer optimizations without requiring you to implement them yourself. For interactive transfers, choose from the preferred apps.
SFTP, FTP/FTPS, and WebDAV performance depends on client settings, connection latency, and the storage being accessed. File Transfer Speed covers the factors that affect throughput. WebDAV's repeated requests make latency particularly noticeable when working with many files.
Calculating Folder Size
A Files.com folder tree can include Remote Server Mounts, so a recursive size calculation may require listing files in external systems. The SDKs and API do not provide a single recursive folder-size function. If your integration needs this value, it must traverse the accessible folder tree and sum file sizes, accounting for the cost and limitations of the connected storage.
Assistance
Our Support Team can help you choose an integration approach and investigate failures.