Flat file integration (CSV/TXT/TSV) is a practical approach for batch data exchange with Salesforce when real‑time APIs aren’t required. Learn how it works, when to use it, key tools, and a working Apex example.
What is Flat File Integration?
Flat file integration exchanges data between Salesforce and external systems using structured plain-text files such as CSV, TXT, or TSV. It is commonly used for scheduled, batch transfers when direct, real-time connections via APIs are not feasible or necessary.
Typical flow
- Data export: The source system exports records into a flat file (CSV/TXT).
- File transfer: The file is securely moved to a location accessible to Salesforce (SFTP/FTP or middleware).
- Data import: Salesforce ingests the file using Data Loader, Data Import Wizard, or ETL tools.
- Error handling: Import errors are logged, corrected, and reprocessed.
How flat file differs from API integration
Flat file and API integrations serve the same goal — moving data between systems — but they differ in immediacy, format, complexity, and cost. Use flat files for large, periodic batches and limited connectivity; choose APIs for frequent, near-real-time exchanges.
Key differences
- Mode: Flat files = batch; APIs = real-time.
- Format: Flat files = CSV/TXT/TSV; APIs = JSON/XML.
- Speed: Flat files depend on transfer/processing schedule; APIs are faster.
- Complexity & Cost: Flat files are cheaper and easier to set up; APIs need development and management.
When to choose flat file integration
- Limited connectivity or no API support in the external system.
- Large data volumes that are more efficient as scheduled batches.
- When slight delays in updates do not impact business operations.
- To reduce integration costs (less middleware and licensing).
Tools & best practices
Common tools and techniques for reliable flat file integrations:
- Data Loader / Data Import Wizard for bulk imports into Salesforce.
- SFTP/FTP or secure middleware (Mulesoft, Boomi, Informatica) for file transfers.
- Named Credentials and External Credentials in Salesforce to simplify authenticated callouts to file transfer APIs or middleware.
- Design a robust error handling and retry strategy: validate files, log failures, and provide meaningful error reports to source systems.
- Use a consistent file naming convention and include processing timestamps to avoid duplicate processing.
Sample Apex: trigger a flat-file upload via a named credential
Below is a compact Apex example that demonstrates packaging a simple file body and posting it to a callout endpoint backed by a Named Credential. Adapt this pattern to your middleware or file-API provider.
public with sharing class FlatFileIntegration {
public FlatFileIntegration() {
}
public void triggerIntegration() {
FTPRequestWrapper ftp = new FTPRequestWrapper();
ftp.path = '/';
ftp.fileName = 'hello.txt';
ftp.body = EncodingUtil.base64Encode(Blob.valueOf('Hello Testing'));
String jsonPayload = '[' + JSON.serialize(ftp) + ']';
HttpRequest req = new HttpRequest();
req.setEndpoint('callout:FlatFileNamedCredential');
req.setMethod('POST');
req.setBody(jsonPayload);
Http http = new Http();
HTTPResponse response = http.send(req);
System.debug('###Response: ' + response.getBody());
}
public class FTPRequestWrapper {
public String path;
public String fileName;
public String body;
}
}
Practical tips
- Validate CSV headers and use consistent timestamp formats (UTC recommended).
- Keep file sizes manageable — split very large exports into smaller batches.
- Store raw files and processing logs for auditability and troubleshooting.
- Use checksums or file signatures to detect corrupted transfers.
Conclusion
Flat file integration remains a reliable, cost-effective approach for many Salesforce use cases where real-time connectivity is unnecessary or unavailable. With the right tools (SFTP, Data Loader, Named Credentials) and robust error handling, teams can build scalable, maintainable batch integrations.
Why this matters: For Salesforce admins and developers, understanding flat file patterns expands your integration toolbox — letting you choose pragmatic solutions that balance cost, complexity, and business requirements. Business users benefit from predictable data refresh schedules and lower integration costs.




Leave a Reply