# HubSpot Support Task (Calling SDK Visibility Issue)

**URL:** <https://community.hubspot.com/t/hubspot-support-task-calling-sdk-visibility-issue/130477>\
**Category:** APIs & Integrations\
**Tags:** professional\
**Created:** [April 24, 2025, 11:55am UTC](https://community.hubspot.com/t/hubspot-support-task-calling-sdk-visibility-issue/130477 "2025-04-24T11:55:07Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ALOTECH](https://avatars.discourse-cdn.com/v4/letter/a/dec6dc/32.png) [@ALOTECH](https://community.hubspot.com/u/ALOTECH)\
**Post date:** [April 24, 2025, 11:55am UTC](https://community.hubspot.com/t/hubspot-support-task-calling-sdk-visibility-issue/130477/1 "2025-04-24T11:55:07Z")

</div>

**I am currently developing a custom calling extension using the @hubspot/calling-extensions-sdk, integrated via iframe in the CRM environment. During our implementation, we encountered a critical issue related to the visibility of the iframe when handling inbound calls.Whenever we call cti.incomingCall({ phoneNumber, createEngagement: true }), the iframe (our softphone UI) is automatically hidden by the HubSpot system. We confirmed this by observing a postMessage of type INCOMING\_CALL, immediately followed by a VISIBILITY\_CHANGED message with { isHidden: true } This action interrupts the user interface and prevents the call process from being displayed. How can we resolve this situation?**

---

<div class="post-metadata">

**Author:** ![Jigar\_Thakker](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/jigar_thakker/32/63606_2.png) [@Jigar\_Thakker](https://community.hubspot.com/u/Jigar_Thakker)\
**Post date:** [April 24, 2025, 12:11pm UTC](https://community.hubspot.com/t/hubspot-support-task-calling-sdk-visibility-issue/130477/2 "2025-04-24T12:11:36Z")

</div>

Hi @ALOTECH ,

The iframe is hidden because HubSpot automatically manages UI visibility when in inbound calls to prioritize the built in call interface, triggering the message { isHidden: true }.

Try implementing an event listener in your iframe’s code to listen for VISBILITY\_CHANGED messages. When its detected, override the default behaviour by programmatically ensuring your softphone UI is visible by adjusting the dispay mostly should work. Make sure your iframe or dialer remains open in background. Also Debug the sequence using browser dev tools.

If this helps, feel free to mark it as the solution

✔

and give it an upvote

👍

!

---

<div class="post-metadata">

**Author:** ![ALOTECH](https://avatars.discourse-cdn.com/v4/letter/a/dec6dc/32.png) [@ALOTECH](https://community.hubspot.com/u/ALOTECH)\
**Post date:** [April 24, 2025, 12:16pm UTC](https://community.hubspot.com/t/hubspot-support-task-calling-sdk-visibility-issue/130477/3 "2025-04-24T12:16:55Z")

</div>

_ **Thank you for your response.** _

_ **We have already implemented a listener for the VISIBILITY\_CHANGED event and attempted to override the default behavior by forcefully setting** _

_ **frame.style.display = ‘block’;** _  
_ **frame.style.visibility = ‘visible’;** _

_ **We’ve also used a MutationObserver to re-apply these styles whenever they are changed by HubSpot’s internal logic. However, the problem persists: HubSpot continues to enforce display: none and visibility: hidden — even after we reset them programmatically.** _

_ **It appears that HubSpot’s internal UI framework re-applies the visibility change after our override, nullifying any attempt to display the iframe.** _

_**We are simply requesting an official, supported way to prevent iframe hiding for cti.incomingCall(), such as:**_

- _**a parameter like showWidget: true in incomingCall(), or**_
- _ **an SDK method to cancel/override VISIBILITY\_CHANGED.** _

_**Without this, the only working workaround is to incorrectly call cti.outgoingCall() for incoming calls, which breaks engagement accuracy and analytics integrity.**_
