Figma Support Forum

🔥 Need setter APIs for interactions!

There has to be setter APIs for prototype-reaction{ action: Action, trigger: Trigger }

Creating interactive components can be a super repetitive process, most of the time a user is re-creating the exact same interactions over and over again(except for different destinations) just to make all variants stay consistent.

Because of this tedious process, and the error-prone Handcrafting that often leads to inconsistency, I am banging my head trying to create a “copy-paste interactions” plugin to simplify this process, but the API is read-only :sob:

Please! This is a core user-experience pain spot that needs addressing. If you don’t think repeating the exact same process thousands of times bring any intrinsic value, then this is urgent.


Just to provide a bit of context, I am to implement interactive component sets on 100s of pages like this:

Hi there! This use case is definitely top of mind for us, as we know tons of folks have hundreds (if not thousands) of variants in component sets. Plus, there are lots of other cool use cases for setting interactions via the API.

It’s not something we’re actively working on, but it’s a high priority. Thanks for sharing!

PS - I updated the title to say “interactions” instead of “reactions” – hope that’s ok!


I was thinking about his too when the feature was first announced: Prototyping variables

1 Like

BIG +1 on this post. @Kelsey_Whelan, I do hope this is something that comes through soon. I assumed that even in beta, interactive components would be able to handle this. The very first component I tried to make was a button where the shape (border radius), text re-sizing (hug and fill), icon arrangement, state, and size are all handled by nested components—we’ve been calling these “drivers.” I’ve come to the same conclusion @Mr.Biscuit has; I’d need to set interactions on 360 variants in my button component in my team’s design system library file to allow designers access variants for those attributes at the top level without needing to drill through the component to make adjustments.

Interactive components will be a massive time saver, but it is frustrating that I have to set up hundreds of interactions by hand. It’s a “just once” task, but it’ll take a long while, it’s brutally repetitive, and there’s huge room for error. To me this is a “fall asleep at the wheel” kind of repetitive task. It requires a fair amount of attention and precision, but it’s hella boring.

You mentioned it’s not getting actively worked on; when this does get picked up, I hope there will be an easy way to collapse together the hundreds of interactions in the large components I have to make without breaking instances of these library components in local files elsewhere. Similar to how when the 2nd big auto-layout update came out, there was a button in the design panel to “update to the new auto-layout.”

Also kudos and congrats to you and the rest of the Figmates on being a week into the Beta with what I think is ENORMOUS success! I just got out of the office hours session with Miggi and friends, and I was so encouraged at the engagement this feature is getting from the community. Y’all are doing great work.

1 Like