The Shopify integration enables your support team to access customer order information directly within Chatwoot conversations. View order history, status, and details without leaving the conversation interface.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Merkurcode/nauto-console/llms.txt
Use this file to discover all available pages before exploring further.
Features
- Customer Lookup: Find customers by email or phone number
- Order History: View all orders for a customer
- Order Details: Access order status, fulfillment, and payment information
- Admin Links: Direct links to orders in Shopify admin
- OAuth Authentication: Secure connection to Shopify stores
- Account-Level Integration: One integration serves all inboxes
Prerequisites
- Admin access to your Chatwoot account
- Shopify store with admin access
- Feature flag enabled:
shopify_integration - Shopify OAuth credentials configured:
SHOPIFY_CLIENT_IDSHOPIFY_CLIENT_SECRET
Setup Instructions
Step 1: Configure Environment Variables
Ensure your Chatwoot instance has Shopify credentials configured:Step 2: Enable Feature Flag
The Shopify integration requires the feature flag to be enabled for your account:Step 3: Initiate OAuth Flow
- Navigate to Settings > Integrations in Chatwoot
- Find Shopify in the integrations list
- Click Connect
- Enter your Shopify store domain (e.g.,
your-store.myshopify.com) - Click Authorize
Step 4: Authorize Chatwoot
- You’ll be redirected to Shopify’s authorization page
- Review the requested permissions
- Click Install app to authorize Chatwoot
- You’ll be redirected back to Chatwoot
Step 5: Verify Integration
- Open a conversation with a contact that has email or phone
- Look for the Shopify order information panel
- Verify that customer orders are displayed
OAuth Scopes and Permissions
The integration requests the following Shopify scopes:read_customers: Access customer informationread_orders: View order dataread_products: Access product information
- Search for customers by email or phone
- Retrieve order history
- Display order details
Using the Integration
Viewing Customer Orders
When viewing a conversation:- The integration automatically searches for the contact in Shopify
- Search is performed using:
- Contact email (if available)
- Contact phone number (if available)
- If a matching customer is found, their orders are displayed
Order Information Displayed
- Order ID: Unique Shopify order identifier
- Created Date: When the order was placed
- Total Price: Order total with currency
- Fulfillment Status: Shipping/delivery status
- Financial Status: Payment status
- Admin Link: Direct link to order in Shopify admin
API Integration
Authenticate Store
redirect_url to complete OAuth.
Get Customer Orders
Delete Integration
Implementation Details
The Shopify integration uses:- ShopifyAPI Gem: Ruby library for Shopify REST API
- API Version:
2025-01 - Hook Type: Account-level integration
- Storage: Integration hook with encrypted access token
Hook Configuration
Customer Search Logic
The integration searches for customers using:ShopifyAPI Context
The integration configures ShopifyAPI dynamically:Troubleshooting
Integration Not Available
Issue: Shopify integration doesn’t appear in the integrations list. Solution:- Verify
SHOPIFY_CLIENT_IDenvironment variable is set - Ensure the
shopify_integrationfeature flag is enabled - Check that you have admin permissions
No Orders Displayed
Issue: Orders panel shows empty or no results. Solution:- Verify the contact has an email or phone number
- Check that the email/phone matches the Shopify customer
- Ensure the Shopify customer has placed orders
- Verify the integration is properly authenticated
OAuth Redirect Error
Issue: Error during OAuth callback. Solution:- Verify redirect URI in Shopify app settings:
- Check that
FRONTEND_URLenvironment variable is correctly set - Ensure your Shopify app is not in development mode (if in production)
HTTP Response Error
Issue:ShopifyAPI::Errors::HttpResponseError when fetching orders.
Solution:
- Verify the access token is valid
- Check that the store domain is correct
- Ensure the app has required permissions
- Review Shopify API rate limits
- Check Shopify API status
Contact Information Missing
Issue: “Contact information missing” error. Solution:- Ensure the contact has either email or phone number
- Add missing contact information
- Sync contact data from your channel
Invalid Shop Domain
Issue: “Shop domain is required” error. Solution:- Provide a valid Shopify store domain
- Use format:
your-store.myshopify.com - Don’t include protocol (https://)
Security Considerations
- Encrypted Tokens: Shopify access tokens are encrypted at rest
- OAuth 2.0: Secure authorization flow
- Scoped Access: Minimum required permissions
- Admin Only: Only administrators can configure the integration
- Secure Session: ShopifyAPI sessions are created per-request
API Rate Limits
Shopify enforces API rate limits:- REST API: Based on calculated query costs
- Burst Limit: 40 requests per second
- Bucket Size: Varies by plan
- Reducing the frequency of order lookups
- Caching order data
- Upgrading your Shopify plan
Removing the Integration
To remove the Shopify integration:- Navigate to Settings > Integrations
- Find the Shopify integration
- Click Delete
- Confirm the removal
- Revoke the access token
- Remove all configuration
- Stop displaying order information
Data Privacy
The Shopify integration:- Only accesses data when viewing conversations
- Does not store order data in Chatwoot
- Fetches data in real-time from Shopify
- Requires explicit customer matching (email/phone)
Limitations
- Single Store: One Shopify store per Chatwoot account
- Read-Only: Cannot create or modify orders from Chatwoot
- Contact Matching: Requires email or phone to match customers
- Real-Time Only: No historical data storage
Next Steps
- Train your team on using order information in conversations
- Configure contact fields to capture email and phone
- Set up automation rules based on order status
- Explore additional e-commerce integrations
- Monitor integration usage and performance

