Menu
productUpdate
Updates a product with attributes such as title, description, vendor, and media. The productUpdate mutation helps you modify many products at once, avoiding the tedious or time-consuming process of updating them one…
Use it in a workflow
- Add a step and choose the Shopify connector.
- Pick the productUpdate action (under Product).
- Fill in the fields below, then reference the result from later steps as
{{productupdate.response.data}}.
Query
This is the mutation the action sends by default. Edit it in the step's Query field to change which fields come back.
mutation ProductUpdate($input: ProductInput, $product: ProductUpdateInput, $media: [CreateMediaInput!], $identifier: ProductUpdateIdentifiers) {
productUpdate(
input: $input
product: $product
media: $media
identifier: $identifier
) {
product {
availablePublicationsCount {
count
precision
}
bodyHtml
bundleConsolidatedOptions {
name
selections
}
category {
ancestorIds
childrenIds
fullName
id
isArchived
isLeaf
isRoot
level
name
parentId
}
combinedListing {
parentProduct
}
combinedListingRole
compareAtPriceRange {
maxVariantCompareAtPrice
minVariantCompareAtPrice
}
createdAt
customProductType
defaultCursor
descriptionHtml
descriptionPlainSummary
featuredImage {
altText
height
id
originalSrc
src
thumbhash
width
}
featuredMedia {
alt
id
mediaContentType
mediaErrors
mediaWarnings
preview
status
}
feedback {
appFeedback
details
summary
}
giftCardSettings {
crossCurrencyRedeemable
issuanceCurrency
}
giftCardTemplateSuffix
handle
hasOnlyDefaultVariant
hasOutOfStockVariants
hasVariantsThatRequiresComponents
id
isGiftCard
legacyResourceId
mediaCount {
count
precision
}
onlineStorePreviewUrl
onlineStoreUrl
priceRange {
maxVariantPrice
minVariantPrice
}
priceRangeV2 {
maxVariantPrice
minVariantPrice
}
productCategory {
productTaxonomyNode
}
productComponentsCount {
count
precision
}
productType
publishedAt
publishedOnCurrentChannel
publishedOnCurrentPublication
requiresSellingPlan
resourcePublicationOnCurrentPublication {
isPublished
publication
publishDate
publishable
}
sellingPlanGroupCount
sellingPlanGroupsCount {
count
precision
}
seo {
description
title
}
standardizedProductType {
productTaxonomyNode
}
status
storefrontId
tags
templateSuffix
title
totalInventory
totalVariants
tracksInventory
updatedAt
variantsCount {
count
precision
}
vendor
}
userErrors {
field
message
}
}
}
Variables
Pass these as a JSON object in the step's Variables field.
{
"input": {
"descriptionHtml": "string",
"handle": "string",
"seo": {
"title": "string",
"description": "string"
},
"productType": "string",
"tags": [
"string"
],
"templateSuffix": "string",
"giftCardTemplateSuffix": "string",
"title": "string",
"vendor": "string",
"category": "string",
"giftCard": false,
"redirectNewHandle": false
},
"product": {
"descriptionHtml": "string",
"handle": "string",
"seo": {
"title": "string",
"description": "string"
},
"productType": "string",
"tags": [
"string"
],
"templateSuffix": "string",
"giftCardTemplateSuffix": "string",
"title": "string",
"vendor": "string",
"category": "string",
"redirectNewHandle": false,
"id": "string"
},
"media": [
{
"originalSource": "string",
"mediaContentType": "VIDEO",
"alt": "string"
}
],
"identifier": {
"id": "string",
"handle": "string",
"customId": {
"key": "string",
"value": "string",
"namespace": "string"
}
}
}
Response
Read the result with {{productupdate.response.data.data.productUpdate}}. If the API returns errors, the step fails and they are at {{productupdate.response.data.errors}}.
Need more? See the Shopify guide for connection setup and behaviour shared by every action.
Was this page helpful?