Google Sheets
Connect a Google account with a narrow permission, create the Sheet for a form, and know what FormParcel writes into it and what to leave alone.
What FormParcel does
Each lead is added as a new row in a Google Sheet that you connect to the form. The Sheet lives in the Google account you choose for that form: your agency’s, or your client’s if they should own their leads. FormParcel can open only the Sheets it creates, not the rest of the Drive.
Connect Google
Signing in to FormParcel shares only your name and email. Sheet access is a separate, narrower permission, asked for when you connect Google on a form: the drive.file scope, which covers only files FormParcel creates.
On the form’s page in the dashboard, open the Sheet step and choose Connect Google. Google shows the permission screen, and you are sent back to the form. A workspace can connect more than one Google account. When there is more than one, the form asks which account the Sheet is created in. Use a different Google account on the Sheet step, or Connect another account in Settings, connects another. Disconnect in Settings removes one.
Create the Sheet and verify
Name the Sheet (you can rename it in Google Sheets later) and choose Create Sheet and verify. FormParcel creates the Sheet in the chosen account’s Drive and writes one verification row, so you know delivery works before you put the form on a site. Open Sheet takes you to it. If the verification row was not written, the form says so and offers Run verification.
On the Free plan a workspace has 1 Sheet. Archiving a form frees its Sheet’s place.
What is in the Sheet
The header row starts with four columns FormParcel writes for every lead. Your form’s fields follow, one column per field name.
| Column | What it holds |
|---|---|
_submission_id | The lead’s receipt ID, in column A of every row. It is how you find a lead’s row from its receipt, and a receipt from its row. |
_received_at | When FormParcel received the lead. |
_source_site | The client site’s name, as set in FormParcel. |
_source_form | The form’s name, as set in FormParcel. |
A form field with one of these four names is written to a column named custom_ followed by the name, so it never overwrites a system column. A test lead’s name starts with [TEST].
Text that a spreadsheet would read as a formula is neutralised before it is written, so a lead cannot run a formula in your Sheet.
New fields
If the form starts sending a field the Sheet has no column for, the lead is not written and not dropped. Its receipt says New fields to review and waits. Open it in the dashboard, then add a column for the field, or ignore the field, and the lead is delivered. The state is explained on Receipts and delivery states.
Editing the Sheet
- You can add your own columns to the right of FormParcel’s.
- Do not rename, move or delete a header cell. FormParcel checks the header row before it writes. If it no longer matches, delivery to that Sheet pauses and the receipt says Sheet columns changed, rather than writing values into the wrong columns. Put the header back and re-check the Sheet, or switch the form to a new Sheet.
- If the Sheet goes to Trash, is deleted, or can no longer be edited, the receipt says Sheet needs repair. Restore it and re-check it, or replace it. Waiting leads are then sent again automatically.
- If Google access is revoked or expires, the receipt says Reconnect Google. Reconnect Google and waiting leads are sent again automatically.
Every fix is on Troubleshooting.
A row and its receipt
Column A holds the receipt ID, so a retry can check the Sheet for a lead before it writes again. When Google’s answer is unclear, FormParcel looks for the lead’s receipt ID in the Sheet first. If it is there, nothing more is written.