Interaction schema
Every field and value that webflow.interactions accepts. For a complete create call for each trigger type, see Interaction examples.
Shape
Triggers
- Scroll and mouse move triggers reject
control,delay,jump, andspeed. jumpis not allowed withcontrolnone,restart,resume,togglePlayReverse, ortogglePlayReverseFlipEase.speedis not allowed withcontrolpause,stop, ornone.- Click with
clickother thaneachrejectstogglePlayReverseandtogglePlayReverseFlipEase. - Two or more timelines with a
groupIdrequirecontrol: 'play'on each trigger.
Scroll trigger config
A position is top, center, bottom, left, right, a length such as '50%' or '-20px', or a keyword with an offset such as 'top+=50'.
Action properties
Write each value as one of these:
- A single value, which plays as a To tween, such as
'50%' [from],[from, to], or[null, to]- A value wrapper
A bare number uses the property’s default unit. Opacity and Alpha are the exception: write them as percent strings, because a bare number is read on a 0 to 1 scale.
Length units: px, %, em, rem, ch, vw, vh, dvw, dvh, svw, svh, lvw, and lvh.
wf:transform
transformOrigin accepts px, %, em, vw, vh, dvw, dvh, svw, svh, lvw, and lvh.
wf:style
Animate opacity under wf:transform, not wf:style. Set-only properties require tt: 3.
wf:class
Other action types
wf:mouse-follow is valid only on a mouseX or mouseY timeline of a mouse move interaction, one per timeline. y-only conflicts with mouseX, and x-only conflicts with mouseY.
Variable values
value: null leaves the variable unset.
Rive values
Value wrappers
Put the unit in unit, not in the number.
Tween types
- If you omit
tt, the API stores2for[from, to]and1for all-from values. Single values play as To. [from, to]withtt0,1, or3is rejected. So is mixing from-only and to-only values withouttt.- A
{from, to}object is rejected, except on Lottie and Spline.
Timing
An action’s timing rejects delay and autoReverse.
Stagger
Ease
curve is in, out, or inOut. taper is none, in, out, or both. wiggleType is easeOut, easeInOut, anticipate, uniform, or random. Extra fields are rejected.
Targets
- A class slug must match exactly one class. Otherwise, pass style block ids from
webflow.getStyleByNameorwebflow.getAllStyles. - For
wf:inst,ownerIdis the page id on a site or pages scope, and the component id on a component scope. wf:idis rejected. Usewf:selector,wf:class, orwf:inst.
Filters
Conditional playback
One row per type. Mouse move interactions accept dont-animate only.