HubSpot calls in a live spreadsheet

Add the Calls table to a sheet as a data source named calls and its 41 columns become names your formulas, pivot tables and charts use. Sheets reads it from your HubSpot account each time the sheet opens or refreshes.

Each account's columns are its own HubSpot properties, custom ones included. The columns listed here are HubSpot's standard properties; custom objects are tables too (Enterprise).

Formulas on this table

=data.calls.sum(call_duration)
Total call duration. Adds up the Call duration column over every row of Calls.
=data.calls.sum(call_duration, call_status, A2)
Call duration per call status. With a call status in A2, the total for that one. Fill it down next to a list of them.
=list.calls(call_status)
Every call status, once. Spills the distinct call status values down the column: the row labels for the formula above.
=data.calls.count(record_id, call_status, "<>")
Rows with a call status. Counts the rows whose Call status is not empty.
=data.calls.avg(company_number_of_employees)
Average company: number of employees. avg, min, max, count, countd (distinct) and first work the same way as sum.

Reports that use it

=data.calls.count(record_id, activity_assigned_to, A2, activity_date, ">=2026-10-01")
Calls per rep this month. Logged calls per person they are assigned to since the first of the month.

Columns

ColumnIn formulasType
Record IDrecord_idText
Activity assigned toactivity_assigned_toText
Activity dateactivity_dateDate and time
Call directioncall_directionText
Call durationcall_durationNumber
Call notescall_notesText
Call outcomecall_outcomeText
Call statuscall_statusText
Call titlecall_titleText
Create datecreate_dateDate and time
From numberfrom_numberText
Last modified datelast_modified_dateDate and time
To numberto_numberText
Associated contactsassociated_contactsText
Associated contact IDsassociated_contact_idsText
Contact IDcontact_idText
Contact: Emailcontact_emailText
Contact: Job titlecontact_job_titleText
Contact: Lifecycle stagecontact_lifecycle_stageText
Contact: Contact ownercontact_contact_ownerText
Associated companiesassociated_companiesText
Associated company IDsassociated_company_idsText
Company IDcompany_idText
Company: Company namecompany_company_nameText
Company: Company domain namecompany_company_domain_nameText
Company: Industrycompany_industryText
Company: Country/Regioncompany_country_regionText
Company: Citycompany_cityText
Company: Number of employeescompany_number_of_employeesNumber
Company: Annual revenuecompany_annual_revenueNumber
Company: Lifecycle stagecompany_lifecycle_stageText
Company: Company ownercompany_company_ownerText
Associated dealsassociated_dealsText
Associated deal IDsassociated_deal_idsText
Deal IDdeal_idText
Deal: Deal namedeal_deal_nameText
Deal: Deal stagedeal_deal_stageText
Deal: Pipelinedeal_pipelineText
Deal: Amountdeal_amountNumber
Deal: Close datedeal_close_dateDate and time
Deal: Deal ownerdeal_deal_ownerText

Other activities tables

Your calls, live

Contacts, companies, deals, tickets and activities become tables that formulas, pivot tables and charts read directly, opened inside HubSpot. Your numbers stay current without exporting.