Bulk upload contacts - multiple contacts upload



  • Dwight Bussman
    Zendesk Customer Care

    HeyO Christos,

    The two methods mentioned earlier are currently the best methods of which I'm aware to import a large number of contacts.

    Here are those two paths again just for reference:

    • CSV File Import - This is limited to 3k contacts per CSV file, so you'd be looking at ~34 files to import ~100k users. While I realize this method is a bit cumbersome, it doesn't require any coding/scripting logic.

    • API Importing - It appears that the Sell Contacts API doesn't offer a bulk-import via the API. Nonetheless, it should be possible to write a script which loops over a CSV file, calling the individual create contact endpoint (or upsert if those contacts may already exist). Per this Sell API rate-limits page it should be possible to make 36,000 requests per hour, meaning that 100 users could be created in under 3 hours assuming no other API calls are needed during that time.

    Hopefully this helps to address your needs for getting these users imported.

    Dwight B. | Customer Advocate

    Zendesk Experience Research Panel

  • Christos Pazaras

    Hey Dwight!

    Thanks very much for the insights :)

    So based on these facts, we have the following:

    • CSV files import - As you very well said one would have to generate ~34 files to import ~100k contacts.
      In addition to that, we must also consider that:
      - after uploading each file, the CSV fields must then be matched to the respective Sell fields, manually and one by one (~40 columns per file --> 40 extra clicks, times 34 files)
      - adding to that the actual import duration (in my case ~10min per file) we're looking at ~15 minutes per 3000 contacts, or ~8,5 hours for ~100k contacts
      - this method does not provide any possibility for automation (which is the goal), meaning every time a full contacts upload has to take place, somebody must allocate ~8,5 hours to do it.
    • API method: This is what I tried. Calling the individual create contact endpoint, it takes about 1 minute per 100 calls (the code is single-threaded - meaning simultaneous API calls are sadly not possible - each call can be made only after the previous one has finished) - so to upload ~100k users it would take ~1000 minutes or about 16,5 hours.

    I believe we will agree that both of these scenarios are not very attractive - and might I say even a tad bit unproductive.

    ...which begs the question, why on earth should we have to go through all this, when there could simply exist a bulk import endpoint, as is the case with most modern APIs 🙂

    (On a serious note - I of course am not aware of the reasons why such an endpoint may not exist, and there may very well be a justifying reason - it is quite baffling though, seeing as among other products we are also using "Zendesk Support" for example, with whose API it is perfectly possible and easy to bulk upload contacts. Takes a single click and about 1-2 hours to upload 100k contacts.)

    Always in a friendly manner.


  • Dwight Bussman
    Zendesk Customer Care

    Good points, all. I will definitely relay those to the Sell product team for consideration of how this might be streamlined (whether through improvements to CSV import or the creation of a bulk-endpoint). I would also recommend posting this point within https://support.zendesk.com/hc/en-us/community/topics/360003042793-Feedback-on-Sell so that other could up-vote this idea!

    I appreciate your thoroughness & candor both! :D 


Please sign in to leave a comment.

Powered by Zendesk