Finsweet Components
Finsweet Components provides JavaScript components that integrate with Webflow Designer through a marketplace app and custom code embeds.
How to integrate Finsweet Components with Webflow
Webflow's native CMS lacks advanced filtering, pagination controls, and bulk operation tools. Finsweet Components addresses these constraints through programmatic content management and client-side interactivity.
Integrate Finsweet Components with Webflow through the marketplace app for visual component generation, direct script embedding via custom code for lightweight implementations, or combine the Webflow API with Finsweet's JavaScript layer for complex CMS operations and backend automation.
Use the Finsweet Components app
The Finsweet Components marketplace app provides six JavaScript-powered components including Advanced Slider, Marquee, Instagram Feed, YouTube Feed, HTML Table, and Number Count.
Open the Apps panel in Webflow, select a component type, choose a layout variant, and click Generate Component. The app creates properly structured nested elements with custom attributes already configured, which can then be styled using Webflow's Style panel.
The app provides these capabilities:
- Visual component generation: Create sliders, marquees, social feeds, tables, and counters without code
- Native styling integration: Style components using Webflow's Style panel with full class control
- CMS binding support: Connect Collection Lists to component wrappers for dynamic content
- Component library access: Duplicate components across projects through the app panel
- No-code implementation: Build and configure components entirely within Webflow
Install the app through your Webflow account in the Webflow Marketplace. Components require publishing to webflow.io staging or custom domains. They won't execute in preview mode. The app handles script loading automatically, which removes manual <script> tag management.
Native embeds and script injection
Direct script embedding supports lightweight implementations without the full marketplace app. Add component-specific scripts through Webflow's Custom Code settings in Project Settings for site-wide functionality, or use Code Embed elements for page-level implementations.
Add scripts to Site settings > Custom Code > Footer Code for site-wide loading. Use these component-specific scripts:
CMS Library Component:
<script defer src="https://cdn.finsweet.com/cms-library/1.1.0/cmsLibrary.js"></script>
Filter Component:
<script defer src="https://cdn.finsweet.com/filters/1.7.0/filters.js"></script>
Attribute Manager:
<script defer src="https://cdn.finsweet.com/attr-manager/1.0.3/attributeManager.js"></script>
After adding scripts, apply custom attributes to HTML elements through the Element Settings panel. Components identify elements through fs-[component]-element attributes rather than class names, allowing free class customization while maintaining functionality.
For page-specific implementations, drag a Code Embed element from the Add panel onto the canvas. Open the code editor and paste the required <script> tags. This approach works for testing components on individual pages before site-wide deployment. Components require live JavaScript execution and will only function on published websites (webflow.io staging or custom domains), not in preview mode.
Critical requirement: Never remove or rename generated custom attributes. Per the Finsweet Marquee documentation, removing attributes like fs-marquee-instance breaks JavaScript execution entirely. Additionally, as per Finsweet Cookie Consent documentation, you must keep all generated elements inside the designated wrapper. Altering the structure disables all JavaScript functionality.
Build with Webflow API and Finsweet JavaScript
API integration supports programmatic CMS management, automated content workflows, and real-time data synchronization between Webflow and external systems. Build bulk product import pipelines that sync inventory databases with Webflow collections, order status dashboards that update in real-time, multi-platform content syndication tools that publish to Webflow and other CMSs simultaneously, or webhook-driven notification systems that alert teams when content changes.
The Webflow Data API v2 provides 21 REST endpoints for backend collection operations (creating, reading, updating, deleting, and publishing CMS items) while Finsweet's JavaScript layer adds client-side filtering, sorting, and pagination capabilities.
This approach suits developers building custom admin tools for content teams, automated publishing workflows triggered by external events, integration with inventory management systems or CRM platforms, or analytics dashboards that visualize Webflow CMS data alongside metrics from other sources.
Manage CMS content with REST endpoints
The Webflow Data API provides 21 REST endpoints for collection operations. According to the Webflow Authentication Reference, API calls require Bearer token authentication:
Base URL: https://api.webflow.com/v2
Authorization: Bearer [token]
Content-Type: application/json
Core collection operations use these endpoints from the Webflow CMS API Reference:
- List collections with GET /collections
- Create items with POST /collections/{collection_id}/items
- Update items with PATCH /collections/{collectionid}/items/{itemid}
- Publish items with POST /collections/{collectionid}/items/{itemid}/publish
- Bulk operations with POST /collections/{collection_id}/items/bulk (max 100 items per request)
Filtering and sorting with Finsweet JavaScript
Finsweet's JavaScript layer provides client-side filtering and sorting capabilities for CMS collections without modifying Webflow's backend.
Load the universal Attributes script in your project's <head> tag via Project Settings > Custom Code:
<script async type="module"
src="https://cdn.jsdelivr.net/npm/@finsweet/attributes@2/attributes.js">
</script>
Apply custom attributes to enable filtering. From the CMS Filter Reference:
<!-- Filter Form -->
<form fs-list-element="filters">
<input type="text" fs-list-field="name" fs-list-debounce="300">
</form>
<!-- Collection List -->
<div fs-list-element="list">
<div class="item">
<h3 fs-list-field="name">Product Name</h3>
</div>
</div>
You can add sorting controls using the following:
<button fs-sort-field="price" fs-sort-order="asc">Price: Low to High</button>
<button fs-sort-field="price" fs-sort-order="desc">Price: High to Low</button>
<div fs-sort-element="LIST">
<div class="item">
<p fs-sort-field="price">49.99</p>
</div>
</div>
Pagination and infinite scroll
The CMS Load Reference demonstrates pagination implementation:
<script async type="module" fs-list fs-load
src="https://cdn.jsdelivr.net/npm/@finsweet/attributes@2/attributes.js">
</script>
<div fs-load-limit="10">
<!-- Items, only first 10 visible initially -->
</div>
<button fs-load-more fs-load-offset="0">Load More</button>
Combine with Webflow's API pagination parameters. The Staged Items List Reference supports offset and limit parameters (max 100 items per call) plus sortBy and sortOrder for server-side sorting.
Real-time updates with webhooks
Webflow provides webhook support for real-time CMS synchronization. Per the Webflow CMS API Reference, webhooks can be configured via:
POST https://api.webflow.com/v2/sites/{site_id}/webhooks
Supported webhook event types include:
collection_item_created: New CMS itemcollection_item_updated: Item modifiedcollection_item_deleted: Item removedcollection_item_published: Item published to livecollection_item_unpublished: Item moved to draftform_submission: Form submittedpage_published: Page publishedsite_publish: Site publishedecomm_new_order: New orderecomm_order_changed: Order updated
Finsweet Components do not emit webhook notifications directly. Instead, Webflow's native webhooks capture all CMS modifications, including those made through Finsweet-powered interfaces. Webhooks provide real-time event notifications for backend systems to sync, update, or respond to Webflow CMS changes.
Configure webhooks for automated content synchronization. The Webflow Create Webhook Reference shows the endpoint structure:
const response = await fetch(
`https://api.webflow.com/v2/sites/${siteId}/webhooks`,
{
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
triggerType: 'collection_item_created',
deliveryUrl: 'https://your-server.com/webhook-handler',
filter: { collectionId: 'specific_collection_id' }
})
}
);
According to the Webflow All Events Reference, CMS-specific webhook events include:
- collectionitemcreated: New CMS item added
- collectionitemupdated: Existing item modified
- collectionitemdeleted: Item removed
- collectionitempublished: Item status changes draft to published/live
- collectionitemunpublished: Live item moved back to draft
Webhook payloads include siteId, collectionId, itemId, field data, and timestamps. The Webhooks API documentation describes signature verification using HMAC-SHA256 hashing with the x-webflow-signature header and x-webflow-timestamp header.
What you can build
Integrating Finsweet Components with Webflow supports dynamic content displays, CMS-powered filtering systems, pagination with load-more functionality, sortable collection lists, nested collections, and slider components for CMS-driven carousels.
- Filterable product catalogs: Build searchable product collections with multi-criteria filtering, CMS-driven content updates, and real-time refinement without page reloads
- Social proof galleries: Display Instagram feeds or YouTube videos with automatic content updates, custom branded layouts, and CMS integration for curated selections
- Interactive data tables: Present structured data with CSV upload support, semantic HTML markup, responsive layouts, and Webflow styling controls
- Dynamic team carousels: Create CMS-driven sliders for team members, testimonials, or case studies using the Slider component, where non-technical editors can update content directly through Webflow's CMS
Frequently asked questions
Components require JavaScript execution that only occurs on published websites. According to the Finsweet Components documentation (which explains JavaScript execution requirements and testing workflows), Designer preview doesn't execute the Finsweet loader script.
Publish to webflow.io staging domains or custom domains to test functionality. This architectural limitation affects all Finsweet component types; establish staging-based QA workflows rather than Designer-based previews for accurate testing.
No, exporting breaks all Finsweet functionality. Code export removes required Finsweet scripts delivered via CDN. Components function as a managed JavaScript service requiring continuous Finsweet infrastructure. Sites must remain on Webflow hosting (webflow.io or custom domains through Webflow) to maintain component functionality.
Removing custom attributes breaks functionality entirely. The Accordion documentation specifies that you must preserve all
fs-[component]-elementattributes, instance wrapper structure, and component-specific required attributes like trigger, content, and arrow. Components identify elements through custom attributes rather than class names, so attribute removal prevents JavaScript from locating target elements.You cannot rename or modify custom attributes like
fs-marquee-instanceor duplicate component instances without updating the instance ID attribute to create distinct instances. Document which elements contain Finsweet attributes and train content editors not to modify them in Editor mode.There are no limits to component instances per project, page views, or component reuse. Copy and paste instance wrappers freely in Designer. When deploying multiple instances of the same component type on one page, manually update the
fs-*-instanceattribute value in Element Settings to create distinct instances; duplicates share the same custom instance ID by default, which causes conflicts.Yes, components integrate directly with Webflow's native CMS. You can place Collection List elements inside component wrappers, use Webflow's bindings panel to connect dynamic content, and create CMS-driven functionality without JavaScript.
Content updates through Webflow's CMS automatically reflect in Finsweet components. This architecture enables non-technical editors to manage dynamic content while maintaining interactive functionality.
Description
Finsweet is a native Webflow app that provides six pre-built JavaScript components — Advanced Slider, Marquee, Instagram Feed, YouTube Feed, HTML Table, and Number Count.
This integration page is provided for informational and convenience purposes only.

Google Meet
Connect Google Meet with Webflow using integration platforms like Zapier to automate meeting scheduling from form submissions, display upcoming events in your CMS, and manage video conference workflows

Azwedo
Connect Azwedo's development tools with AI features to Webflow through one-time export workflows and file storage integration.

Finsweet Webflow Hacks
Connect Finsweet Webflow Hacks integrate through Webflow's native code embed features using JavaScript and jQuery snippets.

WooRank
Connect WooRank with Webflow through an official marketplace app to provide real-time SEO analysis, Core Web Vitals monitoring (LCP, FID, CLS), and downloadable PDF reports within Webflow.

EX.CO
Connect EX.CO with Webflow to add interactive video players and monetize content through custom embed codes.

Finsweet Class Adder
You can connect Finsweet Class Adder to manage CSS classes dynamically in Webflow using interactions, CMS data, and visual workflows.

Lottieflow
Connect Lottieflow with Webflow to add customizable, lightweight JSON animations directly to your site.

Pixie
Connect Pixie with Webflow to automate CMS image optimization, reduce file sizes, and speed up page load times.

One2 Menu
Embed One2 Menu restaurant menus in Webflow with HTML code for contactless QR ordering and auto-updates.


