Publish your spreadsheets as web apps

Updated 24/07/2020


Sometimes you want to share your spreadsheets with your colleagues, customers, or the world. With dashdash, you can easily transform your spreadsheet into forms, dashboards, and shared web apps that anyone can use. Inside a published view your audience can use the input fields, buttons, or checkboxes you added to the spreadsheet. Copy the app link from your clipboard to a new browser tab and start using your app. No formulas, cells, or other spreadsheety things.

Tables, Forms, and Hidden Views

You can publish your views 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 published spreadsheet is visible to every user immediately.

Publish a Table

To publish your spreadsheet as a Table:

  1. Select Table from the drop-down menu.
  2. Click the globe icon on the sidebar.
  3. Make sure that you toggle the view you want to publish.
  4. Click Publish as App.

Your app is published! Now 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 dashdash editor and users will see the updated version of the Form when they refresh the page.

Publish a Form

To publish your spreadsheet as a Form:

  1. Select Form from the drop-down menu.
  2. Click the globe icon on the sidebar.
  3. Make sure that you toggle the view you want to publish.
  4. Click Publish as App.

Your app is published! Now 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 publishing your app 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:

  1. Click the globe icon on the sidebar.
  2. Toggle the view you want to hide when the app is published.
  3. Click Publish as App.

Your app is published! But, the View you selected to hide will not be visible to any users.

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(A1:C1,A2:C2,'Stock Price (Log)'!A1:B1),"")
  4. In Stock Price (Log), set the view to Table.

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

  6. Click Publish as App.

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: