Skip to main content

Overview

HubSpot Call Sync posts each completed Voxworks call into HubSpot as a call engagement. After a call finishes and its summary is generated, the automation sends the call to HubSpot automatically — no manual logging. Each synced call appears in HubSpot under CRM → Calls with:
  • the call summary as the call notes;
  • the call time, direction, and duration;
  • the call outcome (Connected, No answer, Busy, Left voicemail); and
  • the from/to phone numbers.

Before You Start

You need:
  • a HubSpot account (any tier, including free); and
  • permission to create service keys in that HubSpot account.

Step 1: Create a HubSpot Service Key

  1. In HubSpot, go to Settings → Integrations → Account service keys.
  2. Create a new key with these scopes:
    • Contacts — Read
    • Contacts — Write
    • Calls / engagements — Read & Write
  3. Copy the key. HubSpot shows it only once.
Use an account service key — not a personal access key, developer API key, or the legacy hapikey. Those are for different purposes and will not work.

Step 2: Connect HubSpot in Voxworks

  1. Go to Integrations in your team workspace.
  2. Select HubSpot and paste the service key.
  3. Save.
The key is encrypted before it is stored. It is the only credential you ever need to enter — everything else in this guide is configuration.

Step 3: Create the Automation

  1. Go to Automations → New Automation.
  2. Choose the Call Completed trigger, then Create & Configure.
  3. In the trigger settings, optionally select which Scripts and call statuses should sync. Leave the filters empty to sync every completed call.

Step 4: Add the HubSpot Destination

Add a Destination step to the pipeline and configure it: Paste this into the Body Template:
Every {{...}} value is filled in automatically for each call. {{integration.call_disposition}} carries the call outcome. Voxworks works it out from how the call ended: A call with status failed — for example a carrier fault — sends no outcome, so HubSpot leaves the field empty rather than recording a false “No answer”. Older calls that still carry text end reasons are classified from that text. Save the automation and make sure it is enabled.

Step 5: Test It

Quick connection test

The Test Request button in the destination step sends a request immediately — but without a real call behind it, so the {{...}} values are empty. To test the connection, temporarily use this static body:
A 201 response means the connection works. Restore the full body template from Step 4 afterwards, and delete the test record in HubSpot.

End-to-end test

Run a test call on a Script covered by the automation and let it finish naturally. The summary takes about 30–60 seconds to generate after the call ends; the HubSpot record appears right after. Check CRM → Calls in HubSpot.

Where Calls Appear in HubSpot

Synced calls are listed in HubSpot’s global Calls view (CRM → Calls). Find them by title (“Voxworks call — …”) or by date.

Troubleshooting

Every sync attempt is recorded in the automation’s Execution Log, including HubSpot’s exact response when something fails. Check there first.

What Is Synced

  • Global Calls list. Calls appear in HubSpot’s global Calls list.
  • Call details. The synced record carries the summary, outcome, duration and phone numbers; recordings stay in Voxworks.
  • One-way sync. Calls flow from Voxworks to HubSpot.