We need to upload daily data from the customer database to Salesforce. We had planned scheduled night loads.

  • One option is with csv files. For these loads, if the server is Windows (I think it is Linux) we can configure dataLoader and load the data with the application standard. Otherwise, we would have to opt for an ETL (higher cost).
  • Another option proposed by the client is that they call the Salesforce API and upload the information through integrations, would it be viable? What option do you think would be the best? Would there be others?

Thank you

2 Answers 2


The Apex Data Loader can conceptually work on Linux (its core is written in Java, which can run on Linux); you can download and compile the open-source version if you prefer. Alternatively, you could write your own integration without too much trouble, in Java, Perl, Ruby, PHP, C# (via Mono), NodeJS, or another language that can (a) read files, and (b) open a HTTPS connection. The Bulk API directly supports CSV files, so no parsing would be necessary if the files were correctly formatted. In summary, there are lots of ways you can build a DIY solution without paying for monthly ETL fees, depending on how much effort/developer availability you have.

  • What you propose is through CSV, and we either use dataLoader or another custom application. Would it be possible for the client to connect to SFDC and load the data directly, performing upsert in the bbdd?
    – Rodolfo
    Aug 12, 2019 at 12:41
  • @Rodolfo you could even use CURL or another standard utility command to send the data, so long as you can authenticate and able to send the file somehow.
    – sfdcfox
    Aug 12, 2019 at 12:50

If you need to import data for a single object, or multiple unrelated objects, using the Bulk API with Data Loader or a similar tool should work fine. On Linux, sfdx force:data:bulk or force bulk will probably be easier than Data Loader.

If you need to create multiple related records, you might want to look at using Composite Requests with REST API. I've done this using Ratchet, for example.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .