Divjoy

Create a Next.js app with Intercom

a dev guide by Divjoy ✨

About this guide

This development guide walks you through everything you need to do to build a high-quality Next.js app integrated with Intercom. Check out the tasks below to get started. To save time, you can also use our boilerplate, which gives you a complete React codebase with all of these tasks done for you. Okay, let's dive in!

Tasks

  • ⚛Setup your Next.js app

    Create a Next.js app using npx create-next-app and then run your project locally with the npm run dev command.
  • 💬Create a component that adds the Crisp script

    Create a custom Chat component that handles adding the Intercom script to the head of your web app. You'll want to render this component in your App component so that it's included on all pages. Internally this component should execute the Intercom chat script within a Next.js Script component so that it runs after Next.js hydrates the page.
  • 🛣Update Intercom on route change

    User navigation with the Next.js router won't automatically update Intercom with the user's current page. To do this you'll need to listen to route changes using Router.events.on('routeChangeComplete', callback) and then within your callback function execute window.Intercom("update") with the current timestamp. As explained in the Intercom docs, updating Intercom with a new value (current timestamp) initiates a ping to Intercom and forces it to pick up the user's current URL.
  • 🙋Update Intercom with user data

    If using authentication then you'll want to update Intercom with the authenticated user's email and name. If you're utilizing an authentication hook, such as useAuth, to listen to the user's authentication state then you can simple fire off a useEffect whenever the user object changes. The effect should update the email and name fields using window.Intercom("update"), as explained further in the Intercom docs. This method ensures that user data gets populated after signin as well as when the user changes their info within your app.

Get the code

You can get the code for this guide with our Next.js and Intercom Boilerplate. You'll get a complete Next.js codebase with Intercom integration, all the tasks listed above done for you, and a responsive multi-page template. It should save you about two weeks of development time.

127 downloads today

Related Guides