Publish your spreadsheets live as forms, calculators, dashboards, web apps

Updated 3-Mar-2021


Sometimes you want to share your spreadsheets with your colleagues, customers, or the world. With Rows, you can easily transform your spreadsheet into forms, dashboards, and shared web apps that anyone can use. On the live web app, your audience can use the input fields, buttons, or checkboxes you added to the spreadsheet. Now click on the Live button to instantly start using your app. No formulas, cells, or other spreadsheety things.

Tables, Forms, and Hidden Views

You can use your spreadsheets as Tables, shared views where everyone can see all the changes users make, and Forms, private views where a user’s changes are only visible to them.

Just remember that you cannot send data from a Table to a Form or reference cells in a Form from a Table. For example, you can use an INSERT() function in a Form to insert data into a Table. However, you cannot use an INSERT() function in a Table to insert data from a Form or insert data into a Form.


Tables are shared views that you can use when you want everyone to be looking at the same data. These are great for team dashboards, shared lists, and collaboration tools. In these views, any change done in the spreadsheet editor or in the live web app is visible to every user immediately.


To use your spreadsheet as a Table:

  1. Select Table from the drop-down menu.
  2. Make sure that you toggle the visibility of the view you want to publish.
  3. Click the Live button from the right-top corner

You’d now be taken to you live app! Here, everyone can see any data generated.


Forms are private views that you can use when you want your users to use your app independently from other users. These are great for forms or calculators, as in this mode each user only sees the changes they made. For example, if you have a stock tracker and want each user to only see the prices for the company they selected.

:memo: Note: Forms do not support REPEAT(), REFRESH(), and SCHEDULE() functions. You can always update the base spreadsheet inside the Rows editor and users will see the updated version of the Form when they refresh the page.


To publish your spreadsheet as a Form:

  1. Select Form from the drop-down menu.
  2. Make sure that you toggle the visibility of the view you want to publish.
  3. Click the Live button from the right-top corner

You’d now be taken to you live app! Here, each user will only see updates in the app that they actually make.

Hidden Views

No matter if it’s a Table or a Form, when you’re switching to the Live mode, you can hide them from your audience. This is particularly useful when you want to store responses from forms but don’t want anyone else to have access to them.

Create a Hidden view

To create a Hidden view, simply click on the :eye: icon to toggle the visibility of the table -

Example Project: Stock Tracking App

Let’s put Forms, Tables, and Hidden views into practice by building a stock tracking app.

  1. Create two views: Stock Price (Live) and Stock Price (Log).

    Stock Price (Live) will be our Form app that our users will use to get the stock price of a company. Stock Price (Log) will be our hidden Table where we will store all the stock prices our users request.

  2. In Stock Price (Live), set the view to Form.

  3. Enter the following equations:

    Cell Content
    A1 Ticker
    C1 Price
    A2 Input Field action element
    B2 Button action element. Set the label to Get Price.
    C2 =IF(B2="Get Price",PARSE(STOCK_ALPHAVANTAGE(A2),"['Global Quote'].['05. price']"),"")*1
    D2 =IF(C2,INSERT(PAIR2JSON(A1,A2,C1,C2),'Stock Price (Log)'!A1:B1),"")
  4. In Stock Price (Log), set the view to Table.

  5. Click the :eye: icon and toggle Stock Price (Log) to be hidden.

  6. Click Live button.

And there you go! Now you have a Form where each user can check the price of a stock, with every query saved into a hidden Table.


And that’s Tables, Forms, Hidden views! Just like that, you can create and publish custom web applications using just your spreadsheet skills. Pretty wild.

We can’t wait to hear what you build :building_construction:,


best way to enhance the product visibility.I am from the start since this tool was in beta.I hope this will not charge me anything in future as a goodwill gesture whenever they release their paid plans as i had voted it up in producthunt also.It will become best tool in future with few further tweaks.
in backend spreadsheet to be combined with designerview in frontend.if both this combination apply,this tool can beat any tool in market be it airtable,stackby,fiery,sheet2site,excel2app.

1 Like

Hi @henrique,

I was looking into this feature but I can’t find a way to publish my views as private, shared or hidden. I only have an option to enable/disable which views I want to publish.

I was trying to insert data from a form to a log and but the data is not getting to the log.

Can you help?


Hi @pedropalmares,

Well spotted, thank you for bringing it up. We have done a few updates to the Publishing features and have not updated this post yet. Will do asap.

Regarding the Form to Log, can you add more light into what is not working?

Here’s a simple example that might help:

  1. Setup a Form view and a Log view. The form view is published and the Log view is not


=C2: INSERT(A1:B1,A2:B2,‘Log’!A1:B1)

You will see that, if ‘Log!A1:B1’ matches the headers of ‘Form!A1:B1’, the name and Age will be added to the Log view

  1. Transform the cells into input fields and publish the spreadsheet

You can now set A2 and B2 as input fields and publish the spreadsheet.

Using the link to the published spreadsheet, try replacing the name with something else. You should see the Log (not published) updated.

Hope it helps! You can more “app-like” behaviors with buttons.

Happy to go through your case in specific to make sure it works as you want it!



Hi @henrique,

Thanks for the reply.

After reading your instructions I found that after all my form was already working but I was trying to use the form in Preview and expecting to have the log updated in Editor. When using the form in a new tab it works correctly.

Thanks for the help,


Hi @pedropalmares,

We recently released a new way of sharing spreadsheets - as simple “Tables” - where everyone sees the same data and it’s updates in real time. Might come handy for shared to-do lists, dashboards etc.

It might spark some ideas for new spreadsheets :smiley:

I’ve followed your instructions carefully, and all I got were ERRORS…

Hey @nunonog - thanks for pointing this out. We made a bunch of changes over the last few months and accordingly, the INSERT function here also need to be modified to accommodate those

Replace the above with something that looks like this -

=IF(C2,INSERT(PAIR2JSON(A1,A2,C1,C2),‘Stock Price (Log)’!A1:B1),"")

I’ll also update this post but hope this helps solve your error as well :slight_smile:

Should there be anything else that we could help you out with, please don’t hesitate to write back!