# Add new products to shopify from CSV

**URL:** <https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156>\
**Category:** Ask a question\
**Created:** [October 8, 2020, 4:12pm UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156 "2020-10-08T16:12:50Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![Massimo\_Coppola](https://avatars.discourse-cdn.com/v4/letter/m/dc4da7/32.png) [@Massimo\_Coppola](https://community.parabola.io/u/Massimo_Coppola)\
**Post date:** [October 8, 2020, 4:12pm UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/1 "2020-10-08T16:12:50Z")

</div>

i’m trying toAdd new products to shopify from CSV  
but having errors like this!

[parabola|690x386](https://community.parabola.io/uploads/short-url/1WEO1G8gykL07bwpjCNtYtNYFqe.jpeg)

---

<div class="post-metadata">

**Author:** ![sachi](https://sea2.discourse-cdn.com/flex020/user_avatar/community.parabola.io/sachi/32/10_2.png) [@sachi](https://community.parabola.io/u/sachi)\
**Post date:** [October 8, 2020, 10:34pm UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/2 "2020-10-08T22:34:31Z")

</div>

Hey @Massimo_Coppola - Looks like my teammate, Brian, just got back to your Intercom message. Based on your screenshot, it looks like you’re trying to add products to collections. Is that what you’re trying to do?

In the case, we need the `Product ID` field to be mapped to `Product ID`s that exist in Shopify. Based on your screenshot, it looks like you’re mapping `Product ID` to `Variant SKU` data which is what’s causing the error.

---

<div class="post-metadata">

**Author:** ![Massimo\_Coppola](https://avatars.discourse-cdn.com/v4/letter/m/dc4da7/32.png) [@Massimo\_Coppola](https://community.parabola.io/u/Massimo_Coppola)\
**Post date:** [October 9, 2020, 4:57am UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/3 "2020-10-09T04:57:50Z")

</div>

I’m trying to add NEW Products.  
Product ID do not exist forn NEW Products.

---

<div class="post-metadata">

**Author:** ![anon36387498](https://avatars.discourse-cdn.com/v4/letter/a/b38774/32.png) [@anon36387498](https://community.parabola.io/u/anon36387498)\
**Post date:** [October 9, 2020, 4:44pm UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/4 "2020-10-09T16:44:56Z")

</div>

Hi @Massimo_Coppola, unfortunately it isn’t possible to add new Shopify products through our `Send to Shopify` integration yet. Our Shopify steps support adding `Product ID`s of existing products to collections for automating organization and improving processes like inventory management.

We’ll note this as a potential addition to make for our Shopify integration. When you have time, can you add this as a feature request so others can vote on it to show their support?: [https://community.parabola.io/c/feature-requests/](https://community.parabola.io/c/feature-requests/)

Let us know if there are any other questions we can assist you with on Community or at [help@parabola.io](mailto:help@parabola.io).

---

<div class="post-metadata">

**Author:** ![Massimo\_Coppola](https://avatars.discourse-cdn.com/v4/letter/m/dc4da7/32.png) [@Massimo\_Coppola](https://community.parabola.io/u/Massimo_Coppola)\
**Post date:** [October 13, 2020, 9:07am UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/5 "2020-10-13T09:07:52Z")

</div>

Hi’  
Can you ask to developer if is possible to add new products sometimes to shopify  
using a new flow like this ? :

origin of data is csv file \> filter data \> send to shopify using API ??

---

<div class="post-metadata">

**Author:** ![anon36387498](https://avatars.discourse-cdn.com/v4/letter/a/b38774/32.png) [@anon36387498](https://community.parabola.io/u/anon36387498)\
**Post date:** [October 13, 2020, 7:40pm UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/6 "2020-10-13T19:40:01Z")

</div>

@Massimo_Coppola good news! Confirmed that it’s possible to create new products with the step [Send to an API](https://parabola.io/destinations/api-export). First, you’ll need to customize the API Endpoint URL for your specific API key, secret, and store URL. Please see below for that process:

1. Set up a Shopify private app using the following URL (replace the “your-url” with what your Shopify store base is):  
https:// **your-url**.myshopify.com/admin/apps/private

2. In the Shopify **Private apps** page, click on the new app you made to pull up those customized details.  

3. On that same page, update **API Permissions** to add **Products** with **read and write** permissions.  

Then, return to Parabola and connect your flow to the export step `Send to an API`. Configure the step by:

- In the **Type** section, select POST.
- In the **API Endpoint URL** section, enter the **Example URL** from your Shopify private app details page and append “admin/api/2020-10/products.json” to the end of it.
- In the **Body** section, enter the request seen in Shopify’s [Create a new product guide](https://shopify.dev/docs/admin-api/rest/reference/products/product#create-2020-10).

Here’s what the step `Send to an API` should look like once you finish:

 ![Screen Shot 2020-10-13 at 12.26.46 PM](https://us1.discourse-cdn.com/flex020/uploads/parabola/original/1X/d290f6d608a2722a1d79a57020b4a2f7d309fd3e.png)

---

<div class="post-metadata">

**Author:** ![Massimo\_Coppola](https://avatars.discourse-cdn.com/v4/letter/m/dc4da7/32.png) [@Massimo\_Coppola](https://community.parabola.io/u/Massimo_Coppola)\
**Post date:** [October 14, 2020, 8:04am UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/7 "2020-10-14T08:04:54Z")

</div>

I’m very happy for this news.

I Tried to do the steps you give to me.

but i have a 403 error when i run flow

See attached screenshot.

can you help me with this?

 ![flow error](https://us1.discourse-cdn.com/flex020/uploads/parabola/original/1X/e18eb4cf95a746c9d6e7e35d7ece946f7fbc0cd0.jpeg)

---

<div class="post-metadata">

**Author:** ![anon36387498](https://avatars.discourse-cdn.com/v4/letter/a/b38774/32.png) [@anon36387498](https://community.parabola.io/u/anon36387498)\
**Post date:** [October 15, 2020, 7:07pm UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/8 "2020-10-15T19:07:30Z")

</div>

Hi @Massimo_Coppola,

Following up here after our email conversation – below is the step’s 403 error message:

```auto
{
  "errors": "[API] This action requires merchant approval for write_products scope."
}

```

This is letting us know that part of the set up for Shopify’s private app to generate the API key isn’t finished. It looks like your Shopify private app permissions needs “write\_products” added. Please see **step 3** from an above post response:

 ![Screen Shot 2020-10-15 at 11.52.07 AM](https://us1.discourse-cdn.com/flex020/uploads/parabola/original/1X/595dfe66eab8873532397bf6ecef30ceba374f45.png)  
  
  
Once that permission is added in on your Shopify’s private app page (https:// **your-url**.myshopify.com/admin/apps/private) and refresh this `Send to an API` step, the error should be resolved.

---

<div class="post-metadata">

**Author:** ![Massimo\_Coppola](https://avatars.discourse-cdn.com/v4/letter/m/dc4da7/32.png) [@Massimo\_Coppola](https://community.parabola.io/u/Massimo_Coppola)\
**Post date:** [October 15, 2020, 7:19pm UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/9 "2020-10-15T19:19:33Z")

</div>

Read&Write Everywere

 ![permission rw](https://us1.discourse-cdn.com/flex020/uploads/parabola/original/1X/3ac3864eac21efe8d6585ea781f8ddfcbc1f029a.jpeg)

---

<div class="post-metadata">

**Author:** ![anon36387498](https://avatars.discourse-cdn.com/v4/letter/a/b38774/32.png) [@anon36387498](https://community.parabola.io/u/anon36387498)\
**Post date:** [October 15, 2020, 9:08pm UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/10 "2020-10-15T21:08:20Z")

</div>

@Massimo_Coppola thanks for sending that screenshot over of your Shopify Private App \> Admin API Permissions page. I noticed that a part of the Customer API “Clienti” is highlighted. Can you check to see if you have one called “Prodotto”, or another Italian word for product?

Shopify’s error message could be caused by two things. Either the permission settings aren’t right, or it has something to do with the API Endpoint URL. Usually if it is the latter, like an issue with the username and API key, the error message will mention an authentication error. Since the error message talks about merchant approval for writing to products, it likely has to do with the private app’s permission settings.

---

<div class="post-metadata">

**Author:** ![Massimo\_Coppola](https://avatars.discourse-cdn.com/v4/letter/m/dc4da7/32.png) [@Massimo\_Coppola](https://community.parabola.io/u/Massimo_Coppola)\
**Post date:** [October 16, 2020, 5:51am UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/11 "2020-10-16T05:51:56Z")

</div>

The highlighted items are not errors, only warnings , advise that giving read and write permission is dangerous for security.

Prodotto = Product  
Clienti=Customers

yoyu have other customers using api with shopify? can we see how they make authentication?

---

<div class="post-metadata">

**Author:** ![Massimo\_Coppola](https://avatars.discourse-cdn.com/v4/letter/m/dc4da7/32.png) [@Massimo\_Coppola](https://community.parabola.io/u/Massimo_Coppola)\
**Post date:** [October 16, 2020, 5:39pm UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/12 "2020-10-16T17:39:56Z")

</div>

Hello. i do not know if you done something on your side, but now is working.

the only issue is that only

“product”: {  
“title”: “{Item}”,  
“body\_html”: “{Item}”,  
“vendor”: “{Manufacturer}”,  
“product\_type”: “Sedie Gaming”,

**pass to shopify.**

“barcode”: “{EAN}”,  
“weight”: “{Weight}”,  
“inventory\_quantity”: “{in stock (external)}”,  
“price”: “{Price}”,  
“sku”: “{SKU}”,

**are not passed in shopify.**

do you have any idea ???

---

<div class="post-metadata">

**Author:** ![sachi](https://sea2.discourse-cdn.com/flex020/user_avatar/community.parabola.io/sachi/32/10_2.png) [@sachi](https://community.parabola.io/u/sachi)\
**Post date:** [October 17, 2020, 12:27am UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/13 "2020-10-17T00:27:33Z")

</div>

Hi @Massimo_Coppola - Glad to hear the permissions are working for you now. Yes, we have many customers who use Parabola to connect to the Shopify API (in cases where our Shopify integrations don’t yet support a particular use case).

I took a look at the Products API docs from Shopify: [https://shopify.dev/docs/admin-api/rest/reference/products/product](https://shopify.dev/docs/admin-api/rest/reference/products/product)

It looks like the reason why some of the fields didn’t get passed to Shopify successfully is because those are `Product Variant` fields.

We can help you figure out the best way to update the product variant information in Shopify as well. Will there only be one variant per product in your case?

Also, try using our `Pull from Shopify` step and pull in Product data with Variant detail. Let me know if you see any variant information for the new products you just created via the API.

---

<div class="post-metadata">

**Author:** ![Massimo\_Coppola](https://avatars.discourse-cdn.com/v4/letter/m/dc4da7/32.png) [@Massimo\_Coppola](https://community.parabola.io/u/Massimo_Coppola)\
**Post date:** [October 17, 2020, 7:41am UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/14 "2020-10-17T07:41:11Z")

</div>

The other info i need to add are :

SKU  
EAN  
Price  
Weight  
Tags

How can be added?

---

<div class="post-metadata">

**Author:** ![daniel](https://sea2.discourse-cdn.com/flex020/user_avatar/community.parabola.io/daniel/32/732_2.png) [@daniel](https://community.parabola.io/u/daniel)\
**Post date:** [October 21, 2020, 1:20am UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/15 "2020-10-21T01:20:47Z")

</div>

Hey @Massimo_Coppola,

Just closing the loop on this as I know we’ve been communicating internally. Using the JSON body below should successfully create Shopify products using the above information:

```auto
{
   "product":{
      "title":"{Item}",
      "body_html":"<strong>{Item}</strong>",
      "vendor":"{Manufacturer}",
      "product_type":"{Category}",
      "tags":[
         "Computeruniverse",
         "{Manufacturer}",
         "{Category}"
      ],
      "variants":[
         {
            "price":"{Price_sell}",
            "cost":"{Price}",
            "sku":"{SKU}",
            "barcode":"{EAN}",
            "weight":"{Weight}",
            "available":"{in stock (external)}"
         }
      ]
   }
}

```

---

<div class="post-metadata">

**Author:** ![Massimo\_Coppola](https://avatars.discourse-cdn.com/v4/letter/m/dc4da7/32.png) [@Massimo\_Coppola](https://community.parabola.io/u/Massimo_Coppola)\
**Post date:** [October 21, 2020, 4:15pm UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/16 "2020-10-21T16:15:59Z")

</div>

Yes, now the only issue is adding Stock quantity.

---

<div class="post-metadata">

**Author:** ![daniel](https://sea2.discourse-cdn.com/flex020/user_avatar/community.parabola.io/daniel/32/732_2.png) [@daniel](https://community.parabola.io/u/daniel)\
**Post date:** [October 22, 2020, 2:09am UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/17 "2020-10-22T02:09:39Z")

</div>

Hey @Massimo_Coppola,

You’ll need to send your inventory quantities to the inventory endpoint. Using the product variant endpoint won’t allow you to set the inventory levels.

After creating your products, you’ll need to get your Inventory Item Id and Location Id. The [Pull from Shopify](https://parabola.io/sources/shopify-import) step will be able to grab those columns. They help tell Shopify which inventory item is being adjusted and the location of that inventory item.

Use the [Send to Shopify](https://parabola.io/destinations/shopify-export) step to adjust your inventory levels by inserting those columns along with your `{in stock (external)}` column to set the quantity.

I also sent a detailed walkthrough to your inbox. Hope that helps!

---

<div class="post-metadata">

**Author:** ![Massimo\_Coppola](https://avatars.discourse-cdn.com/v4/letter/m/dc4da7/32.png) [@Massimo\_Coppola](https://community.parabola.io/u/Massimo_Coppola)\
**Post date:** [October 31, 2020, 10:58am UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/18 "2020-10-31T10:58:24Z")

</div>

|### Massimo Coppola [alexia.trading@gmail.com](mailto:alexia.trading@gmail.com)|11:53 (3 minuti fa)|| ![](https://us1.discourse-cdn.com/flex020/uploads/parabola/original/1X/56d45f8a17f5078a20af9962c992ca4678450765.gif)

| ![](https://us1.discourse-cdn.com/flex020/uploads/parabola/original/1X/56d45f8a17f5078a20af9962c992ca4678450765.gif) |
| --- |
| a Daniel, daniel |

![](https://us1.discourse-cdn.com/flex020/uploads/parabola/original/1X/56d45f8a17f5078a20af9962c992ca4678450765.gif)|

Hi Daniel.

I created a flow (i called the flow For Daniel in case you want to see)  
as you described in your email .  
When i run the flow report an error.

Can you help me?

 ![daniel](https://us1.discourse-cdn.com/flex020/uploads/parabola/original/1X/fd97db9914a0035f5b194e0d302d2ed554e0f8a8.jpeg)

---

<div class="post-metadata">

**Author:** ![daniel](https://sea2.discourse-cdn.com/flex020/user_avatar/community.parabola.io/daniel/32/732_2.png) [@daniel](https://community.parabola.io/u/daniel)\
**Post date:** [November 2, 2020, 11:40pm UTC](https://community.parabola.io/t/add-new-products-to-shopify-from-csv/1156/19 "2020-11-02T23:40:52Z")

</div>

Hi @Massimo_Coppola,

I replied to your email, but I wanted to close the loop on the community thread.

The reason for this error was likely caused by incorrect or missing data from your Parabola flow. When mapping your Parabola columns to Shopify’s fields, be sure the data type is accurate and correctly linked.

In your case, it looks like either the `inventory_item_ id`, the `location_id`, or the `available_adjustment` was missing.

Glad to hear you are now able to sucessfully run your flow!
