Integration Documentation
Complete guide to connecting Towasal with your store, inventory system, and sales channels. Learn how to set up Shopify, WordPress, WhatsApp Business, Instagram DMs, and more.
Table of Contents
Shopify Integration
Connect your Shopify store to automatically import and sync your product catalog into ChatMate AI.
What You'll Need from Shopify
Before starting in ChatMate AI, gather these credentials from your Shopify admin panel:
- Log in to your Shopify Admin at
https://{your-store}.myshopify.com/admin - Go to Settings (bottom-left) > Apps and sales channels > Develop apps
- If prompted, click Allow custom app development
- Click Create an app and give it a name (e.g., "ChatMate AI Sync")
- Go to the Configuration tab and click Configure Admin API scopes
- Search for and enable Products — grant at least Read access (
read_products) - Click Save, then go to the API credentials tab
- Click Install app when prompted
- Copy and save these values:
- API Key (also called Admin API access token)
- API Secret Key
- Note your Store URL — it looks like:
https://your-store-name.myshopify.com/
Steps in ChatMate AI
- From the sidebar, navigate to the Products page
- In the toolbar at the top, click the API Connection button (link icon)
- If you already have connections, click the green "+ Add Connection" button. If this is your first connection, the form opens directly.
Fill in the connection form:
| Field | What to enter |
|---|---|
| Connection Name | A friendly name, e.g., "My Shopify Store" |
| Connection Type | Select Shopify from the dropdown |
| Shopify store URL | Your full store URL ending with / (e.g., https://my-store.myshopify.com/) |
| API Key | Paste your Shopify API Key |
| API Secret | Paste your Shopify API Secret Key |
| Sync Frequency | Choose how often to sync: Hourly, Daily, Weekly, or Manual only |
- Click Save Connection to create the connection
- Once saved, click Test to verify the connection works
- Click Sync to import your products — you'll be asked to set a product limit (how many products to import)
Managing Your Shopify Connection
Once created, each connection card shows:
- Status badge: Active, Inactive, or Error
- Sync frequency and Product limit
- Last sync timestamp
From the connection card you can:
- Test — Verify the connection is still working
- Sync — Manually trigger a product import
- Edit (pencil icon) — Update connection details
- Delete (trash icon) — Remove the connection
Troubleshooting
- "URL must start with http:// or https:// and end with /" — Make sure your store URL includes the protocol and ends with a forward slash. Correct:
https://my-store.myshopify.com/ - Connection test fails — Double-check that your API Key and API Secret are copied correctly with no extra spaces. Verify that the custom app has Products read access enabled in Shopify.
- No products syncing — Ensure your Shopify store actually has published products. Check that the API credentials haven't been revoked in Shopify Admin.
Plan Requirements
- Gold: Hourly sync, unlimited products, full Shopify integration
- Silver: Daily sync, up to 50 products, full Shopify integration
- Bronze: Manual product upload only (no automatic sync)
To use Shopify integration, you'll need a Silver or Gold plan. Upgrade your plan to enable automatic sync.
WooCommerce Integration
Connect your WordPress/WooCommerce store to import and sync your product catalog into ChatMate AI.
What You'll Need from WooCommerce
Before starting in ChatMate AI, generate API credentials from your WordPress admin:
- Log in to your WordPress Admin (usually at
https://your-site.com/wp-admin) - Make sure the WooCommerce plugin is installed and activated
- Go to WooCommerce > Settings > Advanced tab > REST API
- Click Add key
- Fill in the details: Description (e.g., "ChatMate AI Sync"), select your admin user, set Permissions to Read
- Click Generate API key
- Copy and save both values that appear:
- Consumer Key (starts with
ck_) - Consumer Secret (starts with
cs_)
Important: The Consumer Secret is only shown once. Copy it immediately and store it somewhere safe.
Steps in ChatMate AI
- From the sidebar, navigate to the Products page
- In the toolbar, click the API Connection button (link icon)
- Click "+ Add Connection" (or the form opens directly if it's your first connection)
Fill in the connection form:
| Field | What to enter |
|---|---|
| Connection Name | A friendly name, e.g., "My WooCommerce Store" |
| Connection Type | Select WooCommerce from the dropdown |
| WooCommerce Store URL | Your site's root URL ending with / (e.g., https://my-store.com/) |
| API Key | Paste your Consumer Key (ck_...) |
| API Secret | Paste your Consumer Secret (cs_...) |
| Sync Frequency | Choose how often to sync: Hourly, Daily, Weekly, or Manual only |
- Click Save Connection
- Click Test to verify everything works
- Click Sync to import your products
Managing Your WooCommerce Connection
Connection management works identically to Shopify — each connection card shows status, sync frequency, product limit, and last sync timestamp. Use the Test, Sync, Edit, and Delete actions as needed.
Troubleshooting
- Connection test fails — Verify that your Consumer Key and Consumer Secret are correct. Make sure the WooCommerce REST API is enabled (WooCommerce > Settings > Advanced > REST API).
- URL format error — Your store URL must start with
http://orhttps://and end with/. Example:https://my-store.com/ - Permission issues — Ensure the API key was created with at least Read permissions. If you need to change permissions, generate a new key in WooCommerce.
- No products found — Check that your WooCommerce store has published products. Draft or private products may not be returned by the API.
Plan Requirements
- Gold: Hourly sync, unlimited products, full WooCommerce integration
- Silver: Daily sync, up to 50 products, WooCommerce integration + URL import
- Bronze: URL import only (no automatic sync)
To use automatic WooCommerce sync, you'll need a Silver or Gold plan. Upgrade your plan to enable automatic sync.
WhatsApp Business Integration
Connect your WhatsApp Business account so customers can message you on WhatsApp, and you can manage those conversations directly in ChatMate AI.
What You'll Need from Meta
Setting up WhatsApp requires a Meta Business account and access to the Meta Developer Dashboard:
- Create or log in to your Meta Business account at business.facebook.com
- Go to the Meta for Developers portal at developers.facebook.com
- Create a new app (or use an existing one) with WhatsApp as a product
- In your app, go to WhatsApp > API Setup
- Note your Phone Number ID — this is displayed in the API Setup section
- Generate a Permanent Access Token:
- Go to Business Settings > System Users
- Create a System User (if you don't have one) with Admin access
- Click Generate new token for that System User
- Select your WhatsApp app and grant the
whatsapp_business_messagingpermission - Copy the generated token — this is your Permanent Access Token
- Choose a Verify Token — this is any custom string you make up (e.g.,
my_verify_token_123). You'll use the same string in both ChatMate AI and Meta's webhook settings.
Steps in ChatMate AI
- From the sidebar, navigate to the Settings page
- Scroll to the WhatsApp Integration section
- Click the "+" button to open the WhatsApp Integration modal
Fill in the form:
| Field | What to enter |
|---|---|
| Phone Number ID | Your WhatsApp Phone Number ID from Meta |
| Access Token (Permanent) | Your System User permanent access token |
| Verify Token (Optional) | Your custom verify token string |
- Click Save
- After saving, the modal displays a Webhook URL — click the copy button next to it to copy it to your clipboard
Configure the Webhook in Meta
After saving your connection in ChatMate AI, you need to tell Meta where to send incoming messages:
- Go back to the Meta for Developers portal
- Navigate to your app > WhatsApp > Configuration
- In the Webhook section, click Edit
- Paste the Webhook URL you copied from ChatMate AI
- Enter the same Verify Token you used in ChatMate AI
- Click Verify and save
- Under Webhook fields, click Manage and subscribe to the messages field
Finish Setup in ChatMate AI
- Return to Settings > WhatsApp Integration
- Click the edit button to reopen the modal
- Click Test Connection to verify everything is working
- Use the toggle switch next to the WhatsApp section to activate/deactivate the integration
Managing Your WhatsApp Connection
From the WhatsApp Integration card on the Settings page, you can:
- Edit (pencil icon) — Update your credentials or verify token
- Delete (trash icon) — Remove the WhatsApp connection entirely
- Toggle switch — Activate or deactivate the integration without deleting it
Troubleshooting
- Webhook verification fails in Meta — Make sure the Verify Token you entered in Meta matches exactly what you entered in ChatMate AI (including capitalization and spaces).
- Not receiving messages — Check that you subscribed to the messages webhook field in Meta's Developer Dashboard. Also verify the integration toggle is turned on in ChatMate AI Settings.
- "Connection test failed" — Your access token may have expired. Generate a new Permanent Access Token from Meta Business Settings > System Users, then update it in ChatMate AI.
- Token expiration — Temporary tokens from the Meta API Setup page expire after 24 hours. Always use a System User token for production, as these do not expire.
Features Available
- Product browsing: Customers can search, browse, and view products with images and prices
- Order creation: AI agent creates orders automatically and sends order IDs
- Inventory sync: Real-time stock levels so customers never see out-of-stock items
- Voice notes: Customers can send voice messages—bot understands and responds (Silver & Gold)
- Multilingual: Seamless switching between English and Arabic in the same conversation
- Wishlist: Customers can save products for later purchase
- Order tracking: Customers can check order status and receive updates
- Payment links: Share payment links directly in chat (with custom gateway integration)
Plan Requirements
WhatsApp Business integration is available on all plans:
- Bronze: 1 WhatsApp agent per number, text-only responses, 200 conversations
- Silver: 1 WhatsApp agent per number, text & voice responses, 500 conversations
- Gold: 1 WhatsApp agent per number, text & voice responses, 2000 conversations, team management
All plans support human handoff and bilingual (English/Arabic) conversations.
Instagram DMs Integration
Connect your Instagram Business or Creator account to manage direct messages from customers inside ChatMate AI.
What You'll Need from Meta / Instagram
- Convert your Instagram account to a Business or Creator account (if it isn't already): Open Instagram > Settings > Account > Switch to Professional Account
- Connect your Instagram account to a Facebook Page: In Instagram Settings > Account > Linked Accounts > Facebook, link to your Facebook Page
- Set up a Meta App with Instagram Messaging: Go to developers.facebook.com, create a new app (or use an existing one) with the Instagram product, and enable Instagram Messaging API permissions
- Get your Instagram Business Account ID: In the Meta Developer Dashboard, go to your app's Instagram settings — your Account ID will be displayed there
- Generate a Permanent Access Token: Go to Business Settings > System Users, generate a token with the
instagram_manage_messagespermission, and copy the token - Choose a Verify Token — any custom string you make up (same concept as WhatsApp)
Steps in ChatMate AI
- From the sidebar, navigate to the Settings page
- Scroll to the Instagram Integration section
- Click the "+" button to open the Instagram Integration modal
Fill in the form:
| Field | What to enter |
|---|---|
| Account ID | Your Instagram Business Account ID |
| Access Token (Permanent) | Your System User permanent access token |
| Verify Token (Optional) | Your custom verify token string |
- Click Save
- After saving, the modal displays a Webhook URL — click the copy button to copy it
Configure the Webhook in Meta
- Go to the Meta for Developers portal
- Navigate to your app's settings
- Set up a Webhook with the Callback URL (paste the Webhook URL from ChatMate AI) and your Verify Token
- Subscribe to Instagram messaging webhook events
- Click Verify and save
Finish Setup in ChatMate AI
- Return to Settings > Instagram Integration
- Click the edit button to reopen the modal
- Click Test Connection to verify everything is working
- Use the toggle switch to activate the integration
Managing Your Instagram Connection
From the Instagram Integration card on the Settings page, you can:
- Edit (pencil icon) — Update your credentials
- Delete (trash icon) — Remove the connection
- Toggle switch — Activate or deactivate without deleting
Troubleshooting
- Account must be Business or Creator type — Personal Instagram accounts cannot use the Messaging API. Switch to a Professional account in Instagram settings.
- Must be connected to a Facebook Page — The Instagram API requires your account to be linked to a Facebook Page. Connect one in Instagram Settings > Linked Accounts.
- Webhook verification fails — Ensure the Verify Token matches exactly between ChatMate AI and Meta's webhook configuration.
- Not receiving messages — Verify the webhook subscription is active and you've subscribed to Instagram messaging events. Check that the toggle is enabled in ChatMate AI.
- Token issues — Use a System User permanent token, not a short-lived user token. Regenerate in Meta Business Settings if needed.
Features Available
- Product carousels: Show multiple products with images in Instagram's native carousel format
- Product browsing: Customers can search, browse, and view products with images and prices
- Order creation: AI agent creates orders automatically and sends order IDs
- Inventory sync: Real-time stock levels so customers never see out-of-stock items
- Multilingual: Seamless switching between English and Arabic in the same conversation
- Wishlist: Customers can save products for later purchase
- Order tracking: Customers can check order status and receive updates
- Payment links: Share payment links directly in DMs (with custom gateway integration)
Plan Requirements
Instagram DMs integration is available on all plans:
- Bronze: 1 Instagram agent per account, text-only responses, 200 conversations
- Silver: 1 Instagram agent per account, text & voice responses, 500 conversations
- Gold: 1 Instagram agent per account, text & voice responses, 2000 conversations, team management
All plans support human handoff and bilingual (English/Arabic) conversations.
Inventory Systems Integration
Sync your inventory management system with Towasal for real-time stock updates.
Why Sync Inventory?
Accurate inventory is critical for customer satisfaction. When customers see out-of-stock items or incorrect prices, they lose trust and you lose sales.
- Real-time accuracy: Customers never see out-of-stock items—inventory syncs automatically
- Multi-channel consistency: Same inventory across WhatsApp, Instagram, and your store
- Reduced errors: No manual updates means fewer mistakes and fewer refunds
- Time savings: Set it once, and inventory stays in sync automatically
- Better customer experience: Customers get accurate availability and pricing instantly
How It Works
Option 1: CSV Upload
Upload a CSV file with your products, prices, and inventory levels. Towasal imports the data and keeps it updated. You can schedule regular CSV uploads or do it manually.
Option 2: API Integration
Connect your inventory system via REST API. Towasal pulls product data, prices, and stock levels automatically on a schedule (hourly for Gold, daily for Silver).
Option 3: Custom Integration
For custom inventory systems, we can build a custom integration. Contact support@towasal.io to discuss your requirements.
Automatic Updates
Once connected, your inventory stays in sync:
- Gold plan: Hourly sync—inventory updates every hour
- Silver plan: Daily sync—inventory updates once per day
- Bronze plan: Manual CSV upload only (no automatic sync)
What Gets Synced
- Product SKUs: Unique product identifiers
- Product names: Product titles and descriptions
- Prices: Regular prices, sale prices, and currency
- Stock levels: Available quantity for each product/variant
- Variants: Size, color, and other product variations
- Availability status: In stock, out of stock, low stock
- Product images: Product photos and gallery images
Plan Requirements
- Gold: Hourly sync, unlimited products, API integration + CSV upload
- Silver: Daily sync, up to 50 products, CSV upload + URL import
- Bronze: Manual CSV upload only (no automatic sync), up to 25 products
To use automatic inventory sync, you'll need a Silver or Gold plan. Upgrade your plan to enable automatic sync.
CSV Import
Import your products to Towasal via CSV files. Perfect for stores that manage inventory in spreadsheets or need a simple way to bulk upload products.
Why Use CSV Import?
CSV import is the simplest way to get your products into Towasal, especially if you're already managing inventory in spreadsheets.
- Easy to use: Export from Excel, Google Sheets, or any spreadsheet tool
- Bulk upload: Import hundreds or thousands of products at once
- Flexible: Works with any inventory system that can export CSV
- Quick updates: Update prices or inventory by uploading a new CSV
- No API needed: Perfect for stores without API access
- Available on all plans: Bronze, Silver, and Gold all support CSV import
How It Works
1. Prepare Your CSV File
Export your products from your inventory system or create a CSV file with your product data. Include columns for SKU, Product Name, Price, Stock Quantity, and other details.
2. Upload to Towasal
In your Towasal dashboard, go to Integrations → CSV Import. Click "Upload CSV" and select your file. Towasal validates the format and shows a preview before importing.
3. Review & Import
Review the preview to ensure all products are correct. Click "Import" to add products to your catalog. The import typically completes in seconds to minutes, depending on file size.
4. Update Anytime
To update prices or inventory, export a new CSV with updated values and upload it again. Towasal matches products by SKU and updates existing products.
CSV Format Requirements
Required Columns:
- SKU: Unique product identifier (used to match products on updates)
- Product Name: Product title
- Price: Product price (numeric, no currency symbols)
- Stock Quantity: Available inventory (numeric)
Optional Columns:
- Description: Product description
- Image URL: Link to product image
- Variant: Size, color, or other variant name
- Category: Product category
- Sale Price: Discounted price (if on sale)
- Currency: Currency code (e.g., USD, KWD)
File Requirements:
- Format: CSV (comma-separated values)
- Encoding: UTF-8
- Max file size: 10MB (typically supports 10,000+ products)
- First row: Column headers
Plan Requirements
CSV import is available on all plans:
- Bronze: Manual CSV upload, up to 25 products
- Silver: CSV upload, up to 50 products, can be used with daily store sync
- Gold: CSV upload, up to 100 products, can be used with hourly store sync
CSV import works alongside other import methods. You can use CSV for some products and API sync for others.
URL Import
Import products directly from any website URL. Towasal automatically extracts product information.
Why Use URL Import?
URL import is the fastest way to add products to Towasal when you don't have API access or CSV files ready.
- Quick and easy: Just paste a product URL—no formatting or file preparation needed
- Automatic extraction: Towasal extracts product details, images, and prices automatically
- Works with any website: Compatible with most e-commerce platforms and custom stores
- Perfect for testing: Great for adding a few products to test Towasal before bulk import
- No API required: Works even if your store doesn't have an API
- Available on Silver & Gold: Use alongside CSV import and API sync
How It Works
1. Get Your Product URL
Copy the URL of any product page from your website. This could be from Shopify, WordPress, WooCommerce, or any custom store.
2. Paste in Towasal
In your Towasal dashboard, go to Integrations → URL Import. Paste the product URL and click "Import."
3. Automatic Extraction
Towasal automatically visits the URL and extracts:
- Product name and title
- Price (regular and sale price if available)
- Product images
- Description and details
- Variants (if available)
- Stock status (if visible on the page)
4. Review & Add
Review the extracted data, make any adjustments needed, and click "Add Product." The product is now available in your Towasal catalog.
What Gets Extracted
- Product Name: Main product title
- Price: Regular price and sale price (if available)
- Images: Product photos and gallery images
- Description: Product description and details
- Variants: Size, color, and other options (if structured on the page)
- Stock Status: In stock, out of stock, or low stock (if visible)
- SKU: Product SKU or identifier (if available)
Plan Requirements
URL import is available on Silver and Gold plans:
- Gold: Unlimited URL imports, can be used alongside hourly API sync
- Silver: URL import supported, can be used alongside daily API sync
- Bronze: Not available (use CSV import or manual product upload instead)
URL import works alongside other import methods. You can use URL import for some products and API sync or CSV for others.
Custom Store Integration
Connect Towasal to your custom e-commerce store or inventory system with a tailored integration.
Why Custom Integration?
If you're running a custom e-commerce platform, legacy system, or proprietary store, a custom integration ensures Towasal works seamlessly with your setup.
- Tailored to your system: Integration built specifically for your store architecture
- Works with any platform: Legacy systems, custom builds, or proprietary solutions
- Full feature access: All Towasal features available through custom integration
- Ongoing support: Dedicated support for your custom integration
- Future-proof: Integration evolves with your system
- Enterprise-ready: Built for scale and reliability
How It Works
1. Consultation
Contact our team to discuss your store architecture, data structure, and integration requirements. We'll assess your system and propose an integration approach.
2. Development
Our team builds a custom integration that connects Towasal to your store. This may involve:
- REST API integration
- Database connection (with proper security)
- Webhook setup
- Custom data mapping
- Authentication and security configuration
3. Testing
We test the integration thoroughly in a staging environment to ensure data accuracy, sync reliability, and feature compatibility.
4. Deployment
Once tested, we deploy the integration to production. Your products, inventory, and orders are now synced with Towasal.
5. Ongoing Support
We provide ongoing support and maintenance for your custom integration, ensuring it continues to work as your system evolves.
What We Can Integrate
- Custom e-commerce platforms: Proprietary or in-house built stores
- Legacy systems: Older platforms that don't have modern APIs
- Database systems: Direct database connections (with proper security)
- ERP systems: Enterprise resource planning systems
- Inventory management: Custom inventory or warehouse systems
- Multi-channel platforms: Systems that manage multiple sales channels
If your system can export data or has any API access, we can likely integrate it.
Plan Requirements
Custom integrations are typically available for:
- Gold plan customers: Custom integrations are included with Gold plans
- Enterprise customers: Custom integrations available for enterprise contracts
- Silver customers: May be available on a case-by-case basis
Contact sales@towasal.io to discuss custom integration options for your store.
Common Features Across All Integrations
Test Connection
Every integration includes a Test Connection button. Always test after initial setup and after making any changes to verify your credentials and configuration are correct.
Active / Inactive Toggle
WhatsApp and Instagram integrations have a toggle switch that lets you temporarily disable the integration without deleting your configuration. This is useful for maintenance or troubleshooting.
Edit and Delete
- Edit (pencil icon) — Modify your existing connection settings
- Delete (trash icon) — Permanently remove the connection. You'll need to set it up again from scratch.
Webhook URL (WhatsApp & Instagram)
Both WhatsApp and Instagram integrations display a Webhook URL after you save your connection. Use the copy button to copy it, then paste it into your Meta Developer Dashboard webhook configuration.
Sync Frequency and Product Limits (Shopify & WooCommerce)
Product sync integrations let you control:
- Sync Frequency — How often products are automatically synced (Hourly, Daily, Weekly, or Manual only)
- Product Limit — The maximum number of products to import during each sync
General Troubleshooting
Connection test fails
- Double-check all credentials are correct and haven't expired
- Ensure the external platform (Shopify, WooCommerce, Meta) hasn't revoked your API access
- Verify URLs are formatted correctly (include
https://and end with/for store URLs)
Webhook verification issues (WhatsApp / Instagram)
- The Verify Token must be identical in both ChatMate AI and Meta — check for typos, extra spaces, or different capitalization
- Make sure you've saved your connection in ChatMate AI before attempting webhook verification in Meta
- The webhook URL must be publicly accessible from Meta's servers
Token or credential problems
- Shopify/WooCommerce: API keys don't expire, but they can be revoked or deleted from the platform admin. Check that your keys still exist.
- WhatsApp/Instagram: Use permanent System User tokens, not temporary tokens from the API explorer (those expire in 24 hours). If your token has expired, generate a new one and update it in ChatMate AI.
"Please create a connection first" error
This appears when you try to test or sync a connection that hasn't been saved yet. Make sure to click Save (or Save Connection) before testing.
Products not appearing after sync
- Check the Product Limit setting on your connection — you may need to increase it
- Verify your external store has published/active products
- Look at the connection status badge — if it shows Error, there may be an issue with your credentials
- Try clicking Test first, then Sync again
Need Help?
If you need assistance with any integration or have questions about setting up Towasal, we're here to help:
- Contact support@towasal.io for technical support
- Use the WhatsApp support button on any page for instant help
- Visit our Help Center for additional resources
- Check out our Video Tutorials for step-by-step guides