> For the complete documentation index, see [llms.txt](https://docs.getmesa.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.getmesa.com/connect/google-sheets/creating-new-spreadsheets.md).

# Creating New Spreadsheets

The Create Spreadsheet, Create Sheet, and Bulk Add Rows actions allow you to create and populate new spreadsheets with a host of data.

## Create New Spreadsheet

After [Authenticating](/connect/google-sheets.md), give your new spreadsheet a name and optionally select a Google Drive folder to place your spreadsheet in. Your spreadsheet name can use Variables from a previous step. Oftentimes it is helpful to use a Date Variable as shown in this example.

<figure><img src="/files/yZd73VYR8IZKbg4WvVvo" alt="Screenshot of a MESA Google Sheets Create Spreadsheet action. Spotlight the spreadsheet Name field using a Date Variable."><figcaption></figcaption></figure>

After this step runs, you will see your spreadsheet available in your Google Drive.

## Add Sheet

This action will add a new sheet to an existing spreadsheet. After [Authenticating](https://docs.getmesa.com/apps/google-sheets#authentication) and selecting a spreadsheet, give your new sheet a name. When the step runs it will be added to the end of your spreadsheet's sheets list. Select the Custom value option to select a variable from a previous step (for example a Create Spreadsheet step):

<figure><img src="/files/KLwP5AYOzbOcetElGQ09" alt="Screenshot of a MESA Google Sheets Add Sheet action. Spotlight the new sheet Name field with the Custom value option."><figcaption></figcaption></figure>

## Bulk Add Rows

This action makes it possible to add multiple rows to your spreadsheet in a single step. [Authenticate](https://docs.getmesa.com/apps/google-sheets#authentication) and select an existing Spreadsheet and Sheet. Then

### Adding comma-separated data

The simplest way to add multiple rows is to enter them as comma separated values. Variable can be used within your comma separated list to include values from other steps. When this step runs:

<figure><img src="/files/wfeaSHiJBN03eLBCn4pf" alt="Screenshot of a MESA Google Sheets Bulk Add Rows action with comma separated values entered. Spotlight the Spreadsheet Rows field."><figcaption></figcaption></figure>

It will create these rows in your spreadsheet:

<figure><img src="/files/IJ3Xsxx7VmU59wyJEH4e" alt="Screenshot of a Google Sheets spreadsheet showing the rows created by the Bulk Add Rows step. Spotlight the newly added rows."><figcaption></figcaption></figure>

### Adding array data (Advanced)

Typically you will want to build an array of results from a Transform or Custom Code step. To do this, create a Custom Code step that returns an array of arrays like this:

<figure><img src="/files/xvBjypcZiriSYYBYwMDy" alt="Screenshot of a MESA Custom Code step that returns an array of arrays. Spotlight the returned array in the code editor."><figcaption></figcaption></figure>

Then copy this step's key:

<figure><img src="/files/GVgUSamUxk8iig6tEarV" alt="Screenshot of a MESA Custom Code step. Spotlight the step key to copy."><figcaption></figcaption></figure>

And enter this key as a liquid variable in the Spreadsheet Rows field:

<figure><img src="/files/W66uSFVgE4MsJT0jcqNs" alt="Screenshot of a MESA Google Sheets Bulk Add Rows action. Spotlight the Spreadsheet Rows field with the Custom Code step key entered as a liquid variable."><figcaption></figcaption></figure>

When this workflow runs it will add these rows to the spreadsheet:

<figure><img src="/files/6xaFFM1PqWOzT9M7QKof" alt="Screenshot of a Google Sheets spreadsheet showing the rows added from the array data. Spotlight the newly added rows."><figcaption></figcaption></figure>
