> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.syncbase.app/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# 🛠️ How to create a staging environment within Airtable?

| Need help with Airtable? We’ve launched SyncBase Studio to assist you! Feel free to reach out at theau@syncbase.app 💬

By default, SyncBase syncs your Airtable base instantly with your Shopify store. This means that any change made to your Airtable records is immediately pushed live.
While this is perfect for quick updates, it can be risky when you want to prepare large changes — like updating your entire product catalog — before making them public.
To solve this, you can create a **staging environment** directly inside your synced Airtable base.
In this tutorial, we'll explain the concept and walk you through a real example for managing your **Products**.

# Understanding the Solution

The idea is simple:
* **Create a new tab** **that** **duplicates the structure** of your synced tab (e.g., Products).
* This **staging tab** **will** **not** be synced with Shopify.
* You can safely add, update, and delete records in this tab without affecting your live store.
* Once your updates are ready, you **manually push** the changes to the live (synced) tab using an automation or a script.
* This way, you can review and control when your data goes live.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/5/e/8/35e84c43b53ca800/syncbase-staging-environment_1dh49yq.png =306xauto)
# Example: Preparing Products in a Staging Tab

### Step 1: Duplicate the Products Tab Structure

1. In your Airtable base, find your `Products` tab.
2. Right-click on the tab name and choose **Duplicate table** → **Duplicate structure only**.
3. Rename this new tab to something like `Products (Staging)`.
✅ Now you have a staging tab with the same fields, but no records.

### Step 2: Manage Your Products in the Staging Tab

* Create or update your products safely inside the `Products (Staging)` tab.
* You can also add a new field called **"Ready to Publish"** (Checkbox or Status) to mark the products that are finalized and ready to go live.

### Step 3: Create a Push Mechanism (Manual Selection)

You want to manually select which products to publish. Here's a simple method:
1. In the `Products (Staging)` tab, create a **Checkbox** field called `Ready to Publish`.
2. Set up an **Automation** (or a small **Script**) that:**** 
**When** `Ready to Publish` is checked,**** 
**Then** copy the record to the **Products** (synced) tab.
If the product already exists in the synced tab (match by SKU or Handle, for example), **update** it instead of creating a new one.

# Airtable Automation: Push Ready Products to Synced Tab

### Step 1: Create the Trigger

* Click **Add trigger**.
* Choose **When a record matches conditions**.
* **Table**: `Products Staging`
* **Condition**: Field `Ready to Publish` **is checked** ✅.

### Step 2: Find Matching Record in Products

* Click **Add action**.
* Choose **Find records**.
* **Table**: `Products`
* **Condition**: `Handle` (Products) is **equal to** `Handle` (from trigger record in Products Staging).
This checks if a product with the same Handle already exists.

### Step 3: Add a Conditional Branch

* Click **+** below the Find Records action.
* Choose **Conditional group** (or "Conditional branch" depending on wording).
Set it to:
* **If** the list of found records **length > 0** → (means the product already exists)

### Step 3.1: If the product exists → Update it

* Action: **Update record**.
* Record ID: Take the ID of the **first found record**.
* Table: `Products`.
* Fields to update: Title, Status, Vendor, Tags, Price, etc. (copy fields from the trigger record).

### Step 3.2: Else → Create new record

* Action: **Create record**.
* Table: `Products`.
* Set fields:
Title = Title (from Products Staging)
Handle = Handle (from Products Staging)
Status = Status (from Products Staging)
etc.

|| At the end of your automation, you can add Update Record → to automatically uncheck the Ready to Publish field after the push, keeping the staging area clean!

![](https://storage.crisp.chat/users/helpdesk/website/-/3/5/e/8/35e84c43b53ca800/syncbase-help-center_1cf0ib6.png =531xauto)

