I have an application with a few thousand users that I would like to create/update in intercom and synchronise at least weekly with attributes that are calculated by my backend and that are required for contextual engagement.
The Contacts API does not support bulk updates and has two major constraints for large volume: i) it requires your app to understand whether a contact has already been created before calling with POST or PUT (the javascript SDK does not suffer from this); ii) the API rate limits are ridiculously small for any medium-sized user base (166 requests per 10s window, what???), which are even smaller if you need to check if a user exists before issuing either a POST or PUT.
Furthermore, the Contacts API requires you to save the intercom id for a user for any updates, which is not user-friendly at all. The javascript SDK operates from the external_id provided (controlled by my app), while the REST API does not understand it at all and requires you to either call a GET or save the intercom id in the database. Yes, RESTful, but very bad design.
And, the manual import requires that all attributes being imported to be manually mapped by the user, a major time drag and extremely error prone.
So, are there any better options to enable bulk create/update of "user" contacts?