Events & actions
Any object on your canvas can be interactive. Select a rectangle, add a Click event with an Open URL action, run preview — you just made a button. Events and actions are how you turn static designs into working prototypes.
How it works
Events are triggers — things users do (click, hover) or things that happen (an element reaches a certain size). Actions are responses — what your design does when an event fires (open a modal, hide an element, navigate to another artboard).
One event can trigger multiple actions in sequence. Click a button and it might open a modal, hide another element, and update some text — all from a single Click event.
Any object, not just components
Events and actions aren't limited to components. You can attach them to anything on the canvas — rectangles, text, frames, images, groups.
Components can have events and actions too, and they're saved as part of the component definition. Every instance inherits the same interactions. Edit the source component's interactions and all instances update.
Events
| Event | Triggers when |
|---|---|
| Click | User clicks or taps |
| Double Click | Two rapid clicks |
| Mouse Down | Press begins |
| Mouse Up | Press releases |
| Mouse Enter | Cursor enters the element |
| Mouse Leave | Cursor exits the element |
| Size Enters Range | Element size crosses into a specified range |
| Size Exits Range | Element size crosses out of a specified range |
| Check | Checkbox or radio state changes (requires matching behavior) |
| Toggle | Toggle state changes (requires toggle behavior) |
Event options
- Check: Filter by state — Any, Checked, or Unchecked.
- Toggle: Filter by state — Any, ON, or OFF.
- Size range events: Choose a property (Width or Height), set a From value and a To value. To can be set to infinity.
- All events: Stop propagation — prevents parent elements from also receiving the event. Off by default.
Behavior-specific events
Check and Toggle events only appear on components with the matching behavior. All other events are available on any object regardless of behavior.
Actions
| Action | What it does |
|---|---|
| Set Symbol Variant | Switch a component instance to a different variant |
| Change Visibility | Show, hide, or toggle an element's visibility |
| Open Modal | Display an artboard as a modal overlay |
| Close Modal | Dismiss the current modal |
| Go To Artboard | Navigate to another artboard |
| Open URL | Open an external link |
| Resize | Change an element's dimensions |
| Set Text | Update text content dynamically |
| Reset | Restore an element to its initial state |
Action options
- Set Symbol Variant: Target instance, which variant, optionally resize to match the variant's size.
- Change Visibility: Target element, type (Show / Hide / Toggle).
- Open Modal: Target artboard, close on click outside.
- Go To Artboard: Target artboard, transition (Instant, Crossfade, Slide Over, Slide Out, Push).
- Open URL: URL to open.
- Resize: Target, mode (Absolute / Relative), width, height, transition (Instant / Animated).
- Set Text: Target text element, new content.
- Reset: Target element to restore.
Targeting rules
Most actions target elements reachable from your current selection — siblings, children, or parents on the same artboard.
Go To Artboard and Open Modal are different: they target top-level artboards on the current page. This is how you build multi-screen prototypes and modal dialogs.
Adding events and actions
- Select the object that should respond to interaction.
- Open the Interactions panel.
- Click Add event and choose a trigger.
- Add one or more actions to that event.
- Configure targets and options for each action.
- Preview to test.
You can reorder events and actions by dragging them in the Interactions panel. Events stay at the top level; actions stay within their parent event.
Events and actions on components
Interactions defined on a component are inherited by all its instances. When you select an instance that has inherited interactions, the panel shows a Go to inherited interactions button that navigates to the source component.
This means you can build a fully interactive button component — complete with click handlers, hover effects, and modal triggers — and every instance of it works identically without any per-instance setup.
Events and actions on nested elements inside a component also persist. The component stores the full interaction tree for all its children.
Troubleshooting
My Check or Toggle event doesn't fire
These events require a component with a matching behavior. Set the checkbox, radio, or toggle behavior on the component set.
My target is missing from the action dropdown
The action can only target reachable elements. For most actions, the target must be on the same artboard. For Go To Artboard or Open Modal, the target must be a top-level artboard.
My action isn't doing anything in preview
Check that:
- The event is on the correct element (the thing being clicked, hovered, etc.).
- The action target exists and is correctly selected.
- For visibility actions, the target isn't already in the desired state.
I want an instance to have different interactions than its source
Interactions are inherited from the source component. To customize per-instance, you'll need to detach the instance or restructure your component.
Related
- Components & behaviors — creating interactive components
- Component behaviors — behavior-specific events (Check, Toggle)
- Interactive states — state naming for automatic switching
- Preview — testing your interactions