Is there anyway to run a bulk search in my instance looking to match one column (email address) from a csv? I get some long files that need mass checks for compliance reasons (400 rows - match on one column) I can't find built solutions like workbench or app that do this. Thank you.

What is the most efficient way to compare a single column of Email against all Contact records in CRM? If you go row by row, you'll burn an API call for each one. With the Bulk API, I've only found one way to do it, using WHERE Email IN () but you have to make several of those calls since Bulk API Query can only support queries of 100k characters.

  • What have you tried? Where are you stuck? Either SOSL or the Global Search bar seem to fit this need in some respects, but more detail is needed (edit).
    – David Reed
    Jun 8, 2020 at 18:08
  • As David mentioned need more details. It is not clear what is intent of your requirement. Do you want to do it in bulk by an automated process ?
    – user40322
    Jun 8, 2020 at 18:26
  • Hi, yes my needs are bulk - I will clarify in my question
    – jaw999
    Jun 8, 2020 at 18:36

2 Answers 2


There is no built-in solution to consume a CSV and run a search against multiple objects for each row. You will need to build this using custom code, either on-platform or ideally in a middleware/ETL platform.

The code needed is not particularly complex, but you should be cognizant of the fine details of how SOSL builds a result set if you choose to use SOSL, as it may not return all potential matches to you.

If this is a one-off need, I would script it using your scripting language of choice (Python is mine) off-platform. If this is a recurring need, detailed analysis of your specific requirements and the tools available to you would be needed to settle on an architecture.

  • Thanks. As it is recurring I think I am going to get internal help from developers associated with the source database. An off the shelf app would be cool though.
    – jaw999
    Jun 11, 2020 at 17:22

I have a bit of a hacky solution using workbench. If the field can be used as primary key, do an upsert including only that field in the mapping. The results file will include the record id for all records that were matched. Not a perfect solution and not a SOSL (all objects) solution. But, it can work in a pinch to get record ids.

  • 1
    Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
    – Community Bot
    Mar 6, 2023 at 16:50

You must log in to answer this question.

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