Unified.to
All articles

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 categories.

CategoryDescriptionKey Objects
CRMSales pipeline and activity records from platforms like Salesforce and HubSpotcontact, company, deal, event
MessagingEmail and chat conversations from platforms like Gmail and Slackmessage, 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

ObjectKey FieldsPurpose
Eventtype, created_at, updated_at, contact_ids, company_ids, deal_ids, user_idRepresents sales activities such as calls or meetings
Contactname, emails, company_idsCustomer contact information
Companyname, domainsOrganization associated with deals
Dealamount, stage_id, probabilityOpportunity 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

ObjectKey FieldsPurpose
Messagemessage, subject, author_member, created_atEmail or Slack message content
Channelid, name, membersMessaging context such as Slack channels
Threadparent_id, message_thread_identifierConversation threads
Username, email, roleSender 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:

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

GET /crm/{connection_id}/event

The endpoint supports filters and 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

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

GET /messaging/{connection_id}/message

List channels

GET /messaging/{connection_id}/channel

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

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:

SourceActivity
CRMDeal stage updated
CRMDemo meeting logged
GmailSales rep sends follow-up email
SlackInternal deal discussion
CRMCall 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

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

→ Book a demo

All articles