Using the Google Sheets Integration
The Google Sheets app lets a flow add a row to a Google Sheet. Each time the flow reaches its Send to Google Sheet step, ContactDrive appends one row with the contact's details, and the details of the activity that started the flow, in the columns you chose.
It's a simple way to keep a shared spreadsheet up to date, such as a sign-up sheet for event organizers, without exporting a CSV every week.
Before you start
- The app has to be enabled for your workspace. Google Sheets is available to selected workspaces for now. If you don't see it under Apps, contact ContactDrive support.
- Permissions. Setting up connections needs the Manage Google Sheets connections permission (under Google Sheets in Settings, Roles). Choosing a connection's sheet, tab or columns also needs permission to read contacts and all activity, because whatever you map is what every flow using the connection will send.
- The tab needs a header row. ContactDrive reads row 1 of the tab as the column headers, so put your column names there first.
- Flow. Rows are added by a flow, so you'll also need the Flow app.
Connecting your Google account
- Open Google Sheets from Apps and go to its App Settings.
- Click Connect Google account and sign in with the Google account that can edit your spreadsheet.
- If ContactDrive says it hasn't been granted access to Google Sheets yet, click Grant Google Sheets access and approve it.
You'll see Connected as with your Google address. ContactDrive asks to see your files' names and folders, so it can list your spreadsheets for you, and to edit spreadsheets, so it can add rows. It only ever adds rows to the tabs your connections name.
Your Google link is shared with the Google Workspace app, so Disconnect here disconnects Google Workspace sync too, and your connections stop sending rows until you reconnect.
Creating a connection
A connection maps a Google Sheet tab to ContactDrive fields, so a flow can add rows to it.
- In Google Sheets, click Create connection.
- Enter a Connection name, for example "Event sign-ups".
- Under Spreadsheet, start typing to Search your Google Sheets by name, and pick the spreadsheet.
- Answer Which tab should rows be added to? by picking the tab.
- For each Sheet column, choose the ContactDrive field that fills it, or Skip this column. You can map contact fields and fields of the activity that started the flow.
- Click Save connection.
Row 1 of the tab is read as the column headers. Each new row fills the mapped columns and leaves the rest blank. If you've just added a column in Google Sheets, click Refresh columns to see it.
Adding the step to a flow
- Open the flow in Flow and add an Action step.
- Choose Send to Google Sheet, then your connection. The step's mode is Add a row.
- Save the flow, then turn it on from the Flow list.
When a flow is started by a contact being added or updated, there's no activity behind it, so the row fills the contact columns and leaves the activity columns blank.
How rows are written
- Exactly what's in ContactDrive. Values are written as plain text, so nothing in a contact's details can turn into a spreadsheet formula.
- Once per step. Each run of a step adds at most one row, even if the step is retried. If ContactDrive can't be sure whether Google added a row, the run is marked failed in the flow's run history rather than risk adding the same row twice.
- Protected contacts stay protected. The email addresses and phone numbers of a contact flagged as protected are hidden in the row.
- Whose Google account writes the row. Rows are added through the Google account of the person who last saved the connection's spreadsheet, tab or columns.
The connections list shows each connection's Last row sent.
FAQ
My connection says "Needs attention"
A connection stops sending rows, and shows Needs attention, when:
- The person whose Google account it writes through has left the workspace, or no longer has permission to read contacts and all activity.
- The spreadsheet or tab was deleted, or that Google account lost access to it.
- A mapped column's header in row 1 was moved, renamed or cleared.
Fix the cause, then open the connection with Edit connection and save it again. If someone else saves it, rows are written through their Google account from then on. A flow that uses a connection needing attention can't be turned on until it's fixed.
Someone else edited the connection while I had it open
Your save is refused and the connection reloads with their changes, so neither of you overwrites the other without knowing. Make your edits again and save.
The tab has no header row
Add column names to the first row in Google Sheets, then click Refresh columns.