# macOS SDK Custom UI – Callback for participant pin changes

**URL:** <https://devforum.zoom.us/t/macos-sdk-custom-ui-callback-for-participant-pin-changes/141932>\
**Category:** macOS\
**Tags:** api\
**Created:** [February 16, 2026, 8:14am UTC](https://devforum.zoom.us/t/macos-sdk-custom-ui-callback-for-participant-pin-changes/141932 "2026-02-16T08:14:23Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![chan\_castingapp](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/chan_castingapp/32/50814_2.png) [@chan\_castingapp](https://devforum.zoom.us/u/chan_castingapp)\
**Post date:** [February 16, 2026, 8:14am UTC](https://devforum.zoom.us/t/macos-sdk-custom-ui-callback-for-participant-pin-changes/141932/1 "2026-02-16T08:14:23Z")

</div>

**Description**  
I’m using **Custom UI mode** in the Zoom macOS Meeting SDK. I manually create and manage `ZoomSDKVideoElement` and `ZoomSDKActiveVideoElement` to render participant videos in my SwiftUI app.

I want to implement a **pin feature** (like Spotlight, but local) in my Custom UI:

- When a participant is pinned, their video should appear in a larger “main” view.

- When unpinned, the video returns to normal grid or secondary view.

I’m looking for a **delegate or callback** that tells me **when a participant is pinned or unpinned** , so I can update my UI accordingly.

**To Reproduce:**

1. Join a meeting with multiple participants.
2. Render participant videos using `ZoomSDKVideoElement` and `ZoomSDKActiveVideoElement` in Custom UI.
3. Tried built-in pin APIs such as `pinVideoToFirstView()` and `getPinnedUserListFromFirstView()` — these **do not apply in Custom UI mode**.
4. Tried `onActiveVideoUserChanged` — only fires for active speaker changes, not pin/unpin. **Screenshots**  
If applicable, add screenshots to help explain your problem.

### **Screenshots**

N/A — behavior is delegate/API related.

**Expected behavior:**

- A delegate or callback triggers when a participant is pinned/unpinned, so I can update the UI.

**Actual behavior:**

- No callback exists in Custom UI mode.

- I must manually track which participant is pinned.

**Troubleshooting Routes**

1. Tested using Custom UI mode.

**Device (please complete the following information):**

- Device: Apple MacBook Pro (16-inch, M1 Pro)
- OS: macOS Sonoma 14.5

**Additional context**  
Goal: Detect in real time **when a participant is pinned** in Custom UI, so I can render their video in the main view.

1. It seems the macOS SDK **does not provide a pin change callback in Custom UI mode**.
2. Looking for **any recommended way or workaround** to achieve this behavior.

---

<div class="post-metadata">

**Author:** ![expertswho](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/expertswho/32/60945_2.png) [@expertswho](https://devforum.zoom.us/u/expertswho)\
**Post date:** [February 16, 2026, 6:50pm UTC](https://devforum.zoom.us/t/macos-sdk-custom-ui-callback-for-participant-pin-changes/141932/2 "2026-02-16T18:50:47Z")

</div>

hi @Sebastian3 ,

Welcome to the forum. I would have suspected this in the App SDK, because I have used Spotlight. But you can add and remove pins. I can not see other documentation.  
I am not seeing an onparticpantpin… webhook call that will return this for you.  
And now that you raise it, I can see times when this is useful.

However, I can not find it either.

John

---

<div class="post-metadata">

**Author:** ![Obvio\_Online](https://avatars.discourse-cdn.com/v4/letter/o/7feea3/32.png) [@Obvio\_Online](https://devforum.zoom.us/u/Obvio_Online)\
**Post date:** [March 29, 2026, 3:18pm UTC](https://devforum.zoom.us/t/macos-sdk-custom-ui-callback-for-participant-pin-changes/141932/3 "2026-03-29T15:18:54Z")

</div>

@lumugdanchristian Did you happen to find a solution for this?

I have a similar issue in my app using the Default UI. There doesn’t seem to be a callback for pin status change. As a result, I’ve had to implement some polling of the status in order to see what has to happen when a new pin action is fired (is there currently someone pinned that needs to be unpinned, am I adding a pin, etc)…

Would love to know if you found a solution as I’m experiencing the exact same issue.

---

<div class="post-metadata">

**Author:** ![chan\_castingapp](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/chan_castingapp/32/50814_2.png) [@chan\_castingapp](https://devforum.zoom.us/u/chan_castingapp)\
**Post date:** [July 14, 2026, 8:06am UTC](https://devforum.zoom.us/t/macos-sdk-custom-ui-callback-for-participant-pin-changes/141932/4 "2026-07-14T08:06:25Z")

</div>

Hi @Obvio_Online, unfortunately not yet.
