[Calling extensions SDK] I do not receive onCallerIdMatchSucceeded or onCallerIdMatchFailed

DDavies9
メンバー

I am developing a custom calling app that uses the Calling Extension SDK.

 

I have event listening working, e.g. when I click the phone icon in Hubspot on a contact record, I see the onDialNumber event which proves my app is connected and ready to receive Hubspot events.

 

I am now looking into inbound calling and have set supportsInboundCalling to true via /crm/v3/extensions/calling API.

 

I have a contact in Hubspot with a phone number, e.g.

+44 123 456 7891

 

I have initialized my calling app as before by sending the initialized event, I also send a userAvailable event and userLoggedIn event.

 

When I tell Hubspot about an inbound call, I send an incomingCall event with the following payload:

createEngagement: true,
externalCallId: "uuid-1234",
fromNumber: "+441234567891",
toNumber: "+441987654321",

 

An engagement is also created in Hubspot against the contact that has a phone number of +44 123 456 7891:Screenshot 2025-10-08 at 15.01.23.png

When I hover over this call engagement, it shows the name of the contact it matches against. 

If I change the fromNumber sent in the incomingCall event, there is no such engagement created as would be expected.

 

So it feels like I am doing the correct thing.

 

However, despite all this, I am not receiving a

onCallerIdMatchSucceeded

or even a

onCallerIDMatchFailed

 

I need the data provided by a onCallerIdMatchSucceeded event to be able to pop the relevant contact record via object coordinates.

 

I've tried this in the provided demo app as well to no avail.

 

I've also noticed in the console when I examine the Received message from SDK in Popup INCOMING_CALL event I send to Hubspot, the payload has an extra field (dialNumberDetails: undefined) that is not present in @hubspot/calling-extensions-sdk :

 

Screenshot 2025-10-08 at 14.40.45.png

 

calling-extensions-sdk/types.ts

export type OnIncomingCall = {
  externalCallId: string;
  fromNumber: string;
  toNumber: string;
  callStartTime?: number;
  createEngagement?: boolean;
};

Not sure what dialNumberDetails is and it is not documented anywhere I can see.

 

I would really appreciate someone reaching out about this. I've found multiple related posts from other devs on this which have no answer.

 

If someone from the calling extension SDK team could take a look here that would be great. 

 

Thank you

David

0 いいね!
1件の承認済みベストアンサー
DDavies9
解決策
メンバー

Hi,

 

I wanted to follow up and share that I believe I've identified the root cause of my issue.

 

After taking a step back and reviewing the demo code more carefully, I realised I had misunderstood the distinction between the calling remote context and the window context.

 

In the demo code provided by HubSpot, events are sent to HubSpot using thirdPartyToHostEvents with

cti.contract.incomingCall

 from the appropriate context. However, I had been incorrectly calling

cti.incomingCall

directly from the remote window context, which was preventing the events from properly reaching HubSpot.

 

What made this particularly confusing was I could see in the console Hubspot had received an incomingCall event from the app and the calling widget was still popping up in HubSpot despite this mistake, which led me to believe I was doing things correctly.

 

I'm still not entirely clear on why that partial functionality was working, but it explains why the event handlers weren't firing as expected.

 

Apologies for the confusion on my end, and thanks for your patience in helping me work through this!

 

Hopefully that helps someone out in the future!

元の投稿で解決策を見る

0 いいね!
3件の返信 3
DDavies9
解決策
メンバー

Hi,

 

I wanted to follow up and share that I believe I've identified the root cause of my issue.

 

After taking a step back and reviewing the demo code more carefully, I realised I had misunderstood the distinction between the calling remote context and the window context.

 

In the demo code provided by HubSpot, events are sent to HubSpot using thirdPartyToHostEvents with

cti.contract.incomingCall

 from the appropriate context. However, I had been incorrectly calling

cti.incomingCall

directly from the remote window context, which was preventing the events from properly reaching HubSpot.

 

What made this particularly confusing was I could see in the console Hubspot had received an incomingCall event from the app and the calling widget was still popping up in HubSpot despite this mistake, which led me to believe I was doing things correctly.

 

I'm still not entirely clear on why that partial functionality was working, but it explains why the event handlers weren't firing as expected.

 

Apologies for the confusion on my end, and thanks for your patience in helping me work through this!

 

Hopefully that helps someone out in the future!

0 いいね!
DDavies9
メンバー

Hi @Jaycee_Lewis 

 

Thanks for the suggestion! Yes, I've confirmed that my onCallerIdMatchSucceeded handler is properly defined inside my eventHandler code.

 

I have handlers set up for all events, including catch-alls for unhandled events that log to the console, so I'm confident nothing is being missed on my end.

 

At this point, I'm increasingly convinced there's a fundamental issue with how HubSpot is handling inbound call notifications.

 

I currently have two open community posts regarding issues with onCallerIdMatchSucceeded and onCreateEngagementSucceeded events. What's notable is that both of these issues are specifically occurring with inbound calls when using:

cti.incomingCall

 

When I trigger outbound calls using:

cti.outgoingCall

I successfully receive the onCreateEngagementSucceeded event as expected.

 

This works consistently.

 

Given this pattern, I'm now strongly suspecting there's a bug in the SDK on HubSpot's side that's preventing both onCreateEngagementSucceeded and onCallerIdMatchSucceeded events from firing correctly for inbound calls.

 

I've considered submitting this through the Developer Feedback form, but in my experience, there's typically no response or follow-up from HubSpot through that channel.

 

Is there anyone from HubSpot who could investigate this and confirm whether there's a known issue with inbound call event handling?

 

I'd really appreciate any guidance on the proper escalation path for what appears to be an SDK bug.

 

Thanks for any help you can provide!

0 いいね!
Jaycee_Lewis
ソートリーダー

Hi, @DDavies9 👋 Issues like these are tough to pin down. One troubleshooting thought — have you made sure your `onCallerIdMatchSucceeded` handler is defined inside the `eventHandlers` object when you first initialize the SDK?

 

It looks like Issues are not enabled for the Calling SDK repo. I'd suggest using the Developer Feedback form. While not a direct support channel, reporting the undocumented property is helpful for the Developer and Product teams. — Jaycee





loop


Loop Marketing is a new four-stage approach that combines AI efficiency and human authenticity to drive growth.

Learn More




0 いいね!