> For the complete documentation index, see [llms.txt](https://docs.magicalforms.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.magicalforms.com/master.md).

# Introduction to Magical Forms

Sheet Monkey was designed to make it as simple as possible to send data from your website into a Google Sheet without any backend code and minimal configuration.&#x20;

{% hint style="info" %}
All these guides require that you have a [free Sheet Monkey account. ](https://sheetmonkey.io)If you haven't registered your account, please do that before continuing.
{% endhint %}

### Start with a form action

Every Sheet Monkey forms starts with a unique url (or a form **action**)  where you can post your data. This url is available with every form you create in the [Sheet Monkey dashboard.](https://dashboard.sheetmonkey.io) This form action is your connection to the Google Sheet.

![An example form action](/files/-MDSq0Ye1yN0Vyc7X1YK)

Once you have your form action then you can follow three rules to send your data into the linked Google Sheet.&#x20;

### Three rules of Sheet Monkey

#### 1. Field names match column headers

When building your HTML form the input names must match a column name in the linked Google Sheet.

```markup
<input type="text" name="Column 1" />
<!-- In this example, anything submitted with this field 
    will be inserted beneath "Column 1" in the linked sheet -->
```

<div align="left"><img src="/files/-MDSjYlROGMVKOjALSu0" alt=""></div>

#### 2. Data is added at the bottom the spreadsheet

Each time the form is submitted, Sheet Monkey will append that submission to the bottom of the form as a new row.

![](/files/-MDSkTrPypqtMpbDWJAY)

#### 3. Unrecognized fields are automatically added as columns

When you submit a field with a name that Sheet Monkey doesn't recognize, it will automatically add it to the end of the spreadsheet.

```markup
<input type="text" name="Column 1" />

<!-- Here's a field that doesn't exist in the spreadsheet -->
<input type="text" name="New Column" />
```

![](/files/-MDSmE_pPwpLxT7TxQvD)

With this method, you can link your forms to a blank sheet and Sheet Monkey will automatically build the header fields for you the first time you submit the form.

### Next steps

Sheet Monkey was designed to give you as much control over appearance and validation as you want. Because of this all of our HTML is *merely a suggestion.* You can design your forms as creatively as you want and Sheet Monkey will accept the data and organize it in a sheet for you.

The best way to get familiar with how to use Sheet Monkey is to [create a free account and build your first form.](https://sheetmonkey.io)&#x20;
