Support Automation
WhatsApp → Kimi AI → Jira
Customer issues raised on WhatsApp become properly structured Jira tickets without anyone re-typing them.
- Challenge
- Support requests arrived on WhatsApp as free-form text and photos. Staff read each one and manually created a ticket, losing detail and time.
- Solution
- An n8n workflow receives the message via webhook, separates text, captioned media and media-only messages, and buffers standalone files for up to five minutes so they can be merged with the message that follows. Kimi AI classifies the message — bug, feature request, task, status update or ordinary conversation — and only genuine work items proceed. Before creating anything, the workflow searches the mapped Jira project for a similar issue: if one exists the message is added as a comment, otherwise a new Task is created with an AI-written title, description and priority. Buffered media is uploaded as attachments, and the sender receives the Jira key and URL back on WhatsApp.
✓ Tickets created in seconds with consistent fields, duplicate issues avoided, and casual chat filtered out automatically.
n8nWhatsApp messaging layerKimi AI (Moonshot)Jira Cloud RESTMedia bufferingDuplicate detection
Sales Automation
WhatsApp Odoo Quotation Bot
Customers request a quote in plain language on WhatsApp and get a real Odoo quotation back.
- Challenge
- Quotation requests came in as casual chat messages. A salesperson had to interpret them, look up products in Odoo, and build the quotation by hand.
- Solution
- The workflow detects quotation intent in the incoming message, extracts products and quantities with AI, then searches or creates the customer record in Odoo. Products are matched against the catalogue, with AI resolving ambiguous names and a confidence check before anything is written. A fingerprint prevents duplicate quotations for the same request. The quotation is created in Odoo, rendered as a PDF, and sent straight back to the customer on WhatsApp.
✓ The full quotation lifecycle — customer, matching, quotation, PDF, delivery — runs without a salesperson touching it.
n8nEvolution WhatsApp APIKimi AI (Moonshot)Odoo JSON-RPCProduct matchingDuplicate fingerprintPDF generation
E-commerce
Shopify → Odoo Order Sync
Every Shopify order appears in Odoo the moment it’s placed.
- Challenge
- Online orders were exported and re-entered into the ERP in batches, causing delays, mismatched customer records and occasional duplicates. Retried webhooks and repeated tests could also create the same sales order twice.
- Solution
- Orders enter through the live Shopify orders/create webhook — or a manual trigger for testing — and both paths merge into one normalisation step that standardises customer, address, currency, totals and line items, rejecting any order without an email or line items. The workflow authenticates against Odoo via JSON-RPC and validates the returned UID before writing anything. Two duplicate checks then run against sale.order, one on the Shopify order number (client_order_ref) and one on the Shopify order ID (origin); if either matches, the run is logged and stopped. Otherwise the customer is found by email or created as a new res.partner, the sale.order is created with both traceability keys, and line items are processed one at a time — product looked up by SKU (default_code) with a product-name fallback, created if missing, then written as a sale.order.line with quantity and unit price. A final response reports the Shopify order number, the Odoo order ID and the number of lines processed.
✓ Real-time order visibility in the ERP, with two-key duplicate protection, customer and product reuse, and a per-order sync result you can audit.
n8nShopify WebhooksOdoo JSON-RPCexecute_kwDuplicate protectionBatch line processingEnvironment credentials
AI Data Processing
Odoo Product Creation via DeepSeek AI
Supplier spreadsheets become complete, well-described Odoo products automatically.
- Challenge
- New product ranges arrived as raw Excel files with minimal detail. Someone had to write descriptions, assign categories and generate SKUs for each item by hand.
- Solution
- A simple upload form accepts the .xlsx file, the sheet is read from a fixed range, and product names are extracted and cleaned — blank rows, header text and invalid values are dropped before anything continues. Each name is then sent to DeepSeek through an AI agent that must return strict JSON containing the exact name, a realistic numeric price and a short description; the response is stripped of code fences, parsed defensively, and any row the model fails on is skipped with a reason rather than breaking the run. Valid products are checked against Odoo product.template with a name search, existing items are logged and skipped, and only genuinely new products are created via JSON-RPC. Rows are processed in batches, looping back until the whole sheet is done.
✓ Entire catalogues onboarded in a single run instead of days of data entry, with duplicates skipped and bad rows reported rather than silently lost.
n8nDeepSeek AIExcel parsingOdoo JSON-RPCJSON validationDuplicate detectionBatch loop
Scheduled Integration
Gold Pricing Integration
Live XAU/USD market rates captured into Odoo every morning, with validation at every step.
- Challenge
- Product pricing depended on a fast-moving gold market rate that someone had to look up and enter by hand each morning, leaving prices stale in between and offering no history of what the rate was on any given day.
- Solution
- A scheduled workflow fetches the live XAU/USD rate each morning and maps the full response — spot, open, high, low, bid, ask and per-gram 24K and 22K rates — into a dedicated Odoo model, creating a dated snapshot record. Every stage is guarded: the market data is validated before use, the Odoo connection is authenticated separately, and record creation is confirmed. Any failure is logged with the exact stage and response rather than failing silently, and the workflow can also be run on demand for testing.
✓ A dated, auditable price history builds itself daily, with no manual lookup.
n8nCron schedulingGoldAPIOdoo JSON-RPCCustom Odoo modelError logging
RPA + Integration
Web Portal → UiPath → n8n → Odoo
A public data portal with no API, turned into a reliable automated feed into Odoo.
- Challenge
- The source data lived on a public portal that offered a downloadable file but no API. Someone had to visit the site, download the file, and reconcile hundreds of licence records against the ERP by hand — slow, error-prone, and never quite up to date.
- Solution
- A UiPath robot drives the browser, downloads the latest file and posts it to an n8n webhook. n8n converts the rows to structured records, normalises the fields, drops incomplete rows, deduplicates on the licence code, and compares each record against Odoo. New licences are created along with any missing partner records, changed licences are updated, unchanged and already-expired ones are skipped. The run returns a summary of rows received, partners created, licences created, updated and skipped.
✓ A source with no API became a hands-off sync, with a per-run reconciliation report.
n8nUiPath RPAWebhook intakeCSV parsingDeduplicationOdoo
Project Management
Jira ↔ Monday.com Sync
Two teams, two tools, one shared source of truth.
- Challenge
- Engineering worked in Jira while the wider business worked in Monday.com. Status updates were duplicated by hand and frequently drifted out of sync.
- Solution
- Bi-directional n8n workflows mirror items between the two platforms, with configurable field and status mapping and loop prevention so an update on one side doesn’t bounce back.
✓ Both teams see the same status without duplicate updates.
n8nJiraMonday.comField mapping
CRM Automation
CRM Close the Loop
A WhatsApp message is understood, routed to the right business action in Odoo, and answered — all in one loop.
- Challenge
- Enquiries that came in through WhatsApp were tracked inconsistently, and customers were often left without an update after the first contact. Product questions, order requests and delivery chasers all landed in the same inbox and had to be triaged by hand.
- Solution
- A webhook receives the WhatsApp message and a parsing step extracts the sender, message body, message type and any SO-style order reference, ignoring status-only callbacks. DeepSeek then classifies the message into exactly one intent — product enquiry, place order, order status, greeting or unknown — and extracts only entities that are explicitly present, such as product name, order ID and customer name. A router sends each intent down its own branch: product enquiries search Odoo product.template and return a formatted list with prices; order requests look up product.product, create a sale.order with a line item, then read the order back for its number, total and state; status requests query sale.order by reference and translate the internal state into plain labels like Quotation, Confirmed or Delivered; greetings return a short menu of what the bot can do; and anything unrecognised is captured as an Odoo crm.lead holding the sender and original message, so no enquiry is lost. The formatted reply is delivered back to the customer through the WhatsApp/WOZTELL layer.
✓ Routine product, order and status conversations are handled end to end without a human, and anything the AI can’t place becomes a CRM lead instead of going cold.
n8nWhatsApp / WOZTELLDeepSeek AIIntent routingOdoo JSON-RPCcrm.lead capturesale.order creation
IT Operations
User Provisioning Automation
Accounts created across internal platforms from a single trigger.
- Challenge
- HR onboarding meant an admin manually creating the same person in Odoo and OpenWebUI, with inconsistent permissions and no reliable record of who was granted what.
- Solution
- One n8n workflow provisions the user across both systems with the correct roles and access, and logs the action for audit.
✓ Consistent onboarding with no manual setup steps.
n8nOdooOpenWebUI
E-commerce
WooCommerce Customer & Order Automation
The same order and customer automation, built for WooCommerce stores.
- Challenge
- A WooCommerce storefront held customer and order data that back-office teams could only reach by logging into WordPress and exporting it.
- Solution
- n8n workflows connect WooCommerce to the back-office systems, syncing customers and orders automatically and applying the same validation and duplicate handling used across the rest of the stack.
✓ Order data available to the whole business without manual exports.
n8nWooCommerce RESTOdooWebhooks
Data & AI Enablement
WhatsApp Local Backup & AI-Ready Archive
WhatsApp history captured locally in a structured, searchable format an AI agent can actually read.
- Challenge
- Standard WhatsApp backups lock the data into Google Drive or iCloud in encrypted, proprietary formats. Media can’t be bulk-exported, nothing is searchable, and exporting chats one at a time by email is impractical for a business with high conversation volume — so years of customer knowledge sit unusable.
- Solution
- The account is paired by scanning a QR code, exactly like WhatsApp Web, so no API keys or third-party accounts are needed. A sync engine then listens on the active session and captures messages in real time, writing each one to a structured log with message ID for deduplication, ISO timestamp, chat name, sender, message type, content, group flag and any quoted-message reference. Media is downloaded as binary, checksummed for integrity and filed into a dated folder structure by chat. Everything stays on the local machine, and the resulting text corpus is formatted so it can be searched full-text or fed straight into AI agent workflows.
✓ Conversation history and every attachment become a private, searchable local archive that AI agents can work on directly.
QR session pairingReal-time sync engineStructured loggingMedia capture + checksumsFull-text searchLocal-first storageAI agent integration
Infrastructure
Docker Deployment & Container Management
Self-hosted n8n and supporting services, deployed and maintained.
- Challenge
- Workflows and AI services needed to run on the client’s own infrastructure for data control, but the team had no containerised deployment setup.
- Solution
- We containerised n8n and its supporting services with Docker, set up deployment and update procedures, and documented the environment so the client’s team can operate it.
✓ Fully self-hosted automation stack under the client’s own control.
Dockern8n self-hostedOpenWebUI