I would like Figma to add a Timer Delay block that can be inserted within existing prototype interactions, such as On Click, On Tap, While Hovering, and other available triggers.
The timer would not function as a separate interaction trigger. Instead, it would act as a nested logic block within an existing interaction, similar to how conditional actions are currently structured.
For example:
On Click
├── Set loading state
├── Timer Delay: 2 seconds
│  ├── Run conditional
│  ├── Set variable
│  └── Navigate to Success screen
└── Play animation
Any actions placed inside the Timer Delay block would execute only after the specified amount of time has elapsed. Actions outside the block could continue to execute immediately.
Â
Proposed Functionality
Within an existing interaction, designers could:
- Select an interaction trigger, such as On Click.
- Insert a Timer Delay block.
- Specify the duration of the delay.
- Place one or more actions inside the timer block, such as:
- Run a conditional
- Set a variable
- Navigate to a frame
- Open or close an overlay
- Change to a variant
- Trigger another supported action
The block structure would make it immediately apparent which actions are controlled by the timer and which actions occur outside of it.
Â
Why This Would Be Useful
This feature would allow designers to create more realistic interaction sequences, including:
- Displaying a loading state before completing an action
- Delaying navigation after a button is selected
- Running conditional logic after a specified period
- Simulating processing or system response times
- Displaying or dismissing notifications after a delay
- Creating multi-step interactions without unnecessary duplicate frames
Using a clearly defined timer block would also make complex prototype interactions easier to read, edit, debug, and maintain.
Figma already supports delayed interactions in certain scenarios, but allowing designers to insert a timer as a nested block within any existing interaction would provide much greater flexibility and control, especially when combined with variables, conditionals, and multiple actions.
