We currently have multiple flat files that need to be imported daily. Currently, we are manually importing the files using data loader. We are simply importing to Accounts and Opportunities.

The process is two prong. First, we have a process that exports the data from another database to a flat file (csv) and copies it over to a FTP site. Then a user will manually get the file and load into Salesforce.

We are looking at ways to automate this process with no user intervention. We are looking at the automated pull approach or an http request / response. Is there any Salesforce examples of how each of these processes would be implemented? I'm sure this is probably a pretty common problem. We don't want to do any command line scripting process.

Any examples of how to implement this functionality would be immensely helpful.

Thanks for any help. Regards.

  • Have you looked at an etl tool, like talend as an example?
    – Girbot
    Sep 4, 2014 at 22:32
  • 1
    if you dont want to license a tool, you could a) write an apex rest service that would accept a POST with the new data, or b) write an inbound email handler that accepted csv attachments or c) you could have a scheduled apex job that made an outbound rest/soap call to a rest/soap service on your source system.
    – cropredy
    Sep 4, 2014 at 22:48
  • are there any examples of options a, b, and c? I'm not overly familiar with REST.
    – Dman100
    Sep 4, 2014 at 23:04
  • These are all covered in general terms within the Apex Developer's Guide doc from SFDC. Apex also includes some CSV parsing methods that can help. If you are more familiar with SOAP, Apex can do that as well. Your question is a pretty broad one for a custom solution - the ETL tools handle this as a matter by design in exchange for your $$
    – cropredy
    Sep 17, 2014 at 5:57
  • If you want to stick with the current method and tools using data loader, simply create a process bean that you can reference in a windows scheduled task. This would simply remove the manual work being done with Dataloader. Check out this article for an in depth explanation. developer.salesforce.com/page/… Jun 14, 2015 at 17:46

3 Answers 3


You could use Jitterbit Data Loader, to schedule the imports. We do something similar were I work and have a scheduled export from one of our systems to a .csv file and have a daily upsert into Salesforce. You can import from Flat Files, Databases, Excel Files, Local Files, Fileshare or FTP as documented here.


Jitterbit is not the best solution. If you have more than one UPSERT to run for different Salesforce objects, you will have always to update the SOURCE writing the .CSV file from which you are picking up the data for the UPSERT to run. If a column is added or removed or data change in your .CSV file, you need user interaction to update the file format, the mapping, deploy them. That's not automated.


You can use the Salesforce standard CLI DataLoader which is used to automate the import and export. Here, You can get the detailed info.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.