# Interactive buttons

**URL:** <https://community.bluescape.com/t/interactive-buttons/3845>\
**Category:** Developer\
**Created:** [July 24, 2023, 11:21pm UTC](https://community.bluescape.com/t/interactive-buttons/3845 "2023-07-24T23:21:08Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Amerehei](https://sea1.discourse-cdn.com/bluescape/user_avatar/community.bluescape.com/amerehei/32/5629_2.png) [@Amerehei](https://community.bluescape.com/u/Amerehei)\
**Post date:** [July 24, 2023, 11:21pm UTC](https://community.bluescape.com/t/interactive-buttons/3845/1 "2023-07-24T23:21:08Z")

</div>

Hello

I need to create an interactive link or button, and listen to onClick event on that link/button when user click on it I would like to so some action, for example move pane to a specific coordination and zoom in/out, or show another link to user and hide the current link, or show a message to user

How can I add a link/button using Bluescape API? or manually?

---

<div class="post-metadata">

**Author:** ![kkoechley](https://sea1.discourse-cdn.com/bluescape/user_avatar/community.bluescape.com/kkoechley/32/2474_2.png) [@kkoechley](https://community.bluescape.com/u/kkoechley)\
**Post date:** [July 25, 2023, 7:31pm UTC](https://community.bluescape.com/t/interactive-buttons/3845/2 "2023-07-25T19:31:23Z")

</div>

Hi @Amerehei,

We understand the need for interactive buttons, and this feature is currently in our backlog and we will announce once we have a timeline. We do, however, currently have [subscription events](https://community.bluescape.com/t/graphql-subscriptions/2018), that can be accessed via our graphQL subscriptions (which require a socket connection) but we don’t currently have an event for element onClick. There are a number of events you can subscribe to including adding a comment to an element, creating/updating/moving an element, etc.

Regarding pan/zoom with API: our APIs are not designed to move the viewport in a window for zoom/scale. These are handled by the user in our client only by design. Our APIs are used for querying elements in a workspace, creating/updating elements in a workspace, or listening to subscription events in a workspace to know if a user moves an element, or updates and element, etc.

Can you clarify exactly what you are looking to accomplish and we can see if there is a solution with our current APIs that could work for you?

---

<div class="post-metadata">

**Author:** ![system](https://sea1.discourse-cdn.com/bluescape/user_avatar/community.bluescape.com/system/32/710_2.png) [@system](https://community.bluescape.com/u/system)\
**Post date:** [August 24, 2023, 7:31pm UTC](https://community.bluescape.com/t/interactive-buttons/3845/3 "2023-08-24T19:31:41Z")

</div>

Closed on August 24, 2023, 7:31pm UTC

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

---

<div class="post-metadata">

**Author:** ![kkoechley](https://sea1.discourse-cdn.com/bluescape/user_avatar/community.bluescape.com/kkoechley/32/2474_2.png) [@kkoechley](https://community.bluescape.com/u/kkoechley)\
**Post date:** [November 7, 2023, 6:42pm UTC](https://community.bluescape.com/t/interactive-buttons/3845/4 "2023-11-07T18:42:33Z")

</div>

Hi @Amerehei,

We have added some new API functionality that can now allow you to create a custom button “Power-UP” on an element, and subscribe to the button press event! While this feature is still only API only, I hope this can help you achieve some new powerful use cases that require user interaction.

> [@Element Toolbar Power-Ups](https://community.bluescape.com/t/element-toolbar-power-ups/5180):
>
> What are Power-Ups? Power-Ups are custom buttons that can be added to an element toolbar to send traits subscription events with an optional payload to a server to handle custom actions. Currently, Power-Ups can only be added programmatically by API, and a server application must be running to subscribe to UpdateTraitsCommand to handle the button event. However, you can create Power-Up buttons on elements and then create a custom template that would retain all traits data, including your cust…
