Browse the docs
Documentation

HubSpot

Connect HubSpot so each completed meeting is logged as a meeting on the matching contacts, company and deal.

HubSpot is a CRM integration. Once it's connected, VoiceCap logs a completed meeting in HubSpot whenever a meeting finishes processing, with the summary, action items and a link back, on the HubSpot contacts the meeting was with. Only an Owner or Admin can connect or disconnect it, and it has to be turned on for your organization first. If Settings > Integrations shows "CRM integrations are not enabled for this organization. Contact support or your administrator to request access.", ask VoiceCap support to enable it.

A meeting is only added to HubSpot when at least one attendee from outside your organization is found there, as a contact or through their company. Internal meetings, and meetings without calendar attendees (uploads and pasted meeting links), are never added.

Connecting HubSpot

  1. Go to Settings > Integrations.
  2. Find the HubSpot card and click Connect HubSpot.
  3. Log in to HubSpot, pick the HubSpot account to connect if you have more than one, and approve the request. You're sent back to Settings > Integrations with a "HubSpot connected." confirmation.

The card then shows which HubSpot account is connected, for example "Connected to HubSpot account 12345678". The number is your HubSpot account ID.

What VoiceCap reads and writes

VoiceCap reads contacts, companies and deals to find where a meeting belongs. When your HubSpot account lets VoiceCap read its users (this depends on the account), it reads them too, so it can assign each meeting to the right person. The only thing it creates is meetings. It never edits or deletes anything already in HubSpot, and it never creates contacts, companies or deals.

What syncs, and when

A meeting is sent to HubSpot once, when it reaches completed status. VoiceCap never sends a meeting to the same connection again later, even if you reconnect. Nothing is sent retroactively for meetings that were already completed before you connected HubSpot.

Before sending, VoiceCap classifies the meeting from its calendar attendees:

  • External: at least one attendee's email is outside your organization's domains (this includes personal addresses like Gmail).
  • Internal: every attendee is on an organization domain.
  • Unknown: the meeting has no calendar attendee data at all. This is every meeting created by uploading a file or pasting a meeting URL, since those never carry an attendee list.

Domains are the ones registered to your organization, shown on the Domain Settings card in Settings > Members; see Organization settings. If your organization has no registered domain, VoiceCap can't tell which attendees are from outside it, so no meeting is added to HubSpot.

Under the HubSpot card, Which meetings to sync sets which classifications sync:

SettingSyncs
External meetings only (default)Meetings classified external
Internal meetings onlyMeetings classified internal
All classified meetingsBoth external and internal

A separate Sync unclassified meetings toggle, off by default, decides whether unknown meetings are considered too. It's independent of the setting above.

Both settings only decide which meetings VoiceCap looks at. A meeting is still only added when an attendee from outside your organization is found in HubSpot (see the next section). An internal meeting has no such attendee, and an unknown meeting has no attendees at all, so choosing Internal meetings only, or turning on Sync unclassified meetings, doesn't add those meetings to HubSpot.

You can also restrict syncing to specific members with Which members' meetings to sync. This matches on who the meeting belongs to. With All members selected, which is the default, every member's meetings are eligible; pick members and only their meetings sync.

Where the meeting is logged

For a meeting that's due to sync, VoiceCap takes the emails of the attendees from outside your organization and looks for HubSpot contacts with those emails. A contact matches when one of those emails is its primary email address. An address saved only as an additional email on the contact doesn't match.

The meeting is then linked to:

  • Every matched contact
  • Their company. If the matched contacts belong to different companies, the one most of them share.
  • One open deal. VoiceCap looks at the open deals of the matched contacts first, then the open deals of the company, and picks the one updated most recently.

If no contact matches, VoiceCap looks for a HubSpot company whose company domain name matches the domain of an attendee's work email. Personal addresses such as Gmail never match a company. If a company is found, the meeting is logged on that company and its most recently updated open deal.

If neither a contact nor a company matches, nothing is added to HubSpot and the HubSpot card doesn't change. Add the contact in HubSpot so later meetings with that person sync.

What the meeting in HubSpot contains

VoiceCap creates a meeting marked as completed, with the meeting's title, the time it took place and its length. Its description holds:

  • The summary
  • Action items, with the assignee name where one was set
  • Key topics
  • A link back to the meeting in VoiceCap

The headings in the description are in Lithuanian for Lithuanian meetings and in English for everything else.

If VoiceCap can read your HubSpot users, the meeting is assigned to the HubSpot user whose email matches the email of the person the meeting belongs to in VoiceCap. If there's no such user, or your HubSpot account doesn't let VoiceCap read users, the meeting is created without an assigned user.

VoiceCap never sends the raw transcript to HubSpot, only the summary content above.

Reconnecting

If the connection is missing a permission VoiceCap needs, the HubSpot card shows "Reconnect HubSpot to grant the permissions VoiceCap needs." Click Reconnect HubSpot and approve the request in HubSpot again. Your sync settings stay as they were.

If a sync fails

A failed sync shows under the HubSpot card as "Last sync failed", with the time and the error message. Most failures (a temporary HubSpot outage, for instance) don't change anything else: the integration stays connected and later meetings sync as usual. The "Last sync failed" box goes away after the next meeting syncs successfully.

If HubSpot rejects the connection outright, for example because VoiceCap's access was removed in HubSpot, the card switches to an Error status with "VoiceCap can't reach HubSpot with the current connection. Reconnect to resume syncing." Nothing syncs until you click Reconnect HubSpot and approve the request again.

A meeting that failed to sync, or that completed while the card showed Error, isn't sent to HubSpot later, not even after you reconnect. If you need it there, add it in HubSpot by hand.

If the card says "HubSpot is not available right now. You can still disconnect it.", you can't connect or reconnect HubSpot at the moment. Contact VoiceCap support. If HubSpot isn't available and isn't connected, the HubSpot card doesn't appear at all.

Disconnecting

  1. Go to Settings > Integrations.
  2. Under the HubSpot card, click Disconnect.
  3. Confirm in the "Disconnect integration?" dialog.

Disconnecting stops syncing and removes VoiceCap's access to your HubSpot account. The VoiceCap app may still be listed among the connected apps in HubSpot until you uninstall it there: open your HubSpot settings, go to Integrations > Connected Apps and uninstall VoiceCap.

Your sync settings are kept, and reconnecting later restores them rather than resetting to the defaults.

If VoiceCap couldn't remove its access, you see "HubSpot was disconnected in VoiceCap, but access could not be revoked in HubSpot. Remove the VoiceCap app from your HubSpot settings." VoiceCap has still stopped syncing. Uninstall the app in HubSpot as described above to finish.