Shopify
The robomotion shopify CLI connects to Shopify for ecommerce management. It handles products (CRUD with variants), orders (create/fulfill/cancel), customers, inventory levels, collections, and fulfillment tracking — covering the full online store workflow.
When to use
- Create, update, list, or delete products and variants
- Manage orders — create, fulfill, cancel, and track
- Search and manage customer records
- Track inventory levels and manage collections
Prerequisites
robomotionCLI installed- Package installed:
robomotion install shopify - Shopify store URL and API access token configured via Robomotion vault
IMPORTANT: Session Mode Required for Multi-Step Operations
Each CLI command runs as a separate process — connection IDs from connect do NOT persist across calls.
You MUST use --session on connect and pass --session-id to all subsequent commands.
Workflow
- Install (once):
robomotion install shopify - Connect with session:
robomotion shopify shopify_connect --session --output json # → {"outClientId":"<client-id>","session_id":"<session-id>"} - Use the returned
client-idandsession-idin all subsequent commands:robomotion shopify shopify_list_products --client-id "<client-id>" --session-id "<session-id>" --output json - Disconnect when done:
robomotion shopify shopify_disconnect --client-id "<client-id>" --session-id "<session-id>" --output json
Always append --output json to get structured JSON results.
Commands Reference
robomotion shopify shopify_connect --session --output jsonConnects to Shopify Admin API and returns a client IDrobomotion shopify shopify_disconnect --client-id --session-id "<session-id>" --output jsonCloses the Shopify connection and releases resourcesrobomotion shopify shopify_create_product --client-id --title [--description-html] [--vendor] [--product-type] [--tags] [--status] --session-id "<session-id>" --output jsonCreates a new product in Shopifyrobomotion shopify shopify_get_product --client-id --product-id --session-id "<session-id>" --output jsonRetrieves a single product by ID from Shopifyrobomotion shopify shopify_list_products --client-id [--50] [--title-filter] [--vendor-filter] [--product-type-filter] [--status-filter] [--since-id] --session-id "<session-id>" --output jsonLists products from Shopify with optional filteringrobomotion shopify shopify_update_product --client-id --product-id [--title] [--description-html] [--vendor] [--product-type] [--tags] [--status] --session-id "<session-id>" --output jsonUpdates an existing product in Shopifyrobomotion shopify shopify_delete_product --client-id --product-id --session-id "<session-id>" --output jsonDeletes a product from Shopifyrobomotion shopify shopify_get_order --client-id --order-id --session-id "<session-id>" --output jsonRetrieves a single order by ID from Shopifyrobomotion shopify shopify_list_orders --client-id [--50] [--status] [--financial-status] [--fulfillment-status] [--since-id] --session-id "<session-id>" --output jsonLists orders from Shopify with optional filteringrobomotion shopify shopify_update_order --client-id --order-id [--note] [--tags] [--email] --session-id "<session-id>" --output jsonUpdates an existing order in Shopify (note، tags، email)robomotion shopify shopify_cancel_order --client-id --order-id [--reason] --session-id "<session-id>" --output jsonCancels an existing order in Shopifyrobomotion shopify shopify_create_customer --client-id [--email] [--first-name] [--last-name] [--phone] [--note] [--tags] --session-id "<session-id>" --output jsonCreates a new customer in Shopifyrobomotion shopify shopify_get_customer --client-id --customer-id --session-id "<session-id>" --output jsonRetrieves a single customer by ID from Shopifyrobomotion shopify shopify_list_customers --client-id [--50] [--since-id] --session-id "<session-id>" --output jsonLists customers from Shopify with optional filteringrobomotion shopify shopify_update_customer --client-id --customer-id [--email] [--first-name] [--last-name] [--phone] [--note] [--tags] --session-id "<session-id>" --output jsonUpdates an existing customer in Shopifyrobomotion shopify shopify_delete_customer --client-id --customer-id --session-id "<session-id>" --output jsonDeletes a customer from Shopifyrobomotion shopify shopify_list_inventory_items --client-id --item-i-ds [--50] --session-id "<session-id>" --output jsonLists inventory items from Shopifyrobomotion shopify shopify_get_inventory_level --client-id --inventory-item-id --location-id --session-id "<session-id>" --output jsonGets inventory levels for items at specific locationsrobomotion shopify shopify_adjust_inventory --client-id --inventory-item-id --location-id --delta --session-id "<session-id>" --output jsonAdjusts inventory quantity at a specific locationrobomotion shopify shopify_list_locations --client-id --session-id "<session-id>" --output jsonLists all store locations for inventory operationsrobomotion shopify shopify_create_fulfillment --client-id --order-id --location-id [--tracking-number] [--tracking-company] [--tracking-url] --session-id "<session-id>" --output jsonCreates a fulfillment for an order (marks items as shipped)robomotion shopify shopify_list_collections --client-id [--50] [--collection-type] [--since-id] --session-id "<session-id>" --output jsonLists product collections from Shopifyrobomotion shopify shopify_get_collection --client-id --collection-id [--collection-type] [--50] --session-id "<session-id>" --output jsonRetrieves a collection and its products from Shopify
Environment
- ROBOMOTION_API_TOKEN (if vault credentials are needed)