How to Merge Email & Slack Conversations in Your CRM

Every customer interaction has valuable data to unlock product feedback, upsell opportunities, and roadmap ideas. It's important to be diligent about tracking & organizing these conversations across all communication channels.

Step 1: Set up a CRM

A CRM, or Customer Relationship Management platform, should serve as the source of truth for all customer or account activity. This is where your support reps can track deal status, your customer success team can understand account progress, and your support reps can see account history. We imagine most folks reading this already use a CRM, so we'll gloss over the value here now, and you can read more about the value of a CRM here.

Some great options include:

Step 2: Store Channel IDs

Note: if using Unthread to track conversation history, you can skip this step

For each customer channel in Slack, you'll want to make a note of the unique identifier for that channel. This will be used to match conversation data from the Slack API directly to the correct record in your CRM.

To find the channel ID, click on the channel name in Slack and scroll to the bottom, where you'll find the ID in small text:

Step 3: Track Slack Channel History

Talking to customers over Slack is a relatively new phenomenon, but it's equally important to be tracking and categorizing  conversations. There are a few ways that you can extract the data from Slack, and you'll want to choose one:

If you're using a tool like Unthread, you can directly enable CRM integrations to automatically sync conversation history to the right account without the need for a data pipeline or API configuration. Follow the guide here.

If using Unthread, you can skip to Step 4!

If not using Unthread, you'll want to set up a data pipeline to route conversation history into the CRM. This can be done using either a set of built-in APIs or a no-code tool like Zapier or Make (recommended).

Each Slack conversation will have a Channel ID associated with it, and you can use that Channel ID to link that thread to the proper record in your CRM (as you did in Step 2).

The exact API details will differ depending on your CRM, but the flow will follow this general pattern:

  • Query for the appropriate account in the CRM by the Slack Channel ID
  • Once you have the account details, make note of the account ID
  • Submit an API call to the CRM platform to store the Slack message content to that particular account by passing in the account ID.

Step 4: Start Tracking Emails

Most CRMs will have a way to natively track emails and attribute them to the correct account. For example, here are Salesforce's help docs to get this enabled. Every CRM listed above in Step 1 will allow you to do this natively.

If you'd like to create new support tickets for inbound emails in addition to simply tracking email content, you should set enable an email customer support ticketing platform like Zendesk, Intercom, or Unthread.


After these steps are complete, you'll have new activity tracked in your favorite CRM from both Slack messages and email. This means that all customer communication will be visible by your team from a single place.

There are a lot of nuances depending on the CRM that you're using (HubSpot is the example shown below), so feel free to reach out to us for additional help getting things set up!