archive about

How we use Intercom in the deepfreeze.io registration workflow.

I will describe here how we integrated Intercom with our invitation and registration workflow at deepfreeze.io to send user notifications, and how this helps us deliver better services.

We've been using Intercom a lot at Longaccess. When we launched deepfreeze.io we decided to push the integration a bit further. I will describe here how we integrated intercom.io with our invitation/registration workflow.

What we do.

deepfreeze.io is currently only available by invitation. Users request an invitation, and as we scale the service and we are able to support more, we activate their accounts. The process goes like this.

Step 1: Invitation request.

Anyone interested in using the service while we are in Beta, must connect using their Dropbox account. When they do so, a user record is created in our DB and a similar user record is created in Intercom, using their REST API.

The user in our database is marked as inactive and we have an Intercom custom field called df_active set to false. We also have an automatic campaign that sends out a notification to users with df_active=false that the registration was successful and that we will notify them when their account is activated.

So, the user registers at our website, an account is created in Intercom too, and an email is sent to them automatically.

Step 2: Invitation activation.

Now, when we activate a user in our backend, we also set df_active=true in Intercom (using the API). And we have a second automated campaign that sends a notification to the user (to all users with df_active=true and sessions=0) that their account is active and they can start using deepfreeze.io.

Note: Normally (i.e. if you use the Intercom javascript snippets in your site) you will never see a user with zero sessions, in which case you should obviously adjust your campaign. This happens in our case because we create the users using the REST API.

Why use Intercom for this?

At first, you may ask, why not send these two emails from our backend? Wouldn't it be easier? There are a couple of good reasons.

First of all: No, sending emails from our backend would not be much easier, it might even be more complicated. Because it's not just using the email() function of the language/framework you use. You'll have to design the email template, make sure that your SMTP gateway is in good health, and so on -all the little details involved in sending emails you want make sure your emails will make their way to their recipients and they will be read.

In addition to outsourcing our outgoing emails to someone who's business depends on this, and knows how to do it better, this approach helped us separate the communication functions from our core product development.

Customer support does not need to ask the developers team to change email texts or design, they can do it themselves. If they want they can send additional messages. Or pause outgoing messages for a specific period. Or send different emails to users with different characteristics. And they can do all this by themselves.

We also get additional benefits: We can see if the email was opened and if the user clicked a link. And when a user relies to one of these emails, the reply appears in Intercom and it's easy to delegate to the right person.

It makes our life much easier and allows us deliver much better services to our users the fact that every contact we had with a specific user is there, under their Intercom profile. Even team@deepfreeze.io, our main contact email is forwarded to Intercom: When users send us emails there, they appear as part of our contact history.

I hope this post will help others get the most out of Intercom. For us, it has turned out to be a great tool.


deepfreeze.io screenshot

deepfreeze.io is the ideal cloud storage solution for files you rarely use.

intercom

Intercom "is a single platform where you can see in real-time who is using your product and send personalized messages to the right users at the right time based on their behavior."