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.
| Category | Description | Key Objects |
|---|---|---|
| CRM | Sales pipeline and activity records from platforms like Salesforce and HubSpot | contact, company, deal, event |
| Messaging | 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:
- Your application launches the Unified Connect component.
- The user selects integrations such as Salesforce, HubSpot, Gmail, or Slack.
- The user authorizes access to their accounts.
- 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:
limitandoffsetfor paginationupdated_gtefor incremental updatesdeal_id,contact_id,company_id, oruser_idfor relationship filteringtypeto filter by activity typequeryfor text searchfieldsto 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:
| 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:
- Retrieve CRM events for the account or deal.
- Retrieve email and messaging activity associated with contacts.
- 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.