You can receive calls in HubSpot when using calling apps.
PATCH
request to /crm/v3/extensions/calling/{APP_ID}/settings?hapikey={DEVELOPER_ACCOUNT_API_KEY}
, and provide the ID of your app and your developer account API key in the request.
Field name | Type | Description |
---|---|---|
supportsInboundCalling | Boolean | Enables inbound calling feature. The flag is set to false by default. This extension setting gates users to the new inbound calling experience and instead shows the drag and drop call widget in record pages for outbound calling. |
usesCallingWindow | Boolean | Determines whether the calling window is used. |
usesRemote | Boolean | Determines whether the calling remote is used. Note that this field will be deprecated after Aug 31, 2025. |
true
:supportsInboundCalling
and usesCallingWindow
fields to true
:initialized
event:userAvailable
event:userUnavailable
event:callAnswered
and callCompleted
, in the same way it is done for outgoing calls.
createEngagement
to true, you can subscribe to onCreateEngagementSucceeded
and onCreateEngagementFailed
. It is recommended you do this so that you can enable your calling app to support custom objects. This will allow future integration into other areas of HubSpot.onCallerIdMatchSucceeded
and onCalledIdMatchFailed
. This will enable you to receive contact matching data for the incoming call that previously had to be obtained via the Search API, and will solve its rate limitations.navigateToRecord
payload and will sync with the SDK in the onReady
event. You’ll need to re-initialize the SDK using the engagement ID and show an incoming call within the iframe.
onReady
event handler to conditionally respond to different user events. You can review a full example in the calling-extensions-sdk repository.
onReady
event handler will be called with a set of properties, including iframeLocation
. You can use this property in your app to define conditions based on the value of iframeLocation
:
iframeLocation = window
: this means your calling app is hosted in the detached calling window. It’s recommended to handle the main calling logic in the calling window to maintain the call connection while navigating throughout HubSpot.iframeLocation = remote
: this indicates that your calling app is hosted in the anchored calling remote. It’s recommended that you use the remote to reflect the calling state happening in the calling window and rely on the calling window to handle the main calling logic. This ensures users can navigate freely within HubSpot without disconnecting their calls.