Quickly connect your Google Sheet to Webflow using attributes.

Take your website to the next level and surpass any limitations with this game-changing solution. Get started today!

STEP #0

Copy the Sheets CMS <script> and paste into the <head> of your page

<!-- [Sheets CMS by Automated Labs] -->
<script type="module" src="https://sheetscms.automatedlabs.io/js/script-1.js"></script>

STEP #1

Connect your Google Sheet to your Body, Div Block, Section, Container, Grid, etc...
Custom Attributes
Name

data-sheets-cms

Value

Sheet ID,Tab Name

You can use the Data-Sheets-CMS on multiple elements within a single page, assigning different values to each attribute. Every Sheet CMS connection is discrete and separate.

STEP #2

Send all rows of data to your custom layout.
Custom Attributes
Name

data-sheets-cms-template

Value

The template function populates your layout with rows of data from the Google Sheet. The value for this attribute should remain blank

STEP #3

Display your Google Sheets column data.
Custom Attributes
Name

data-sheets-cms-column

Value

column_name

This attribute allows you to convert various types of content such as Text, HTML code, image sources, or links from Google Sheets into visual representations in Webflow. To implement the function, you can either insert the value of the column name or, for added functionality, add a comma+command to render image sources or link blocks.

Ex: Images value : column_name,src
Ex: Link value: column_name,herf

Addon

Change your header row.
Custom Attributes
Name

data-sheets-cms-header-row

Value

1

This feature specifies which row in the spreadsheet is the header row. If you omit this attribute then it’s assumed to be the first row (1), but sometimes it’s the second or third row. Rows above the designated header row are discarded.

Addon

Display loading window while data is synced.
Custom Attributes
Name

data-sheets-cms-loading

Value

This element will display until the Google Sheets data has been loaded, and is useful as a loading indicator. The value for this attribute should remain blank.

Addon

Filter from initial index of your data.
Custom Attributes
Name

data-sheets-cms-only

Value

equals('Column Name')

This attribute takes a JavaScript expression that dictates which rows should be shown on the page. For example, it can be used to filter out all rows that don’t have a certain column, or all rows where a certain column has the value “FALSE”. You can also use JavaScript logical operators, like "&&" for “and” and "||" for “or”, to mix and match.

ex: equals('Column Name')
ex: not_empty('Column Name')
ex: equals('Column Name', 'String that cell should equal')
ex: equals('Column Name') || not_empty('Column Name')
ex: equals('Column Name') && not_empty('Column Name')

Addon

Filter from within the index of your data.
Custom Attributes
Name

data-sheets-cms-show-if

Value

equals('Column Name')

This attribute takes a JavaScript expression that dictates which rows should be shown on the page. For example, it can be used to filter out all rows that don’t have a certain column, or all rows where a certain column has the value “FALSE”. You can also use JavaScript logical operators, like "&&" for “and” and "||" for “or”, to mix and match.

ex: equals('Column Name')
ex: not_empty('Column Name')
ex: equals('Column Name', 'String that cell should equal')
ex: equals('Column Name') || not_empty('Column Name')
ex: equals('Column Name') && not_empty('Column Name')

Addon

Search your data in real-time.
Custom Attributes
Name

data-sheets-cms-search

Value

Column_name(s)

To enable search use the "data-sheets-cms-search" attribute on a text input inside a form element, outside the "data-sheets-cms-template". The Value of "data-sheets-cms-search" can be the column name, multiple columns (comma-separated), or left blank to search all columns.

Sheets CMS +Plus
We put in tons of work to provide this tool for FREE to the Webflow community, there are special plus features that would just require a one time payment to help offset the development cost for this tool. Thank you in advance for considering support us and this tool.

Addon

Securing Google Sheets
Custom Attributes
Name

Contact Us

Value

Column_name(s)

Through Sheets CMS, you can create integrations for Google Sheets that make them more secure. Creating an integration involves providing the domain(s) that the integration will be used on, so that they can only be used on those domains. Be sure to include any development, staging, or testing URLs, and include both www and non-www subdomains if your website uses both.

Addon

Subpages
Custom Attributes
Name

Contact Us

Value

Column_name(s)

The subpages feature allows you to create a separate page for each row in the spreadsheet based on a Webflow page template.

Addon

Using variables from Sheets CMS in Scripts
Custom Attributes
Name

Contact Us

Value

Column_name(s)

Pass your sheets data as a variable from row and execute custom code you wrote in Webflow.

Addon

API request that includes row data
Custom Attributes
Name

Contact Us

Value

Column_name(s)

Run advance API request with in Sheets CMS attributes.

Addon

Data Live refresh
Custom Attributes
Name

Contact Us

Value

Column_name(s)

Refreshes this specific instances' data. If no valid is provided, it defaults to refreshing every 15 seconds. Values can be any number of seconds (s) or minutes (m) above 15 seconds.