Guides · Intercom

Get a Mac notification for new Intercom conversations and replies

Intercom posts a notification the moment a customer starts a conversation, replies, opens a ticket or signs up as a lead. Point your app's webhooks at EventBar and each one pops up in your menu bar, with today's count of new conversations a glance away, even when the Intercom inbox is closed.

Needs: the free EventBar app on your Mac, an EventBar account, and an Intercom workspace and an app in the Intercom Developer Hub (a private app for your own workspace is free to create), where Intercom's webhooks live. About five minutes. Intercom preset, signature verified.

Steps

  1. Create the webhook URL. In the EventBar dashboard, open the Webhooks tab, pick the group this belongs to (one group per site or app is the usual shape), choose the provider Intercom, name it, and press Create. Copy the URL; it stays visible and can be rotated any time.
  2. Paste it into Intercom. In the Intercom Developer Hub: open your app (or create one), then Configure, then Webhooks. Paste the URL into Endpoint URL, pick topics such as conversation.user.created, conversation.user.replied, ticket.created and contact.lead.created, and save. Each topic names the permission it needs; turn that on under Configure, then Authentication, if Intercom asks. Then open the app's Basic Info page, copy the Client secret and paste it into the hook card in EventBar. Send a test request on the Webhooks page is the quickest first delivery.
  3. Trigger one. Most services offer a test delivery; otherwise do the real thing once. It shows up in the dashboard's Events tab within a second and in the menu bar, as an undefined type named after the event. That first one is your proof the wiring works.
  4. Make it read well. Press Define on the new type and give it a title and a body template. Fields come from the payload, nested ones with dots. The table below is a starting point.

This preset is on Plus and Pro. Free can do the same with a Generic JSON hook and a type field of topic, without the signature check.

What you'll see

TypeTitleBody template
conversation.user.createdNew conversation{data.item.source.author.name} ({data.item.source.author.email}) · {data.item.source.subject}
conversation.user.repliedCustomer replied{data.item.source.author.name} · {data.item.title}
conversation.admin.repliedTeammate replied{data.item.conversation_parts.conversation_parts.0.author.name} replied
ticket.createdNew ticket{data.item.ticket_type.name} #{data.item.ticket_id}: {data.item.ticket_attributes._default_title_}
contact.lead.createdNew lead{data.item.name} · {data.item.email}

Every type has its own switch in the menu bar, so a noisy one can be quiet on this Mac and still counted. Counts cover the last hour, 24 hours, 7 days, 30 days and all time.

Worth knowing

The full contract, including how each preset reads a payload and what the answers mean, is in the API docs. Something about Intercom's payload changed? Tell us and we'll fix the guide.