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

# Smartsheet

> Sync your warehouse data to your Smartsheet sheets

## Supported syncing

| Type | Description | Supported Sync Modes | API Reference |
| - | - | - | - |
| **Sheets** | Sync data to sheets in Smartsheet | Upsert, Update, Insert | [Smartsheet API Reference](https://developers.smartsheet.com/api/smartsheet/openapi) |

For more information about sync modes, refer to the [sync modes](https://docs.hightouch.com/syncs/types-and-modes.md#sync-modes) docs.

## Connect to Smartsheet

Go to the [**Destinations** overview page](https://app.hightouch.com/destinations?from=docs) and click the **Add destination** button. Select **Smartsheet** and click **Continue**. You can then authenticate Hightouch to **Smartsheet** with either a Smartsheet API key or with OAuth.

### Authenticate with API key

To retrieve an API key, go to your Smarsheet dashboard.
Select **Account** > **Apps & Integrations** in the side nav.

![Smartsheet Dashboard](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-smartsheet-apps-integrations.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=8529bd77300503680f637bc8ba1985e4)

In the **Personal Settings** form that appears, select **API Access**.
On the **API Access** tab, you can either generate a new token by clicking **Generate new access token** or use an existing one.

![Smartsheet Dashboard](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-smartsheet-generate-access-token.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=a8913025c3965f61d6321b2fa799d164)

Enter the access token into **API Key** field in Hightouch and then click **Continue**.
Enter a descriptive name for your destination, and complete setup.

### Authenticate with OAuth

For the **Authentication method**, select **Log in to Smartsheet** and log into your Smartsheet account. Once successful, you will be redirected back to Hightouch to enter a descriptive name for your destination and complete setup.

## Sync configuration

Once you've set up your Smartsheet destination and have a [model](https://docs.hightouch.com/getting-started/concepts.md#models) to pull data from, you can set up your sync configuration to begin syncing data. Go to the [**Syncs** overview page](https://app.hightouch.com/syncs?from=docs) and click the **Add sync** button to begin. Then, select the relevant model and the Smartsheet destination you want to sync to.

### Syncing rows

Hightouch supports inserting, upserting, and updating data as rows into Smartsheet sheets.

> [!TIP]
>
> Read through the [section below](#duplicate-rows-in-sheet) if you're using Upsert mode and duplicates are being created in your sheet.

#### Record matching

You can match rows from your model to rows in Smartsheet on any column in your model and any field in Smartsheet. Ensure the data types of the model column and Smartsheet field you select match.
Refer to the [record matching docs](https://docs.hightouch.com/syncs/record-matching.md) for more information.

> [!TIP]
>
> We recommend selecting your sheet's [primary column](https://help.smartsheet.com/articles/504645-primary-column) for record matching.
>
> Read through the [section below](#duplicate-rows-in-sheet) if the values you're using for record matching start with a leading zero as that can cause duplicates.

> [!NOTE]
>
> In **Insert** mode, Smartsheet automatically generates an identifier for every new record synced, so there is no need to match an existing record.

#### Field mapping

You can sync columns from your model to columns within your selected Smartsheet sheet.

#### Delete behavior

The [delete behavior](https://docs.hightouch.com/syncs/overview.md#delete-behavior) you select dictates what to do when a row no longer appears in your model's query results. You have the following options:

| Behavior | Description |
| - | - |
| **Do nothing** | Keep the row in Smartsheet with all its synced fields |
| **Clear** | Clear all the mapped fields, but keep the row in Smartsheet |
| **Delete** | Delete the synced record from your Smartsheet sheet |

## Tips and troubleshooting

To see the exact API requests and responses from each sync run, use the [live debugger](https://docs.hightouch.com/syncs/debugger.md). To get notified by Slack, PagerDuty, SMS, or email when a sync fails, set up [sync alerts](https://docs.hightouch.com/syncs/alerting.md). If you run into an issue this page doesn't cover, [contact support](#pylon-chat).

## Common errors

### Duplicate rows in sheet

As explained in the [Values starting with zero](https://help.smartsheet.com/learning-track/level-1-get-started/columns#:~:text=Values%20starting%20with%20zero) section, Smartsheet needs to add a leading apostrophe to any values that start with a leading zero. This process can cause duplicates when updating a sheet via API, so we recommend avoiding any leading zeros in your [record matching](#record-matching) values.

Furthermore, [Upsert mode](#supported-syncing) might create duplicates in your sheet if you run your sync too frequently (such as every 24 hours or more often). This is because it calls Smartsheet's [Search sheet](https://developers.smartsheet.com/api/smartsheet/openapi/search/list-search-sheet) API endpoint, which might not return rows that were added or edited during the past 24 hours.

To avoid this, you can schedule your sync so it doesn't run as frequently or you can replace your Upsert mode sync with a two-part setup:

* for Update mode: one model, sync (set to Update mode), and Smartsheet sheet
* for Insert mode: another model, sync (set to Insert mode), and Smartsheet sheet

The data from the "Insert mode" sheet can then be synced to the "Update mode" sheet by a [copy rows](https://help.smartsheet.com/articles/2479626-automatically-copy-rows-between-sheets) Smartsheet workflow. If the workflow is set up correctly, this eliminates the risk of duplicate rows being created in your "Update mode" sheet.

### errorCode: 1051

This error can happen if you try syncing data to [locked columns or rows](https://help.smartsheet.com/articles/522077-locking-unlocking-columns-and-rows).
