Skip to main content


  1. If a screen in a complex flow has multiple entry points and conditions it’s impossible to prototype in Figma.




  2. Axure RP allows for setting variables say “From Home dashboard” and using IF else statements, to manage complex prototypes. I would love this feature in Figma. Axure RP, UX Pin and Framer allows for this, but I would prefer to just use Figma for “complex” prototypes too.




Is anyone using a plugin or workaround to help solve this?, etc.

Adding my voice, too, as I recently removed some screens from a design file because I was like, “Oh, I don’t need these screens because I have smart-animated switches!” but just remembered that I do need them, after all, because I need to present a dialog if the user proceeds in the workflow without enabling any switches. It would be nice to say, “on click: IF no components with name tvariable] have a property of eproperty name] with value hproperty value]{ display overlay } ELSE { navigate to gscreen name] }”.


Honestly, I think in most cases, getting bogged down in building the “perfect prototype” with conditional logic is not the answer, and can cost a lot in-terms of time managing the design asset over time. I always found that while using axure, at some point the complexities you would create would lead to the moment of, “I may as well build the front end.” A html prototype of sorts, but in a lot of cases, just building the html prototype using whatever framework the team is using e.g material or tailwind, the dev team can take the code and carry it forward… I can see why this might be a tricky, complex road for figma to go down, however I have no doubt that when they do decide to add some basic logic, it will be an elegant solution to the problem. I usually get around the problem of complex interactions, by building a liner journey in figma that would not work perfectly for anyone else using it, but works for the purpose of recording a video of the interaction which can be embedded in the jira ticket with loom or something similar. XD has inbuilt video recording for this purpose (or at least it did before I made the switch to figma 1.5years ago). That being said, without conditional logic it makes unmoderated testing a challenge unless it’s specific journeys with specific goals…?


That’s why I just want them to create something really simple. A little “conditional” widget you drag on the canvas, you can connect do it, and it just has a variable that can be changed by another one of the current canned event list / actions. When someone clicks something that goes to that if/then widget, it checks that variable and sends them on their merry way.



+1 This would be extremely useful to do in one application.


OMG n8n is great! Did not know such a thing existed. Since I’m a designer n8n won’t be useful for me for now but I’m just happy to know that such a great tool is out there!


agreed. I’ve been solely using Origami Studio for complex prototyping purposes, and it’s not because I like OS but because there are many things that only OS is able to achieve, for me as a designer who has no technical background, from a prototyping + visualization-heavy perspective. If Figma is somehow able to provide OS or sudo-OS level of logic capability and complexity it would truly be a dream-come-true for me


I work with 15 other UX Designers at University of Phoenix. We recently switched from UXPin to Figma and knew what we were getting ourselves into.


UXPin is incredible at conditional logic via prototyping, but huge learning curve, very complicated to use, and very buggy. Three things which comes as a package with conditional logic prototyping. Most of our designers never ventured in UXPin’s IF/ELSE territory. As others have mentioned, some designers simply don’t have that kind of time with 2 week sprints.


We do a good amount of user testing where conditional logic is NEEDED. We love the ease of implementation around design systems and the stability of Figma, but oh boy do we sure miss UXPin’s prototyping logic. Being able to mock up two input fields and render different results based off input field combinations is really powerful. There are certain ways to “fake” this in Figma, but not without incredible efforts and multiple screens. The more input field selections you have, the more complicated this gets. Forget about making it a reusable component. Not worth the time and effort.


We are having to look into programs such as Proto.io or Protopie for conditional logic prototyping. The first company who can merge these two worlds (without sacrificing usability and stability) will have companies flock towards their product in droves. We just hope Figma becomes that company!


Dear Figma folks,


Please bring variables and conditions… my prototypes are overwhelmed with redundant screens… 😦


I’m using Protopie for advanced prototypes and it does a fair job, but keeping screens in two different platforms is a mess…


Please!!!


figma, please add this!


i’m using linux mainly and protopie can’t be used in linux even using wine. figma can be used on the web so i can finally prototype without using windows/mac if added


(sorry for bad english)


Please add this! If Figma allowed for real interactive text fields along with conditional logic for their prototyping, then I’d be 100% committed to Figma.


Because it doesn’t I’m having to look at other 3rd party tools and migrate some Figma designs into them for that extra needed UX prototyping functionality.


If Figma wants to stay on top of the game this feature ist a must have, because this is more or less the only reason why you’ve to switch to an competitive application so far. We desperately need this.


I feel like if Figma went Open Source it would become unbeatable. Unfortunately, Adobe…


when do you plan to add conditional logics as features?


I disagree… 80 plus connected frames = murder board nightmare for user testing. Making sure all the screens that are supposed to match despite last minute edits from a testing script change? I’m throwing the computer out a window.


Dramatic? Sure. But it’s 2023. For the amount of $$$ Figma costs, it should have some enterprise level features.


I love this thread. I’ve been thinking about logical gates (or nodes) in between the interaction nodes. One particular is a RandomNode which you put on CTA interaction. Sometimes things don’t go well, so it might be worth testing random fails in the prototype. E.g. On Click → Submit order → RandomNode (0.9 weight for success, 0.1 weight for fail) and split this into two frames with those states. Origami Studio, Unreal nodes, Blender nodes, DaVinci nodes. In the end, the basics:



  1. If then else node (with split)

  2. Random output node (with split)



However, this will increase the complexity of the prototype significantly. I already struggle with performance when adding multiple shadows (Smooth Shadow plugin) or background blur effect.


After almost 6 years working with Figma, I’d still love to see some logical nodes to improve realness of my prototypes.


duuuuude… this screams Origami, doesn’t it??? Not to say Origami is the best thing out there (I have my own set of issues with Origami) but on advanced prototyping Origami and ProtoPie is way ahead of Figma


It’s supremely annoying to spend hours on ways to “trick” Figma into doing something that should be possible out of the box. Take nested components and their properties, for instance. I’m currently working on a rail nav that can expand to show labels and accordions for deeper navigation. What I want is simple – IF the rail nav is expanded (top level component) THEN all subcomponent accordions need to be collapsed.


let’s see what Figma will show us tomorrow on the webinar 🙂

@deletedlc yes, Origami was an overkill, used that in the past. Exporting stuff from Sketch to Origami was a nightmare 😂 A simple set of nodes that I can inject between frames/components with some basic logic, that would awesome 🙂


100% need the ability to prototype based on global variables. One frame / component should be able to update a variable that either updates the UI or changes the selected variant of a component.


Just another vote for this feature, conditional logic and variables are ESSENTIAL for prototyping, without them Figma is a mockup tool as far as I’m concerned, same with Adobe XD and other mockup tools.


I tried Axure, it’s conditional logic and variables are pretty decent, but as a design tool it’s terrible. I need to check out Proto.io / JustInMind and UXPin as suggested in this thread to see what they’re like.


But if Figma were to add this in a flexible way, hands down it would be the only tool to use.


+1 still need this for complex prototypes


+1 need the ability to manipulate the variant of a component from a different component.


+1 Unless this becomes a thing usability testing on figma prototypes will be way off because it’s high visual fidelity, but very low interaction fidelity.


So interesting to have condicionals & variables, or something like Principle


It would be useful from a design system building perspective to be able to configure a component in a way that the component elements that should not appear together, would auto-change the visibility (I was also thinking of conditions for text and instance swap, but handling Boolean would be nice for start).


Life example:

I have an input. When this input is empty, I display the text of the label in the box. When the input is focused or there is a value, I display a small label on the top of the input box. Now to switch from one to another state, I have to: 1. Disable the label in the box, 2. Enable the small label, 3. Enable the Value of the box.


I would like to be able to establish a condition - if there is a value in the input, the big label cannot be displayed, and the label can be displayed either on top of the box or inside, not in both places at a time.