Shopify

Learn how to use Shopify with Composio

Overview

SLUG: SHOPIFY

Description

Shopify is an e-commerce platform enabling merchants to create online stores, manage products, and process payments with themes, apps, and integrated marketing tools

Authentication Details

client_id
stringRequired
client_secret
stringRequired
oauth_redirect_uri
stringDefaults to https://backend.composio.dev/api/v1/auth-apps/add
scopes
stringDefaults to read_products,write_products,read_orders,write_orders
bearer_token
string
subdomain
stringRequired
subdomain
stringRequired
generic_api_key
stringRequired

Connecting to Shopify

Create an auth config

Use the dashboard to create an auth config for the Shopify toolkit. This allows you to connect multiple Shopify accounts to Composio for agents to use.

1

Select App

Navigate to the Shopify toolkit page and click “Setup Integration”.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Integration”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using OAuth2

1from composio import Composio
2
3# Replace these with your actual values
4shopify_auth_config_id = "ac_YOUR_SHOPIFY_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/application
6
7composio = Composio()
8
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 connection_request = composio.connected_accounts.initiate(
12 user_id=user_id,
13 auth_config_id=auth_config_id,
14 )
15
16 print(
17 f"Visit this URL to authenticate Shopify: {connection_request.redirect_url}"
18 )
19
20 # This will wait for the auth flow to be completed
21 connection_request.wait_for_connection(timeout=15)
22 return connection_request.id
23
24
25connection_id = authenticate_toolkit(user_id, shopify_auth_config_id)
26
27# You can also verify the connection status using:
28connected_account = composio.connected_accounts.get(connection_id)
29print(f"Connected account: {connected_account}")

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4shopify_auth_config_id = "ac_YOUR_SHOPIFY_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": user_api_key}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Shopify for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, shopify_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Shopify toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["SHOPIFY"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Count product images

Description

Retrieves the total count of images for a shopify product, useful for inventory management or display logic; the provided `product id` must exist in the store.

Action Parameters

product_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Customer

Description

Tool to create a new customer in shopify. use when you need to add a new customer record to the store.

Action Parameters

addresses
array
email
stringRequired
first_name
string
last_name
string
note
string
password
string
password_confirmation
string
phone
string
send_email_invite
boolean
send_email_welcome
booleanDefaults to True
tags
string
verified_email
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a custom collection

Description

Creates a new custom collection in a shopify store, requiring a unique title for manually curated product groupings (e.g., 'new arrivals', 'seasonal specials').

Action Parameters

title
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create an order

Description

Creates a new order in shopify, typically requiring line items; if `customer id` is provided, it must correspond to an existing customer.

Action Parameters

currency
string
customer_id
string
line_items
arrayRequired
total_tax
number
transactions
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a product

Description

Creates a new product in a shopify store; a product title is generally required.

Action Parameters

body_html
string
product_type
string
title
string
variants
array
vendor
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Product Image

Description

Tool to create a new product image for a given product. use when you need to add an image to a product by providing the image source url or attachment.

Action Parameters

image
objectRequired
product_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get All Customers

Description

Retrieves customer records from a shopify store, with options for filtering, selecting specific fields, and paginating through the results.

Action Parameters

created_at_max
string
created_at_min
string
fields
string
ids
array
limit
integerDefaults to 50
since_id
string
updated_at_max
string
updated_at_min
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Customer

Description

Retrieves detailed information for a specific customer from a shopify store, provided their valid and existing `customer id`.

Action Parameters

customer_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Shop Details

Description

Retrieves comprehensive administrative information about the authenticated shopify store, as defined by the shopify api.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Add product to custom collection

Description

Adds a product to an existing *custom collection*, optionally specifying its `position` if the collection is manually sorted.

Action Parameters

collection_id
integerRequired
position
integer
product_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete custom collection

Description

Permanently deletes a custom collection from a shopify store using its `collection id`; this action is irreversible and requires a valid, existing `collection id`.

Action Parameters

collection_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete a product

Description

Deletes a specific, existing product from a shopify store using its unique product id; this action is irreversible.

Action Parameters

id
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete product image

Description

Deletes a specific image from a product in shopify, requiring the `product id` of an existing product and the `image id` of an image currently associated with that product.

Action Parameters

image_id
stringRequired
product_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get collection by ID

Description

Retrieves a specific shopify collection by its `collection id`, optionally filtering returned data to specified `fields`.

Action Parameters

collection_id
stringRequired
fields
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get collects

Description

Retrieves a list of collects from a shopify store, where a collect links a product to a custom collection.

Action Parameters

fields
string
limit
integerDefaults to 50
since_id
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get collects count

Description

Retrieves the total count of collects (product-to-collection associations) in a shopify store.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get customer orders

Description

Retrieves all orders for a specific, existing customer in shopify using their unique customer id.

Action Parameters

customer_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get custom collections

Description

Retrieves a list of custom collections from a shopify store, optionally filtered by ids, product id, or handle.

Action Parameters

handle
string
ids
string
limit
integerDefaults to 50
product_id
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get custom collections count

Description

Retrieves the total number of custom collections in a shopify store.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get order by id

Description

Retrieves a specific shopify order by its unique id, which must correspond to an existing order.

Action Parameters

fields
string
order_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get order list

Description

Retrieves a list of orders from shopify using default api settings and filters.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get product

Description

Retrieves details for an existing shopify product using its unique product id.

Action Parameters

product_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get products

Description

Retrieves a list of products from a shopify store.

Action Parameters

ids
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get products count

Description

Retrieves the total, unfiltered count of all products in a shopify store.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get products in collection

Description

Retrieves all products within a specified shopify collection, requiring a valid `collection id`.

Action Parameters

collection_id
stringRequired
limit
integerDefaults to 50

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get product image

Description

Retrieves detailed information for a specific product image, identified by its id and its associated product id, from a shopify store.

Action Parameters

image_id
stringRequired
product_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Product Images

Description

Retrieves all images for a shopify product, specified by its `product id` which must correspond to an existing product.

Action Parameters

fields
string
product_id
stringRequired
since_id
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Order

Description

Updates the phone number for an existing shopify order, identified by its id; pass `phone=none` to remove the current phone number.

Action Parameters

id
integerRequired
phone
string

Action Response

data
objectRequired
error
string
successful
booleanRequired