E-Commerce

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

  1. Log in to the Shopify admin for the store
  2. Navigate to Settings → Apps and sales channels → Develop apps
  3. Click Create an app and name it (e.g., "botwir3-automation")
  4. Under Configuration, set the Admin API scopes:
    • read_products, write_products — manage product listings and pricing
    • read_inventory, write_inventory — manage stock levels
    • read_orders — read order data
  5. 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

EndpointLimitNotes
Admin API (REST)2 requests/second (Basic) or 40/s (Plus)Per app. Bucket-based with leak rate.
Admin API (GraphQL)50 cost points/secondMore efficient than REST for bulk operations.
Storefront API100 requests/secondFor 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

ErrorCauseFix
CONNECTION_REFUSEDAPI token invalid or store URL incorrectVerify store_url and api_token in adapter config
RATE_LIMITEDExceeded API request limitIncrease rate_limit_ms in adapter config. Switch to GraphQL for bulk operations.
PERMISSION_DENIEDMissing required API scopeUpdate app scopes in Shopify admin → Develop apps → Configuration
MANDATE_INTEGRITY_VIOLATIONConfig file modified while bot is runningStop the bot, verify config, restart

Related guides


One bot. $129. No subscription. No $749/mo platform. → Build for Shopify


Build your Shopify bot

Ready to build?