For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Resources
Get started
GuidesChangelog
GuidesChangelog
    • DevLink
  • Quickstarts
    • Importing components
    • Exporting components
    • Webflow Cloud
  • Exporting components
    • Setup
    • What's exported
    • Design guidelines
      • Component architecture
      • Element settings
      • Props & slots
      • Interactions
    • Fonts
    • Usage
    • Troubleshooting
    • Resources
  • Reference
    • Webflow CLI
    • Migrating to DevLink Export
LogoLogo
Resources
Get started
On this page
  • Enabling interactions
  • Page interactions
  • Interactions with GSAP
  • Design guidance for IX3
  • Unsupported actions
Exporting componentsDesign guidelines

Interactions

Principles for interactions in Webflow to ensure clean export
Was this page helpful?
Previous

Fonts in DevLink Export

How DevLink ships Google, Adobe, and custom uploaded fonts, and what setup each one needs.
Next
Built with

Webflow Interactions are JavaScript-powered animations and transitions. DevLink Export supports both engines that Webflow ships:

  • Classic Interactions (IX2) — the original Webflow Interactions engine.
  • Interactions with GSAP (IX3) — the newer GSAP-powered engine, with timelines and plugins such as ScrollTrigger, SplitText, and CustomEase.

Most interactions are supported in exported components. See Page interactions for limitations that apply to Classic Interactions.

Enabling interactions

To enable interactions in your exported components, wrap your application in the DevLinkProvider component. DevLinkProvider wires up both Classic Interactions (IX2) and Interactions with GSAP (IX3), so there is no separate provider to compose.

app/layout.tsx
1import { DevLinkProvider } from 'webflow/DevLinkProvider';
2import 'webflow/css/global.css';
3
4export default function RootLayout({
5 children,
6}: {
7 children: React.ReactNode;
8}) {
9 return (
10 <html lang="en">
11 <body>
12 <DevLinkProvider>
13 {children}
14 </DevLinkProvider>
15 </body>
16 </html>
17 );
18}

Page interactions

Webflow components support page triggers with a limitation that applies to Classic Interactions (IX2) only: DevLink exports the first page interaction for each component. If a component uses multiple page interactions across different pages, DevLink exports the first one.

This limitation does not apply to Interactions with GSAP (IX3), which must be scoped to the component being exported.

Interactions with GSAP

DevLink Export ships animations built with the GSAP-powered Interactions engine. For each component that has IX3 Interactions, DevLink emits:

  • Registration code that runs through the useIX3Interactions hook.
  • webflow_modules/devlink-ix3.js — the IX3 runtime that initializes GSAP and registers timeline data.
  • webflow_modules/devlink-gsap.js — a per-export GSAP bundle that contains only the plugins your site uses, such as ScrollTrigger, SplitText, and CustomEase.

Plugin selection is driven by the Interactions on your site. There are no CLI flags or webflow.json settings to configure. Plugin dependencies are resolved automatically — for example, CustomBounce pulls in CustomEase, and ScrollSmoother pulls in ScrollTrigger.

Both bundles are lazy-loaded. The IX3 runtime and GSAP bundle are fetched only after a component that uses useIX3Interactions mounts, so pages that don’t render an animated component pay no runtime cost.

Design guidance for IX3

Interactions with GSAP must be scoped to the component being exported. Page-level IX3 interactions are not exported. When you build IX3 animations in the Designer, attach the trigger to an element inside the component rather than to the page.

Unsupported actions

Action types that DevLink does not yet support — Lottie, Spline, and Rive — produce a warning during export but do not block the export. The component exports without those actions; remaining triggers and timelines run as designed.