What we learned from building an Intercom integration

4 tips from productboard

Intercom Developers
5 min readNov 29, 2016

This is a guest post by Daniel Hejl, co-founder and CTO at productboard, an Intercom Platform Partner. The productboard-Intercom integration helps product teams and startups leverage thousands of Intercom conversations to build better products.

Today teams are faced with an increasing number of communication channels with their prospects and customers, from social media, to email, to customer support platforms. As this has grown unwieldy, teams have turned to Intercom to consolidate all prospect and customer communications under one roof. Our own team uses Intercom religiously, as a CRM, support management and marketing automation platform.

But as your team amasses a wealth of product inputs across thousands of Intercom conversations, how do you put them to use? How do product managers use them to decide what to build next? How can dev teams gain access to all this valuable context so they can truly appreciate their end users’ needs? In most cases this remains a missed opportunity.

That’s why we built an integration that lets you capture insights in Intercom conversations and link them directly to the feature ideas they inspire. This helps product teams understand what users really need, prioritize what to build next, and preserve critical context that ensures teams build products that address real user needs.

Here’s how it works

When you sign up for a productboard account on our Intercom integration landing page, we circumvent the typical onboarding flow and route you straight to our in-app Intercom integration page.

One click later, the authorization is complete and you’re returned to the updated integrations page, where you can set rules to indicate what types of Intercom conversations should be pushed to productboard from here on out. You can also carry out a one-time import of historic Intercom conversations.

All you need to do now is wait for conversations to stream in from Intercom, where they can be analyzed, categorized and linked to related feature ideas in productboard.

Want to take a closer look? You can see the whole flow from start to finish in this brief video:

Now that we’ve reviewed what the integration does and how it works, I wanted to share a few things we learnt that you should consider before building an enterprise-grade integration of your own.

4 tips for building a successful Intercom integration

Since we wanted our Intercom integration to be one of the main channels for loading research and feedback into productboard, it had to be more robust than the typical integration you might hack together for personal use.

After all, when organizations like Avast, BambooHR, Sprout Social and Envoy decide to use productboard to power product management at their companies, they’re relying on us to seamlessly connect with the data sources that support their product prioritization processes.

1. Define your requirements early

To prepare for development, we started by reading Intercom’s comprehensive API documentation and gaining inspiration from Intercom’s Ruby library, which helped us identify and overcome potential technical obstacles.

For example, it became clear that Intercom tags would be the best mechanism for users to indicate which conversations to push into productboard. But when we learned the API doesn’t support fetching just conversations of a certain tag, we formulated a plan to fetch all conversations first, perform additional requests to determine which conversations have which tags, and then filter for conversations with the special tag.

It’s rare for an API to accommodate every use case you can come up with for an integration, but defining our requirements early helped us seek the help we needed without losing time.

2. Focus on stability and reliability

Our next step was to prepare for massive quantities of data in our customers’ Intercom accounts, especially because we wanted to allow users to import historical data. One of our first customers to use the integration had over ten thousand Intercom conversations!

Loading so much data onto your platform at once can lead to sudden and unexpected spikes of load on your servers. We had to make sure that those spikes wouldn’t cause any performance degradations for other users, so we made all data the processing asynchronous and spread across a series of background jobs, each with different priority.

We also wanted to ensure the reliability of our integration. Intercom’s Subscription Error Feed came in handy here. It contains a list of delivery failures for a given subscription. That’s extremely helpful in special cases when our receiving webhook might be temporarily unavailable.

Each item in the list contains the original request so it can be re-run when our webhook is back online. We certainly appreciate Intercom’s commitment to ensuring a positive experience for integration end-users.

3. Don’t forget security

High security standards are essential for everything we do. We want every enterprise to be confident that productboard is a tool they can use to shepherd valuable customer data and make critical strategic decisions. SSL and OAuth are table stakes for any API integrations these days.

A more advanced feature you might consider using is Signed Notifications. You can configure the webhook subscription to request notifications to be signed by Intercom with a SHA-1 signature using a secret you configure. The digest is then sent using an X-Hub-Signature header in the request and can be verified by your receiving webhook.

This allows you to make sure that it’s Intercom who is hitting your webhook endpoint, not somebody else who just guessed the URL.

4. Continue to iterate

As Intercom has continued to evolve its API, we’ve continued to improve our integration, and the efforts have paid off. Many of our most loyal and successful customers use the integration daily. And since Intercom serves modern agile companies, their customers tend to align well with our target segment.

Building an enterprise-grade integration is never an overnight effort, but thanks to Intercom’s top-notch documentation, support, and ongoing community-driven API improvements, hundreds of teams are now one step closer to ensuring they’re building products that users really need.

Thank you to Daniel and the folks at productboard! If you’re interested in building an integration with Intercom, take a look at our Developer Hub to get started.

If you liked this post, please give it a recommend below😀

--

--