Skip to main content

Hello everyone,

I’m Darshan Hiranandani, working on an application that has thousands of users, and I need to regularly create and update these users in Intercom, at least once a week. The problem is that the current Contacts API doesn't fully support bulk updates and comes with some significant limitations:

  1. It requires my app to track whether a contact already exists before performing a POST or PUT request.
  2. The API rate limits are very restrictive, especially for medium-sized user bases (166 requests per 10 seconds).
  3. It also requires storing the Intercom ID for updates, which isn’t ideal since my app uses an external ID for users.
  4. Additionally, the manual import process requires mapping each attribute, which is cumbersome and prone to errors.

Given these constraints, I’m looking for a better approach or solution to enable bulk creation and updating of users in Intercom. Has anyone worked around these issues or found a better solution for handling bulk user operations?

Would love to hear your suggestions! Thanks in advance!

Regards

Darshan Hiranandani

@darshanhiranandani1  Very curious about the need to create and update contacts on a weekly basis, it feels like if that's an ongoing issue the better option is to figure out how to keep the two sources in sync more frequently or maybe pass any realtime updates to Intercom this way you don’t have to deal with the rate limiting of trying to do them all in a single process. 

Is there an important reason why you need to do this update batched vs keeping the user’s profiles and data updated in realtime?

This would be my suggestion, it’s how we handle these things in our app as well -- as a new user is created the information is passed to Intercom since our user’s aren’t always logged in/online in a way where Intercom gets the data in situations where they aren’t already added via the Intercom JS snippet through the main webapp,

You could update and pass any data variables as well at this time or events as they happen etc. 

Hope this helps!


Reply