---
title: "How to Build Sales Activity Tracking Across Salesforce, HubSpot, Gmail, and Slack"
img: https://s3.us-east-2.amazonaws.com/unified-article-images/how_to_build_sales_activity_tracking_across_salesforce_hubspot_gmail_and_slack-icon.png
date: 2026-03-04T15:56:00.000Z
tag: Product
description: "Sales teams generate activity across many platforms. Customer conversations happen in Gmail, internal discussions occur in Slack, and deal updates and meeting..."
url: "https://unified.to/blog/how_to_build_sales_activity_tracking_across_salesforce_hubspot_gmail_and_slack"
---

# How to Build Sales Activity Tracking Across Salesforce, HubSpot, Gmail, and Slack
------
_March 4, 2026_

Sales teams generate activity across many platforms. Customer conversations happen in Gmail, internal discussions occur in Slack, and deal updates and meeting logs are recorded in CRM systems like Salesforce or HubSpot.


Many SaaS products build features that unify this activity so sales teams can see a complete engagement timeline. Instead of switching between tools, users can view calls, meetings, emails, notes, and messages in a single activity feed tied to each account or deal.


The challenge is that each platform exposes different APIs, schemas, and authentication models. Retrieving CRM activities from Salesforce and email conversations from Gmail requires separate integrations and vendor-specific logic.


Unified simplifies this by providing normalized APIs across CRM and messaging platforms. Developers can retrieve activities, conversations, and engagement signals through consistent objects and endpoints and combine them into a unified sales activity timeline for their customers.


## Why SaaS Products Need Sales Activity Tracking


Sales activity tracking is a core capability in many B2B SaaS products.


Examples include:

- Sales productivity platforms
- Revenue intelligence tools
- Customer success analytics products
- Account intelligence dashboards
- AI sales assistants

These products help sales teams understand what interactions have occurred with each prospect or customer.


Typical activity sources include:

- **CRM activities** such as calls, meetings, notes, and tasks
- **Email conversations** between sales representatives and prospects
- **Internal messaging discussions** related to deals or accounts
- **Website and form engagement signals** captured in CRM events

By combining these sources, SaaS products can build timelines that show the complete history of customer engagement.


## Common Sales Activity Tracking Use Cases


Sales activity tracking typically powers several product features.


**Account activity timelines**


Show all interactions related to a specific customer or company.


**Deal engagement analysis**


Track activity across deals to identify stalled opportunities or inactive accounts.


**Sales productivity dashboards**


Measure how often sales teams interact with prospects.


**Customer engagement insights**


Identify accounts with declining activity or strong engagement signals.


**AI sales assistants**


Provide context for copilots that summarize conversations and recommend next actions.


## Unified Categories Used in Sales Activity Tracking


Sales activity tracking typically combines two [Unified API](/technology) categories.


| Category                                                | Description                                                                    | Key Objects                   |
| ------------------------------------------------------- | ------------------------------------------------------------------------------ | ----------------------------- |
| [CRM](https://docs.unified.to/crm/overview)             | Sales pipeline and activity records from platforms like Salesforce and HubSpot | contact, company, deal, event |
| [Messaging](https://docs.unified.to/messaging/overview) | Email and chat conversations from platforms like Gmail and Slack               | message, channel              |
Using normalized APIs across these categories allows SaaS products to build activity feeds without writing separate integrations for each platform.


## Unified Objects and Key Fields


Unified standardizes the objects needed to build activity timelines.


### CRM Activity Objects


| Object  | Key Fields                                                                | Purpose                                               |
| ------- | ------------------------------------------------------------------------- | ----------------------------------------------------- |
| Event   | type, created_at, updated_at, contact_ids, company_ids, deal_ids, user_id | Represents sales activities such as calls or meetings |
| Contact | name, emails, company_ids                                                 | Customer contact information                          |
| Company | name, domains                                                             | Organization associated with deals                    |
| Deal    | amount, stage_id, probability                                             | Opportunity context                                   |
The **event** object represents CRM activities.


The `event.type` field identifies the activity category.


Supported values include:

- **NOTE** – unstructured notes attached to CRM records
- **EMAIL** – one-to-one email communication
- **TASK** – follow-up reminders or to-do items
- **MEETING** – scheduled meetings or demos
- **CALL** – logged phone calls
- **MARKETING_EMAIL** – marketing campaign emails
- **FORM** – inbound form submissions
- **PAGE_VIEW** – web activity events

These standardized values allow activity tracking across different CRM platforms.


### Messaging Objects


| Object  | Key Fields                                  | Purpose                                  |
| ------- | ------------------------------------------- | ---------------------------------------- |
| Message | message, subject, author_member, created_at | Email or Slack message content           |
| Channel | id, name, members                           | Messaging context such as Slack channels |
| Thread  | parent_id, message_thread_identifier        | Conversation threads                     |
| User    | name, email, role                           | Sender and recipient information         |
Messages include:

- sender information (`author_member`)
- recipients (`destination_members`, `mentioned_members`)
- message body (`message`, `message_html`)
- attachments and links
- timestamps and thread identifiers

These fields provide the conversation context used in activity feeds.


## Connecting Customer Integrations


Customers connect their CRM and messaging platforms using **Unified Connect**.


Typical authorization flow:

1. Your application launches the Unified Connect component.
2. The user selects integrations such as Salesforce, HubSpot, Gmail, or Slack.
3. The user authorizes access to their accounts.
4. Unified redirects back to your application with a **connection_id**.

Your application stores the mapping:


```plain text
user_id → connection_id
```


All subsequent Unified API calls reference this identifier to retrieve activity data.


## Retrieving CRM Activity Data


CRM activities are retrieved through the event endpoints.


**List CRM events**


```plain text
GET /crm/{connection_id}/event
```


The endpoint supports filters and [pagination](/docs/reference/pagination) including:

- `limit` and `offset` for pagination
- `updated_gte` for incremental updates
- `deal_id`, `contact_id`, `company_id`, or `user_id` for relationship filtering
- `type` to filter by activity type
- `query` for text search
- `fields` to limit returned properties

These filters allow applications to retrieve activities related to specific deals, contacts, or companies.


**Retrieve a single event**


```plain text
GET /crm/{connection_id}/event/{id}
```


This endpoint returns a single activity record including fields such as:

- activity type
- timestamps
- associated contacts or deals
- activity details such as notes, calls, or meetings

## Retrieving Messaging Activity


Messaging data is retrieved through the messaging endpoints.


**List messages**


```plain text
GET /messaging/{connection_id}/message
```


**List channels**


```plain text
GET /messaging/{connection_id}/channel
```


Threads can be retrieved by filtering messages using the parent identifier.


```plain text
GET /messaging/{connection_id}/message?parent_id={message_id}
```


This allows applications to reconstruct full email threads or Slack conversations associated with deals or accounts.


## Building an Activity Timeline


A sales activity timeline typically combines data from multiple sources.


Example timeline:


| Source | Activity                        |
| ------ | ------------------------------- |
| CRM    | Deal stage updated              |
| CRM    | Demo meeting logged             |
| Gmail  | Sales rep sends follow-up email |
| Slack  | Internal deal discussion        |
| CRM    | Call logged with customer       |
Applications usually:

1. Retrieve CRM events for the account or deal.
2. Retrieve email and messaging activity associated with contacts.
3. Merge these records into a single chronological timeline.

Because Unified normalizes activity objects across platforms, developers can combine these events without vendor-specific mapping logic.


## Keeping Activity Feeds Updated


Unified provides webhook support to keep activity timelines synchronized.


Typical webhook events include:


**CRM events**

- contact created or updated
- deal updated
- event created or updated

**Messaging events**

- message created
- message updated
- message deleted
- interaction events such as mentions or reactions

Unified supports two webhook delivery methods.


**Native [webhooks](/blog/replacing_polling_with_unified_webhooks_and_virtual_streams)**


Immediate push notifications when supported by the provider.


**Virtual webhooks**


Managed polling that simulates real-time updates when native webhooks are unavailable.


These events allow activity feeds to update automatically whenever new interactions occur.


## Supported Platforms


Unified provides broad integration coverage across CRM and messaging platforms.


**CRM platforms (47+ integrations)**


Examples include:

- Salesforce
- HubSpot
- Pipedrive
- Zoho CRM
- Microsoft Dynamics 365
- Copper
- Close

**Messaging platforms**


Examples include:

- Gmail
- Slack
- Microsoft Teams

This allows activity tracking features to support many customer environments without building separate integrations.


## Why Product Teams Choose Unified


Building sales activity tracking across CRM and messaging platforms normally requires multiple integrations.


Unified simplifies this by providing:

- normalized activity objects across CRM and messaging platforms
- consistent API endpoints for retrieving events and messages
- unified authentication flows through Unified Connect
- webhook support for real-time activity updates

Instead of maintaining dozens of integrations, product teams can focus on building features like activity timelines, engagement analytics, and AI sales assistants.


Start building sales activity tracking across Salesforce, HubSpot, Gmail, Slack, and many other platforms today. 


[→ Start your 30-day free trial](https://app.unified.to/login)


[→ Book a demo](https://calendly.com/d/cph9-g8n-jzg/connect-with-unified)