Overview
The HubSpot CRM integration connects your Virtual-Call Cloud PBX seamlessly with the HubSpot CRM system. This feature allows you to manage CRM data directly from your phone workstations and increase the efficiency of your communication.
Key Features:
- Click-to-Call: Initiate calls directly from detected phone numbers on HubSpot pages
- Call Popup: Automatically open CRM contact details for incoming calls
- Call Journal: Automatic logging of all call activities in HubSpot CRM
- Contact Synchronization: One-way synchronization of HubSpot contacts to the phonebook
- Contact Creation: Automatic or manual creation of new contacts for calls from/to unknown numbers
Prerequisites
HubSpot Requirements:
- HubSpot Plan: Free, Starter, Professional, or Enterprise
- HubSpot Developer Account: Required to create a legacy app for OAuth authorization
- HubSpot Standard Account: An account with Super Admin privilege for authorizing the integration
Virtual-Call Cloud PBX:
- Firmware Version: 84.21.0.66 or higher
Connect HubSpot CRM
Step 1 – Create a HubSpot App (Developer Account)
First, you need to create a legacy app in your HubSpot developer account to obtain the OAuth credentials (client ID and client secret).
- Log in to your HubSpot developer account (developer.hubspot.com).
- Navigate to Apps Legacy Apps and click Create legacy app. Select Public as the app type.
- Configure the App Info tab:
- Public app name: Enter a name (e.g., "Virtual-Call CRM Integration")
- App logo: Optional—upload a logo
- Description: Optional—description of the app
- Switch to the Auth tab and configure the OAuth settings:
- Redirect URL: Copy the redirect URL from your Virtual-Call Cloud PBX (under Integrations CRM HubSpot) and paste it here.
- Redirect URL: Copy the redirect URL from your Virtual-Call Cloud PBX (under Integrations CRM HubSpot) and paste it here.
In the Scopes section, add the following OAuth permissions:
CRM Scopes:
crm.objects.companies.readandcrm.objects.companies.writecrm.objects.contacts.readandcrm.objects.contacts.writecrm.objects.deals.readandcrm.objects.deals.writecrm.objects.owners.readcrm.schemas.companies.readandcrm.schemas.companies.writecrm.schemas.contacts.readandcrm.schemas.contacts.writecrm.schemas.deals.readandcrm.schemas.deals.write
Settings Scopes:
settings.users.readandsettings.users.writesettings.users.teams.readandsettings.users.teams.write
- Click Create app.
- After creation, go to the App credentials section in the Auth tab to retrieve your credentials:
- Client ID: Copy this ID
- Client Secret: Click "Show" and copy the secret
Important: Keep the Client ID and Client Secret safe. You will need these credentials in the next step to connect with your Virtual-Call Cloud PBX.
Step 2 – Connect HubSpot CRM with the PBX
Now connect your HubSpot app with the Virtual-Call Cloud PBX via OAuth authorization.
- Log in to your Virtual-Call Cloud PBX.
- Navigate to Integrations CRM and select HubSpot.
- In the Authorization section, enter the credentials:
- Client ID: Paste the client ID from the HubSpot app.
- Client Secret: Paste the client secret from the HubSpot app.
- Click Save. A new browser window will open, prompting you to choose a HubSpot account.
- Select a standard HubSpot account with Super Admin privilege and click Choose Account.
Important: Do NOT select a developer account, otherwise the integration will fail. It must be a standard HubSpot account with Super Admin privilege.
- Review the permission request, check the disclaimer checkbox, and click Connect app.
- You will be redirected to the Virtual-Call Cloud PBX. A popup window displays the authentication result. Click OK.
- The status should now show Connected. The integration is successfully configured.
Step 3 – Associate HubSpot Users with Extensions
To fully utilize the CRM integration, your HubSpot users must be associated with extensions on the Virtual-Call Cloud PBX.
- On the CRM integration page, click the refresh icon next to HubSpot User to load the current list of HubSpot users.
Associate the HubSpot users with extensions:
Automatic Association:
If HubSpot users and extensions use the same email address, you can use automatic association:
- Click Associate Automatically.
- Confirm the association in the popup window by clicking OK.
Manual Association:
If the email addresses do not match, associate the users manually:
- Click the edit icon next to the HubSpot user.
- In the popup window, select the desired extension(s).
- Click Confirm.
- Click Save to save the associations.
Configure Integration Features
Contact Synchronization
Contact synchronization copies contacts and/or companies from your HubSpot CRM to the Virtual-Call phonebook, so you can access them directly from your phone software.
- Navigate to Integrations CRM.
- Enable Synchronize Contacts Automatically.
- Configure the following settings:
- Synchronize Contacts From: Select the object types to synchronize:
- Contacts – HubSpot contacts
- Companies – HubSpot company contacts
- Synchronize to Phonebook: Select an existing empty phonebook or create a new one where the contacts will be stored.
- Always Query CRM: This option enables real-time CRM querying.
- Enabled: The system performs a real-time query of HubSpot CRM. This provides the most current results but increases API usage.
- Disabled: The system first uses the local phonebook. The CRM is only queried if no local match is found.
- Synchronize Contacts From: Select the object types to synchronize:
- Click Save.
Result: The synchronized phonebook will be marked with a CRM label and is available in the Virtual-Call UC Client.
Note: Contact synchronization is a one-way sync. Contacts in the Virtual-Call phonebook are read-only and changes to them will not affect the HubSpot CRM.
Note: Enabling "Always Query CRM" increases API usage. Monitor your API quota accordingly. Real-time search is not supported when masked number is enabled.
Troubleshooting – Contact Synchronization: Synchronization will fail if contacts are incomplete. Make sure each contact has at least the following data:
- First name or last name
- At least one phone number
Contact Creation
This feature allows new contacts to be created automatically or manually in HubSpot CRM when a call is received from an unknown number or a call is placed to an unknown number.
- Navigate to Integrations CRM.
- Enable Create New Contact.
- Configure the settings in the Create Method section:
- Automatically: The system creates contacts automatically based on the selected call type:
- Inbound: Incoming call from an unknown number that does not match any existing contact, lead, or account in the CRM.
- Outbound: Outgoing call to an unknown number that does not match any existing contact, lead, or account in the CRM.
- Manually: Associated extension users can manually create a new contact in the CRM during a call.
- Automatically: The system creates contacts automatically based on the selected call type:
- Click Save.
Result:
- With automatic creation, a new contact will be created in HubSpot CRM when a call with an unknown number occurs. The name of the automatically created contact has the prefix
Automatic New Contactfollowed by the phone number. - With manual creation, users can add a new contact via the call window during a call.
Note: If contact synchronization is enabled, newly created contacts will be automatically synchronized to the phonebook on the Virtual-Call Cloud PBX.
Call Popup
The call popup automatically displays CRM contact information in a new browser tab when a call from a CRM contact is received. You can configure when the popup is triggered.
- Navigate to Extension and Trunk Extension.
- Click the extension for which you want to enable the popup and select the UC Clients tab.
- Check the box Open Contact URL Using System-Integrated CRM.
- Select the Popup Method:
- Automatically (Only for Incoming Calls): The popup opens automatically for incoming calls. Configure the Trigger Event:
- Ringing: Popup opens as soon as an incoming call from a CRM contact rings
- Answered: Popup opens when the call is answered
- Call End: Popup opens when the call ends
- Manually: The popup opens only when you click the
CRMlabel in the call window during a call.
- Automatically (Only for Incoming Calls): The popup opens automatically for incoming calls. Configure the Trigger Event:
- Click Save.
Result:
- Automatic: When an incoming call from a CRM contact is received, a new browser tab with the HubSpot contact details is opened.
- Manual: Users can click the
CRMlabel in the call window to open the contact page in HubSpot.
Note: If the call popup does not open, check the popup blocker settings of your browser. The HubSpot domain must be added to the exception list.
Prerequisite for Call Popup: At least one of the following clients must be logged in:
- Virtual-Call UC Desktop Client
- Virtual-Call UC Web Client
If the browser or the Web Client tab is closed, calls cannot be received. Install the Chrome extension "Virtual-Call UC Client for Google" to receive the popup even when the browser is closed.
Call Journal
The call journal automatically logs every call as an activity in HubSpot CRM. All outbound, inbound, and missed calls are logged in the activity section of the corresponding contact.
- Navigate to Integrations CRM.
- Enable Call Journal.
- Configure the settings:
- Description: Define the content of the log entry. You can use the following variables:
{Time}– Call date and time{Call_Log_Status}– Call status{Call_From}– Caller number{Call_To}– Recipient number{Talk_Duration}– Talk duration
- Play Call Recording: When enabled, CRM users can play the call recording directly within HubSpot CRM. The system requests the recording file from the PBX.
- Disable Display Missed Call Records in Unanswered Agents: When enabled, for queue and ring group calls, log entries are only shown for the agent who answers the call. Missed entries for non-answering agents are suppressed.
- Description: Define the content of the log entry. You can use the following variables:
- Click Save.
Result: All call activities are automatically logged in the activity section of the corresponding HubSpot contact. Users can view call logs and associated recordings in the Activities tab of the contact page.
Note: If the recording file is deleted from the PBX, it will no longer be available for playback in the CRM.
Troubleshooting
Authorization fails:
- Verify that Client ID and Client Secret are entered correctly (no leading/trailing spaces).
- Ensure the redirect URL is correctly configured in the HubSpot app.
- Make sure all required OAuth scopes have been added in the HubSpot app.
- When selecting an account, choose a standard HubSpot account with Super Admin privilege—not a developer account.
Contact synchronization fails:
- Verify that each contact has at least a first or last name and a phone number.
- Ensure the HubSpot connection is active (Status: "Connected").
- Contacts can only be synchronized to an empty phonebook. Create a new phonebook if necessary.
Call popup does not open:
- Check the popup blocker settings of your browser and add the HubSpot domain to the exception list.
- Ensure that the "Open Contact URL Using System-Integrated CRM" option is enabled on the extension.
- Verify that the UC Desktop Client or UC Web Client is logged in.
Users are not automatically associated:
- Verify that the email addresses of the HubSpot user and the Virtual-Call extension match exactly.
- Use manual association in this case.
Disable or Disconnect the Integration
You can disable or fully disconnect the HubSpot integration at any time.
Disable the integration:
- Navigate to Integrations CRM.
- Click the Disable button.
- The configuration is preserved; you can re-enable the integration later.
Disconnect the integration:
- Navigate to Integrations CRM.
- Click the Disconnect or Remove button.
- Warning: This action deletes all configurations and fully disconnects the connection. You will need to reconfigure all settings if you want to re-enable the integration later.
Note: After disconnecting the integration, previously created contacts and log entries remain in HubSpot CRM. Only the synchronization and automatic features are stopped.
New Authentication Method from Version 84.23.0.24
OAuth2 PKCE Support
Custom CRM/Helpdesk integration templates now support the authentication method Authorization Code Flow with Proof Key for Code Exchange (PKCE). This method uses a challenge-verifier pair instead of a client secret, thereby improving the security of OAuth 2.0 authentication.
Comments
0 comments
Article is closed for comments.