Shopify Setup Guide
Time: 10 minutes | Difficulty: Moderate | Market: E-Commerce Mode: Full automation | API: Admin API + Storefront API | Docs: shopify.dev/docs/api
This guide wires a Shopify inventory bot to the Admin API using the botwir3 runtime. Configure API credentials, connect to a Shopify store, and run automated pricing, inventory, and order management strategies locally.
Before you start
Verify that automated operation is permitted under Shopify's current terms of service before deploying. This guide manages the user's own Shopify store — inventory, pricing, and order processing. botwir3 provides tools for building structured automation. The user is responsible for compliance with the platform's terms and all applicable regulations.
Shopify Terms of Service | Last verified: May 2026
What you need
- A Shopify store with an active plan
- A custom app created in the Shopify admin (for API access)
- The botwir3 runtime downloaded and unzipped
- A strategy config file from the builder
Step 1: Create API credentials
- Log in to the Shopify admin for the store
- Navigate to Settings → Apps and sales channels → Develop apps
- Click Create an app and name it (e.g., "botwir3-automation")
- Under Configuration, set the Admin API scopes:
read_products,write_products— manage product listings and pricingread_inventory,write_inventory— manage stock levelsread_orders— read order data
- Click Install app and copy the Admin API access token
Permissions required: read_products, write_products, read_inventory, write_inventory, read_orders.
Permissions to disable: write_orders, read_customers, write_customers. These scopes are not required for inventory/pricing automation and can be left unselected.
🔒 Security. Shopify Admin API tokens are shown once at creation. Store the token securely. The token does not grant access to payment information or customer financial data.
Step 2: Configure the adapter
Create adapter.json in the bot directory:
{
"adapter": "shopify",
"credentials": {
"store_url": "paste-store-name.myshopify.com",
"api_token": "paste-admin-api-token-here"
},
"product_id": "all",
"environment": "live",
"rate_limit_ms": 500
}
store_url: The .myshopify.com URL for the store.
product_id: "all" to manage all products, or a specific product ID to target one item.
API keys are stored in a local config file on the machine running the bot. They are not transmitted to botwir3 or any third party. botwir3 never sees, stores, or has access to platform credentials.
Step 3: Test the connection
botwir3 test --adapter shopify
Expected output:
[botwir3] Adapter: shopify
[botwir3] Connection: OK
[botwir3] Store: paste-store-name.myshopify.com
[botwir3] Permissions: products:rw, inventory:rw, orders:r
[botwir3] Rate limit: 40 requests/second (Plus) or 2 requests/second (Basic)
Step 4: Start the bot
botwir3 start --config my-strategy.json
The runtime loads the strategy, computes the spec hash, connects to Shopify via the local API token, and begins evaluating signals. The gate function compares proposed actions against the configured spec. The user is responsible for monitoring the bot and verifying execution outcomes.
Rate limits and considerations
| Endpoint | Limit | Notes |
|---|---|---|
| Admin API (REST) | 2 requests/second (Basic) or 40/s (Plus) | Per app. Bucket-based with leak rate. |
| Admin API (GraphQL) | 50 cost points/second | More efficient than REST for bulk operations. |
| Storefront API | 100 requests/second | For public-facing data only. |
ℹ Shopify plan limits. Basic Shopify plan allows 2 API requests/second. Shopify Plus allows 40/second. High-frequency repricing strategies require Shopify Plus or careful batching with GraphQL.
Common Shopify bot configurations include automated repricing (adjusting product prices based on competitor data or margin targets), inventory sync across multiple channels, and restock alerting with automated purchase order generation. All actions and decisions are recorded in the local ledger.
Troubleshooting
| Error | Cause | Fix |
|---|---|---|
CONNECTION_REFUSED | API token invalid or store URL incorrect | Verify store_url and api_token in adapter config |
RATE_LIMITED | Exceeded API request limit | Increase rate_limit_ms in adapter config. Switch to GraphQL for bulk operations. |
PERMISSION_DENIED | Missing required API scope | Update app scopes in Shopify admin → Develop apps → Configuration |
MANDATE_INTEGRITY_VIOLATION | Config file modified while bot is running | Stop the bot, verify config, restart |
Related guides
- Amazon Seller Setup Guide — e-commerce, seller-side automation
- Walmart Marketplace Setup Guide — e-commerce, seller-side automation
- TradingView Webhooks Setup Guide — route alert signals to any adapter
One bot. $129. No subscription. No $749/mo platform. → Build for Shopify