# Shopify Product Feed

|                      |                                                                           |
| -------------------- | ------------------------------------------------------------------------- |
| **Time to complete** | 10 minutes                                                                |
| **Difficulty**       | Beginner                                                                  |
| **Prerequisites**    | Google Sheets or Excel connection                                         |
| **You'll build**     | An assignment that scrapes product data and formats it for Shopify import |

***

### Why Automate This?

**The Problem**: E-commerce teams manually browse supplier websites, copy product details into spreadsheets, and reformat data for Shopify import. This process takes hours, is prone to errors, and needs to be repeated whenever suppliers update their catalog. Missing a new product or price change means lost sales.

**The Solution**: A Duvo assignment that automatically browses supplier websites, extracts product information, and formats it into a Shopify-compatible feed—ready to import or sync with your store.

**Expected Results**:

* Reduce catalog updates from hours to minutes
* Eliminate manual copy-paste errors
* Catch new products and price changes automatically
* Maintain consistent data formatting for Shopify
* Schedule regular updates to keep catalog current

***

### What You'll Build

By the end of this tutorial, you'll have an assignment that:

1. Navigates to a supplier website
2. Extracts product details (name, price, SKU, description, images)
3. Formats data into Shopify's required CSV structure
4. Outputs to Google Sheets or Excel for import

***

### Before You Start

Make sure you have these ready:

* [ ] **Google Sheets or Excel connection** - For storing the formatted feed. [Connect connection](https://docs.duvo.ai/connections/how-to-add-connection)
* [ ] **Supplier website URL** - The website you want to scrape
* [ ] **Shopify import format** (optional) - Upload to Files for reference

***

### Step 1: Create Your Assignment

1. Click **"+ Create Assignment"** from your dashboard
2. Select **"Use Assignment Builder"** (recommended for this tutorial)

![Create Assignment Button](https://2799416172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV0i3nXTFWDeWtbyZ9xMo%2Fuploads%2Fgit-blob-baed45156c0e414ce157b1a61cc6f8f321b6e730%2Fhow-to-build-agent-1.png?alt=media)

***

### Step 2: Describe Your Workflow

Paste this prompt into the Assignment Builder (modify the URL for your supplier):

```
Research all available iPhone options on apple.com and collect them into a spreadsheet in a format I can import into Shopify.

For each product found:
1. Extract the product name
2. Extract all available variants (storage size, color)
3. Extract the price for each variant
4. Extract the product description
5. Extract product image URLs
6. Generate a unique SKU based on product name and variant

Format the data with these Shopify columns:
- Handle (URL-friendly product name)
- Title
- Body (HTML description)
- Vendor
- Type
- Tags
- Published
- Option1 Name, Option1 Value
- Option2 Name, Option2 Value
- Variant SKU
- Variant Price
- Image Src

Save to a new Google Sheet called "Apple Products - Shopify Feed" with today's date.
```

Click **"Generate"** to create the assignment SOP.

***

### Step 3: Review Generated SOP

Review to ensure:

* The correct website URL is specified
* All product fields you need are captured
* Shopify column mapping is correct for your store

***

### Step 4: Configure Connections

Click **"Connections"** and connect:

1. **Google Sheets or Excel** - For outputting the formatted feed

***

### Step 5: Run Your Assignment

1. Click **"Run Assignment"**
2. Watch as the assignment browses the supplier website
3. View the extracted products in real-time

**What to watch for**:

* Is the assignment finding all products?
* Are prices being extracted correctly?
* Are images being captured?

***

### Step 6: Review Your Feed

Once complete, check your Google Sheet:

1. Verify all products were captured
2. Check that formatting matches Shopify requirements
3. Validate prices and variants are correct

![Shopify Feed Example](https://2799416172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV0i3nXTFWDeWtbyZ9xMo%2Fuploads%2Fgit-blob-c8e05c3e3d4c62c152d2988a184188d027b24b7a%2Fapple-shopify-feed.png?alt=media)

***

### Expected Results

When your assignment runs successfully, you should see:

**In Google Sheets/Excel**:

* Complete product catalog with all variants
* Properly formatted for Shopify import
* Consistent SKU generation
* All image URLs captured

**Ready for Shopify**:

* Download as CSV
* Import directly into Shopify Admin
* Or connect via API for automatic sync

**In Duvo**:

* Complete log of pages visited
* Count of products extracted
* Any errors or missing data flagged

***

### Troubleshooting

#### Products not being found

* **Page structure**: Website may have changed—update your SOP
* **Dynamic loading**: Some sites require scrolling to load products
* **Login required**: Some supplier sites need authentication

#### Prices incorrect

* **Currency symbols**: Ensure assignment is extracting numeric values only
* **Sale prices**: Specify whether to capture regular or sale price
* **Regional pricing**: Check if site is showing correct region's prices

#### Missing images

* **Lazy loading**: Images may need page scroll to load
* **Multiple images**: Specify if you want primary image only or all images
* **Image size**: Request specific image sizes if available

#### Formatting issues

* **Special characters**: Product names may have characters that need escaping
* **HTML in descriptions**: Ensure proper HTML formatting for Shopify
* **Variant structure**: Verify Option1/Option2 mapping matches your store

***

### Take It Further

Once your basic assignment is working, consider these enhancements:

**Add multiple suppliers**

```
After collecting Apple products, also collect from:
- Samsung (samsung.com/phones)
- Google (store.google.com/phones)

Combine all products into a single feed with Vendor field populated.
```

**Schedule regular updates**

```
Run every Sunday at midnight.
Compare new prices to previous feed.
Flag any products with price changes greater than 10%.
Email me a summary of changes before publishing.
```

**Add inventory tracking**

```
Check if each product shows "In Stock" or "Out of Stock".
Set Shopify inventory to 100 if in stock, 0 if out of stock.
Mark out-of-stock products as unpublished.
```

**Enrich with SEO data**

```
For each product, generate:
- SEO-optimized title (include key features)
- Meta description (150 characters)
- URL-friendly handle
- Relevant tags for filtering
```

**Add competitor price monitoring**

```
Also check competitor sites for the same products.
Add a "Competitor Price" column.
Flag any products where our price is higher.
```

***

### Related Resources

* [Browsing Capabilities](https://docs.duvo.ai/assignment-features/browsing) - How Duvo navigates websites
* [Files](https://docs.duvo.ai/assignment-features/files) - Upload Shopify format templates
* [Connections Overview](https://docs.duvo.ai/connections/connections-overview) - Connect spreadsheet apps
* [Learning Feature](https://docs.duvo.ai/assignment-features/learning-feature) - Improve extraction accuracy over time


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.duvo.ai/examples/examples/shopify-product-feed.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
