Menu
metafieldDefinitionCreate
Creates a MetafieldDefinition that establishes structure and validation rules for metafields.
Use it in a workflow
- Add a step and choose the Shopify connector.
- Pick the metafieldDefinitionCreate action (under Metafield).
- Fill in the fields below, then reference the result from later steps as
{{metafielddefinitioncreate.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 MetafieldDefinitionCreate($definition: MetafieldDefinitionInput!) {
metafieldDefinitionCreate(definition: $definition) {
createdDefinition {
access {
admin
customerAccount
storefront
}
capabilities {
adminFilterable
analyticsQueryable
cartToOrderCopyable
smartCollectionCondition
uniqueValues
}
constraints {
key
}
description
id
key
name
namespace
ownerType
pinnedPosition
standardTemplate {
description
id
key
name
namespace
ownerTypes
type
validations
visibleToStorefrontApi
}
type {
category
name
supportedValidations
supportsDefinitionMigrations
valueType
}
useAsCollectionCondition
validationStatus
validations {
name
type
value
}
}
userErrors {
code
elementIndex
elementKey
field
message
}
}
}
Variables
Pass these as a JSON object in the step's Variables field.
{
"definition": {
"key": "string",
"name": "string",
"ownerType": "API_PERMISSION",
"type": "string",
"namespace": "string",
"description": "string",
"validations": [
{
"name": "string",
"value": "string"
}
],
"useAsCollectionCondition": false,
"pin": false,
"access": {
"admin": "MERCHANT_READ",
"storefront": "PUBLIC_READ",
"customerAccount": "READ_WRITE"
},
"constraints": {
"key": "string",
"values": [
"string"
]
},
"capabilities": {
"smartCollectionCondition": {
"enabled": "string"
},
"adminFilterable": {
"enabled": "string"
},
"uniqueValues": {
"enabled": "string"
},
"analyticsQueryable": {
"enabled": "string"
},
"cartToOrderCopyable": {
"enabled": "string"
}
}
}
}
Response
Read the result with {{metafielddefinitioncreate.response.data.data.metafieldDefinitionCreate}}. If the API returns errors, the step fails and they are at {{metafielddefinitioncreate.response.data.errors}}.
Need more? See the Shopify guide for connection setup and behaviour shared by every action.
Was this page helpful?