RevOps HQ

HubSpot Communication and Telephony Integrations

Communication integrations exist so that a conversation is recorded against the person it happened with, automatically. Where they are working, nobody notices them. Where they are not, the CRM holds a partial history that people learn to distrust and then stop using.

The failure is nearly always identity. A call arrives from a number nobody has on a record, and the system either creates a new contact or attaches the activity to nothing at all.

8 systems in this category, 1 of them documented in a published case study.

Every channel is another way to create a duplicate

Each integration in this category is an additional door through which records enter the CRM, and each door has its own matching rule. A telephony platform matches on number. An email client matches on address. A chat tool may match on neither.

Duplicates are the predictable result, and they are created faster than anyone cleans them, because the doors are open continuously and the cleanup is episodic.

The remedy is to decide, per channel, what happens when a record cannot be matched: create it, queue it for review, or attach it to nothing and raise it. All three are defensible. Leaving it undecided produces the first by default.

Where duplicates enter, and the single identifier that stops some of themRecords enter a portal through manual entry, form submissions, imports and integrations. Contacts are matched automatically on email address and companies on company domain name, so a record carrying that identifier updates an existing record instead of creating a new one. Deals and tickets have no automatic matching at all, so every write creates a record. Anything arriving without the matching identifier becomes a duplicate.HOW RECORDS ARRIVEManual entryForm submissionsImportsIntegrationsWHAT THE PLATFORM CHECKS BEFORE CREATING ONEmatch on emailContactsa different email → a new recordmatch on domainCompaniesa second domain → a new recordno matchDealsevery write → a new recordno matchTicketsevery write → a new recordA record carrying the identifier updates the existing record.A record without it becomes a second record — which, on the data available, is correct.

Each channel that can create a record, and the matching rule it applies

How a merge resolves each field between the primary and secondary recordMerging two contacts field by field. Email addresses from both records are kept, the secondary one added as an additional value. Phone is empty on the primary, so the secondary's value fills the gap. Lifecycle stage keeps the furthest stage reached. Timeline activities from both records combine. Job title exists on both records, so the primary record's value is kept and the secondary record's value is permanently discarded with no record that it existed.MERGING TWO CONTACT RECORDSFIELDPRIMARYSECONDARYMERGEDRULEEmails.kim@acme.comsarah@personal.comboth keptadded as a secondary valuePhone617 555 0114617 555 0114secondary fills the gapLifecycle stageLeadSQLSQLfurthest stage reachedActivities14923both records' timelinesJob titleOps ManagerVP Revenue OperationsOps Managerprimary wins, other destroyedThe discarded value is not stored anywhere, and the merge cannot be reversed.

What happens to conflicting values when two records are merged

Systems in this category

Slack

Alerts routed by consequence, with a retirement rule so the channel stays read.

Microsoft Teams

Notifications scoped to the people who can act on them.

Aircall

Call outcomes logged as data rather than as a recording nobody opens.

RingCentral

Telephony activity attached to the record it belongs to.

Dialpad

Transcripts and dispositions written back to the contact.

Twilio

Messaging with consent state held in one place.

Zoom

Meeting outcomes recorded against the deal they advance.

Calendly

Bookings resolved to an existing contact before a new one is made.

Documented engagements

Each of these is a published study of one build, with the object model, the decisions taken and what the approach does not establish.

Common Questions

Frequently Asked Questions

Logging the call, yes. Recording and transcribing it is a separate decision with consent obligations that vary by jurisdiction, and it should be taken deliberately rather than inherited from a default setting.

Because several integrations are each creating records under their own matching rule, and at least one of them is matching on a field that is not unique. The fix is at the entry point rather than in periodic cleanup, which otherwise runs forever against a source that never stops.

For notification, frequently. For record creation, rarely and with care. A channel that receives every deal update becomes noise within a fortnight, and the useful configuration is a small number of events with a named owner for each.

Further reading

Long-form already published on the argument this category turns on.

Related categories

A system in this category that is not listed

The directory shows range rather than limits. A scoped build is quoted from the object model on each side and the fields that have to cross between them.

HubSpot services

Onboarding, implementation, integration, migration, administration and training, each scoped and priced before the work begins

WEEKLY PROGRAM

RevOps Office Hours

A recurring weekly RevOps operating program. Live support plus hands-on HubSpot implementation work.

$1,500/mo
Monthly Operating Program
  • 1 live Office Hours session per week
  • 4 hours of hands-on implementation work per month
  • Hours allocated against priorities agreed at the start of each period
  • Recurring monthly cadence