> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agno.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Shopify

> Tools to interact with Shopify.

**ShopifyTools** enable an Agent to analyze sales data, product performance, and customer insights using the Shopify Admin GraphQL API.

## Prerequisites

The following example requires a Shopify Admin API access token with appropriate scopes.

Set the following environment variables:

* `SHOPIFY_SHOP_NAME`: Your Shopify shop name (e.g., "my-store" from my-store.myshopify.com)
* `SHOPIFY_ACCESS_TOKEN`: Your Shopify Admin API access token

You can get your access token from: Shopify Admin > Settings > Apps and sales channels > Develop apps

**Required API scopes:**

* `read_orders` (for order and sales data)
* `read_products` (for product information)
* `read_customers` (for customer insights)
* `read_analytics` (for analytics data)

## Example

The following agent will analyze sales data and provide insights.

```python shopify_tools.py theme={null}
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.tools.shopify import ShopifyTools

sales_agent = Agent(
    name="Sales Analyst",
    model=OpenAIResponses(id="gpt-5.2"),
    tools=[ShopifyTools()],
    instructions=[
        "You are a sales analyst for an e-commerce store using Shopify.",
        "Help the user understand their sales performance, product trends, and customer behavior.",
    ],
    markdown=True,
    add_datetime_to_context=True,  # This is important to get the current date and time in the context
)

sales_agent.print_response("What are my top 5 selling products this month?")
```

## Toolkit Params

| Parameter      | Type  | Default     | Description                                                                                                                  |
| -------------- | ----- | ----------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `shop_name`    | `str` | -           | Your Shopify store name (e.g., "my-store" from my-store.myshopify.com). Or set via `SHOPIFY_SHOP_NAME` environment variable. |
| `access_token` | `str` | -           | Shopify Admin API access token with required scopes. Or set via `SHOPIFY_ACCESS_TOKEN` environment variable.                 |
| `api_version`  | `str` | `"2025-10"` | Shopify API version.                                                                                                         |
| `timeout`      | `int` | `30`        | Request timeout in seconds.                                                                                                  |

## Toolkit Functions

| Function                       | Description                                                                     |
| ------------------------------ | ------------------------------------------------------------------------------- |
| `get_shop_info`                | Get basic information about the Shopify store                                   |
| `get_products`                 | Get products from the store with optional status filter                         |
| `get_orders`                   | Get orders with optional date range and status filters                          |
| `get_top_selling_products`     | Get the top selling products by quantity sold                                   |
| `get_products_bought_together` | Find products that are frequently bought together for bundle recommendations    |
| `get_sales_by_date_range`      | Get sales summary for a specific date range with daily breakdown                |
| `get_order_analytics`          | Get comprehensive order analytics including revenue, AOV, and fulfillment rates |
| `get_product_sales_breakdown`  | Get detailed sales breakdown for a specific product                             |
| `get_customer_order_history`   | Get order history for a specific customer by email                              |
| `get_inventory_levels`         | Get current inventory levels for all products                                   |
| `get_low_stock_products`       | Get products that are running low on stock                                      |
| `get_sales_trends`             | Get sales trends comparing current period to previous period                    |
| `get_average_order_value`      | Get average order value over time grouped by day, week, or month                |
| `get_repeat_customers`         | Find customers who have made multiple purchases                                 |

## Developer Resources

* View [Tools](https://github.com/agno-agi/agno/blob/main/libs/agno/agno/tools/shopify.py)
