> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getnexor.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Google Sheets

> Import leads from a Google Sheets tab into a Nexor agent, with verified mapping, sync behavior, and current limitations.

Google Sheets can feed rows into a Nexor agent as leads. Each automation connects one spreadsheet tab to one active agent and maps the sheet's columns to lead fields.

<Warning>
  Use **Import Leads** for new automations. The **Write** option is visible in the dashboard, but its current column-mapping contract is not verified end to end and may append an empty row. Do not enable Write without help from Nexor.
</Warning>

<Note>
  This walkthrough was checked in the staging dashboard on September 7, 2026. The screenshots show an empty demonstration setup and contain no service-account address or spreadsheet data.
</Note>

## Before you start

Have the following ready:

* An owner or admin account in Nexor.
* A Google Sheet whose first row contains column headers.
* One column with a phone number for every lead. After formatting is removed, a valid value needs at least eight digits.
* The active agent that should receive the imported leads.

Do not put sensitive columns in the source sheet unless they are meant to be stored in Nexor. The current **Ignore** selection is not verified end to end, so an unmapped column may still arrive as lead metadata.

## Configure an import

<Steps>
  <Step title="Open Google Sheets">
    Go to **Settings → Integrations → Google Sheets**. The management screen remains available even when no automation exists. Select **New automation**.

    <Frame caption="Google Sheets with no automations in staging on September 7, 2026.">
      <img src="https://mintcdn.com/nexor/7_xWfOhMNwV0KbZa/images/integrations/google-sheets-empty-staging-2026-09-07.png?fit=max&auto=format&n=7_xWfOhMNwV0KbZa&q=85&s=0de55176664d18099d6361874e3cf324" alt="Empty Google Sheets automation screen with the New automation button" width="1395" height="768" data-path="images/integrations/google-sheets-empty-staging-2026-09-07.png" />
    </Frame>
  </Step>

  <Step title="Choose Import Leads">
    Keep **Type** set to **Import Leads**, then paste the Google Sheets URL. Nexor reads the spreadsheet title, tabs, and header row through its service account.

    <Frame caption="The Import Leads automation form in staging on September 7, 2026.">
      <img src="https://mintcdn.com/nexor/7_xWfOhMNwV0KbZa/images/integrations/google-sheets-import-staging-2026-09-07.png?fit=max&auto=format&n=7_xWfOhMNwV0KbZa&q=85&s=7c761a4331eba35b8b66fd8916ecceb7" alt="New Google Sheets automation drawer with Import Leads selected" width="1395" height="768" data-path="images/integrations/google-sheets-import-staging-2026-09-07.png" />
    </Frame>
  </Step>

  <Step title="Share the spreadsheet">
    If the sheet is private, copy the service-account address shown in the dashboard and share the sheet with that address as an **Editor**. Always use the address displayed for the current environment; do not reuse one from another account or document.
  </Step>

  <Step title="Select the tab and agent">
    Choose one spreadsheet tab and one active agent. The Integrations drawer creates one automation per tab, so repeat the setup for another tab when needed.
  </Step>

  <Step title="Map the columns">
    Map every field explicitly. Nexor does not infer the mapping from header names. Exactly one header must map to **Phone**.

    The standard destinations are **Phone**, **Full name**, **First name**, **Last name**, **Email**, and **City**. A custom destination is stored in lead metadata. **Full name** cannot be combined with **First name** or **Last name**, and two headers cannot target the same destination.
  </Step>

  <Step title="Create the automation">
    Review the selected tab, agent, and mapping, then select **Create automation**. Keep the automation active for the importer to include it in its scheduled checks.
  </Step>
</Steps>

## What the import does

* The importer attempts to check active Import automations every five minutes. This is the worker schedule, not a guaranteed delivery time; Google quotas, the worker, and processing time can add delay.
* On the first check, a new automation processes the data rows already present in the tab, starting after the header. It sends them to Nexor in batches of 50.
* After that first check, only rows appended after the processed position are considered. Editing an earlier row does not update its lead. Add new rows at the bottom and avoid inserting, deleting, or reordering rows above the imported range.
* A row without a valid phone number is skipped. Because the processed position still advances, correcting that same row does not automatically retry it; append a corrected row instead.

<Info>
  No product contract for a maximum number of rows, columns, or tabs was found in the current code. This guide therefore does not describe the connection as unlimited.
</Info>

## Tabs created through onboarding

The current Integrations drawer selects one tab per automation. An existing onboarding flow can also create connections for several selected tabs or automatically expand to new tabs. Automatic expansion creates a separate position for each tab and only adds a tab when it contains the same phone header used by the original connection.

The same spreadsheet and tab can have an Import automation or a Write automation for one Nexor account, but not both at the same time. Other tabs in the spreadsheet remain independent.

## Write is not ready for self-service

The dashboard also shows a **Write** type and a **When to write** instruction. That instruction guides the agent; it is not a deterministic trigger. When its runtime mapping is correctly provisioned, each use appends a new row instead of editing an existing row.

<Frame caption="The Write form visible in staging on September 7, 2026. This screenshot confirms the interface only, not successful row writes.">
  <img src="https://mintcdn.com/nexor/7_xWfOhMNwV0KbZa/images/integrations/google-sheets-write-staging-2026-09-07.png?fit=max&auto=format&n=7_xWfOhMNwV0KbZa&q=85&s=248c56644988486892443d3eb096d7c8" alt="New Google Sheets automation drawer with Write selected and the When to write field" width="1395" height="768" data-path="images/integrations/google-sheets-write-staging-2026-09-07.png" />
</Frame>

<Warning>
  Do not create a self-service Write automation yet. The new drawer saves simple field names, while the write runtime expects a source-based mapping. No staging test has confirmed the complete path from this drawer to a row populated with values. Contact Nexor before using this mode.
</Warning>
