Intercom (conversations and tickets into your inbox)

Connect an Intercom workspace to Usero and the support conversations and tickets your team already handles in Intercom land in your Usero inbox as feedback. Each one is a normal feedback item: it clusters with reports from the widget, Slack, email and forms, it counts toward the same themes, and it can open a GitHub pull request like any other item. Usero checks Intercom every hour and you can trigger a sync by hand any time.

The connection is an Intercom OAuth install with read-only scopes. Usero never writes to Intercom: no replies, no tags, no state changes, no closing conversations.

What it does

  • Conversations become feedback. Any conversation with a message in it imports as a feedback item. The first message is the body, the conversation subject is the title, and the customer's email is attached as the reporting user.
  • Tickets become feedback too. A ticket filed in Intercom imports with its title, description, every custom attribute as a labelled line, and its notes and replies. The ticket type and state show as pills on the item.
  • Optional tag filter. Add tags on the Intercom card and only conversations carrying one of them import. Leave it empty and every conversation imports.
  • Hourly poll plus Sync now. Usero polls Intercom once an hour for conversations with new activity. The Sync now button runs the same poll on demand.
  • A link back. Every imported item carries a View in Intercom link to the original conversation or ticket.

Prerequisites

  • A Usero account and a project. Intercom is available on every plan, free included.
  • Permission to install an app on your Intercom workspace. Intercom shows a consent screen listing the read-only scopes; someone with admin rights on the workspace has to approve it.

Connect Intercom

  1. Open your project, then go to Settings and find the Intercom card. You can also get there from Integrations: find the Intercom card and click Connect Intercom, which takes you to the same place.
  2. Answer Start with the conversations already in Intercom? There are two options, and the choice only affects the first sync (details below).
  3. Optionally add tags to the tag filter. Skip this to import every conversation.
  4. Leave Import tickets on, or switch it off if you only want conversations.
  5. Click Connect Intercom. Intercom opens its consent screen listing the read-only scopes Usero asks for. Approve it.
  6. Intercom sends you back to the Usero settings page with the Intercom card showing Connected.

If you chose to import what is already open, the first sync is queued the moment you land back in Usero and runs in the background; the card reads Never synced yet until it completes, then Synced N ago. If you chose new activity only, nothing runs yet. The next conversation that gets a message will arrive on the following hourly poll.

The two import modes

The question at connect time is Start with the conversations already in Intercom?

  • No, just new activity (the default). Only conversations with activity after you connect ever import. Nothing is backfilled.
  • Yes, import what's open. The first sync imports the conversations currently open in Intercom, up to 200. Closed and snoozed conversations are skipped by that first sync, however recent they are. If your team closes conversations as they finish, this mode backfills few or none; that is the open filter at work, not the tag filter.

In both modes, from then on any conversation that gets a message arrives, open or closed. Intercom orders by last activity, so a customer replying to a six-month-old conversation counts as activity and imports it.

You cannot change the mode after connecting. To backfill later, disconnect and reconnect with the other option.

The tag filter

The tag filter is a list of Intercom tag names. It sits on the Intercom card both before you connect and after.

  • Empty list: every conversation with a message in it imports.
  • One or more tags: only conversations carrying at least one of those tags import. Everything else is counted as filtered in the sync run and skipped.

Matching is case-insensitive. Type the tag the way it is spelled in Intercom (Bug and bug both match a tag called Bug). Tags are checked at sync time, so tagging a conversation later in Intercom brings it in on the next poll if it also has new activity.

The tag filter does not apply to tickets. Admin-filed tickets carry no tags, so a workspace with any tag filter set would never import a ticket otherwise. Tickets have their own controls, below.

Import tickets

Import tickets is a switch on the Intercom card, on by default. With it on, tickets filed in Intercom arrive in your Usero inbox next to conversations, whatever their tags. With it off, only conversations import.

Under the switch is the ticket type picker, listing the ticket types in your workspace as Intercom reports them (archived types are dropped). Every type starts ticked, and a type you add in Intercom later is included automatically. Untick a type to leave tickets of that type in Intercom. If Usero cannot load your ticket types, the card says so and all tickets import.

What an imported ticket carries:

  • The ticket title as the item title, the description as the body (title alone if there is no description).
  • Every other custom attribute as a labelled line in the body, for example Issue type: Escalation. Empty attributes are dropped.
  • Notes and replies from the ticket timeline, oldest first, shown as a Notes and replies list on the item. These are fetched per ticket after the search; if that fetch fails the ticket still imports, without its notes.
  • The ticket type (with its emoji) and its state as pills.
  • A View in Intercom link straight to the ticket.

A ticket filed by an admin has no customer on it, so the item has no reporting user. Tickets with no title, no description, no attributes and no notes have nothing to show and are skipped.

Hourly poll and Sync now

Usero polls every connected Intercom workspace once an hour. Each poll searches for conversations whose last activity is newer than the previous poll's cursor, imports the ones that pass your filters, and moves the cursor forward. A poll fetches at most 200 conversations; if more than that changed in the hour, the rest arrive on the next poll, nothing is lost.

Sync now on the connected card runs the same poll immediately. Use it after changing the tag filter or ticket settings, or when you want a fresh conversation in the inbox without waiting for the hour.

Dedup is by Intercom conversation id. Re-syncing never creates a duplicate, and a conversation that gets three more messages over a week is still one feedback item. A ticket and its underlying conversation share one id, so a ticket imports once.

Synced N ago vs Up to date as of

The connected card shows two timestamps:

  • Synced N ago is when a sync run last finished, whether the hourly poll or Sync now. It tells you the poll is alive.
  • Up to date as of is the last activity time of the newest conversation Usero has seen. It tells you how far into your Intercom history the import has reached.

On a quiet workspace the first advances every hour while the second stays put. That is normal: nothing new happened in Intercom, so there was nothing to import.

Troubleshooting

Nothing is arriving. Two places to check on the Intercom card in Settings. First, the tag filter: with any tag set, a conversation without that tag is skipped, and a tag typed as bugs does not match a tag called bug. Second, the Sync health list at the bottom of the card, which shows the recent sync runs with how many conversations each one found, imported and filtered. Runs that find conversations and filter all of them point at the tag filter. Runs that find nothing mean no conversation had new activity since the cursor; send a test message in Intercom and hit Sync now. A run that failed shows its error.

I chose "Yes, import what's open" and few or no conversations arrived. The first sync imports open conversations only. If your team closes conversations as they are handled, the open set is small. Conversations that get a new message from now on import regardless of state.

A ticket is missing. Check that Import tickets is on and that the ticket's type is ticked in the picker. A ticket with no title, description, attributes or notes is skipped as empty. Tickets are not affected by the tag filter.

Older items have no View in Intercom link. The link for a conversation needs your workspace id, and Usero reads that from a contact rather than asking for admin access at the consent screen. The first poll that sees a conversation with a contact resolves it and stores it; conversations imported before that point keep no link. Tickets carry their own URL and always link.

The card says Never synced yet, long after connecting. In new-activity mode this is expected until a conversation gets a message. In import-what's-open mode the first sync was queued at connect; if it has not completed within a few minutes, hit Sync now and check the Sync health list for the run.

Intercom says the app is not authorised or the sync run shows an auth error. The access token was revoked, usually by uninstalling the app on the Intercom side. Click Disconnect on the card, then Connect Intercom again.

Disconnecting. Disconnect on the card removes the stored access token and stops the poll. Feedback already imported stays in your inbox. Reconnecting picks the import mode fresh.

What access is granted

The consent screen lists read-only scopes and nothing else:

  • Read conversations, so the poll can search conversations and read a ticket's notes.
  • Read tags, for the tag filter.
  • Read one user and company, to resolve the conversation author's email and your workspace id from a contact.

Usero does not ask to read admins and has no write scope. It cannot reply, tag, assign, snooze or close anything in Intercom. The access token is stored encrypted and removed when you disconnect.

Next