UnoPim is an open-source Product Information Management (PIM) system built on Laravel 12, maintained by India-based Webkul. Its standout feature isn't being "yet another PIM" — it's that 32+ product operations have been packaged as conversational AI agents. Type "translate every blue T-shirt added last week into Japanese," and the system decomposes the task, executes it, and logs the version history on its own. This guide condenses installation, tutorials, community wisdom, prompt design, and competitor comparison into a single field guide for English-speaking teams evaluating UnoPim.
PIM stands for Product Information Management. In plain terms, it's a central repository for everything that describes a product: titles, descriptions, specs, images, attributes, localized copy, channel-specific variations.
The typical scenario: your store sells on Shopify, Amazon, eBay, and a Magento site at the same time. Each channel demands different field formats, and you need English, German, and Japanese versions of everything. Without a PIM, this lives in scattered spreadsheets and individual channel back-offices — and one product update means changing the same fact in five places. PIM is the single source of truth for that mess.
Starting with v1.0.0 (released November 2025), UnoPim repositioned itself as an Agentic PIM. Product creation, bulk editing, categorization, translation, image generation, import/export — all of these are now wrapped as tools callable by an AI agent.
You stop clicking through 32 menus. Type "find every shoe product missing a German description, generate the translation, and queue it for my review" and Agentic PIM will search the catalog, dispatch the translation agent, draft the copy, and wait for your OK.
What really matters: it supports 10+ LLM providers (OpenAI, Anthropic Claude, Google Gemini, Groq, self-hosted Ollama, and others). You can assign different models to different tasks, cap daily token budgets, and audit every conversation through saved sessions.
8 GB (16 GB+ recommended for production)8.2 or higher2.5 or higher18.17.1 LTS or higher8.0.32 or higher14.x or higher (recommended for large catalogs)Products, attributes, families, categories, and media in one place. Validated at 10M+ products.
Custom attributes, attribute families, and a completeness score that tracks data quality per product.
10+ LLM providers. Product copy, images, alt-text, and translation generated on demand, all reviewable.
Native multi-locale architecture: every attribute scopes to a locale and/or a channel.
The same product can have different copy, pricing, and media on web, mobile, app, or marketplace.
Essential for cross-border commerce. Bi-directional sync available via Shopify and Bagisto connectors.
Large CSV/XLSX imports handled in background jobs. Real-time progress dashboard tracks them all.
Full REST API, official PHP client, official Postman collection, and a community MCP server.
Role-based permissions. AI agent tools toggle per role — keep interns away from destructive actions.
Every product data change is logged. Trace who changed what field and when, then roll back if needed.
Vue.js + TailwindCSS interface with light and dark mode toggle.
Async webhook delivery on product changes. Dedicated webhooks queue keeps the main thread unblocked.
Agentic PIM isn't "we bolted a ChatGPT window onto the admin panel." It's a team of specialized AI agents, each owning a slice of your workflow, with an orchestrator routing your requests to the right one.
You never address an agent by name. You talk to Agentic PIM and it picks the right hands for the job.
Creates, updates, finds, and removes products. The one you talk to most.
Writes the words and creates the images that make products sell.
Maintains the structure underneath: categories, attributes, families.
Handles the work that used to eat a full afternoon, in minutes.
Answers questions, surfaces what's missing, generates audit reports.
Use OpenAI for writing, Claude for reasoning, a local Ollama model for privacy. Agentic PIM doesn't lock you to one vendor.
The agent proposes changes but writes nothing. Every modification needs human approval. Start here for new teams or important SKUs.
The agent shows "here's what I'll change." It executes when you click OK. The middle ground between manual and autonomous — appropriate once your team trusts the workflow.
The agent writes directly. Every action is logged in the session and reversible. Best for well-defined, low-risk SOPs like filling in missing alt-text.
Requires Docker + Docker Compose v2+. Total time roughly 5 minutes, plus a ~90 second wait for first-time database migrations to finish.
Pull UnoPim from GitHub and switch into the project directory.
$ git clone https://github.com/unopim/unopim.git $ cd unopim
UnoPim ships with a Docker-tuned .env.docker. Copy it to .env and you're done with config.
$ cp .env.docker .env
This pulls MySQL, Redis, Elasticsearch, PHP-FPM, Nginx, and the queue worker images automatically.
$ docker compose up -d
Heads up: if you already run MySQL/Redis/Elasticsearch locally, edit the FORWARD_* ports in .env and restart.
First boot runs migrations and seeders. Be patient.
# Open the browser http://localhost:8000/admin # Default credentials Email: admin@example.com Password: admin123
For developers who want to run their own PHP/Nginx/database stack. Make sure every version listed in the requirements section is in place first.
$ composer create-project unopim/unopim $ cd unopim
The installer walks through DB connection, default admin user, locale, and channel setup.
$ php artisan unopim:install
$ php artisan serve
→ Open http://localhost:8000
Imports, exports, AI agent tasks, completeness calculations, and webhooks all rely on the queue. Forget this and these features just stall silently.
$ php artisan queue:work \
--queue=webhooks,system,default,completeness
In production: wrap this in Supervisor or systemd so a crash doesn't go unnoticed.
No time to set up an environment? UnoPim publishes an official AMI on the AWS Marketplace. Launch a VM, log in, done.
No additional licensing fee — you only pay for the AWS compute itself.
# Entry point
https://aws.amazon.com/marketplace/pp/prodview-fdyosdv7k3cgw
For testing or proof-of-concept, start with t3.large. For production, go m5.xlarge or larger and move the database to RDS.
The AMI ships with Nginx, PHP, MySQL, Redis, and UnoPim already configured. SSH in to retrieve the initial password, then log into the admin panel.
UnoPim doesn't have its own subreddit yet. Discussion lives scattered across r/laravel, r/selfhosted, r/ecommerce, and independent dev blogs. Below are the most practically useful tips, hacks, and use cases — pulled from AtroPIM's comparison piece, UnoPim's own publications, and third-party developer write-ups.
From the official blog: with Groq or self-hosted Ollama as the provider, teams routinely run hundreds of agent operations per day for less than $1 total.
The key knob: AI Platform settings → "Daily token budget cap." When the cap hits, agents stop. Your credit card doesn't get a 3 AM surprise.
/ Source: unopim.com/agentic-pimAgentic PIM only sends the prompt needed for the current task, but if even that's too much, switch the provider to local Ollama. Your catalog never leaves the server.
Practical pick: qwen3:14b in Q4_K_M quantization runs on 7–8 GB VRAM and hits tool-calling F1 close to GPT-4.
A community extension — UnoPim AI Product Feed for ChatGPT — generates OpenAI-spec TSV/JSON feeds automatically. ChatGPT's shopping discovery indexes them directly.
Feed URLs are protected by an admin-generated cryptographic token, so random crawlers can't scrape the data.
/ Source: unopim.com/extensionsDeveloper oledmansfeld released a third-party MCP Server that exposes UnoPim as tools for Claude Desktop. Try "@UnoPim create a new blue T-shirt with SKU TSH-01 in the apparel family" and watch it work.
Supports HTTP/SSE transport (remote access via ngrok), automatic OAuth2 token refresh, configurable product variants, and direct media upload.
/ Source: glama.ai · @oledmansfeld/unopim-mcpwebhooks queue — otherwise webhooks never fireUnoPim's webhook listener dispatches asynchronously, so every outbound webhook sits in the webhooks queue. If you omit it from queue:work --queue=, webhook events pile up in the database and never leave.
Correct invocation: --queue=webhooks,system,default,completeness
AtroPIM's comparison of the four major open-source PIMs is blunt: UnoPIM suits small businesses with straightforward requirements and no expectation of growing data complexity.
If you need field-level permissions, complex approval workflows, or an API-first no-code data model, AtroPIM or Pimcore remain the safer bets.
/ Source: atropim.com · open-source-pim comparisonUnoPim ships a dedicated terminal command that lets you execute a specific job: php artisan unopim:queue:work {JobId} {userEmailId}
Pair it with crontab and run "fill missing attributes" or "translate newly added products" every hour overnight. Walk in at 9 AM, everything's done.
/ Source: webkul.com/blog/jobs-via-terminalA pattern from real UnoPim customers: products enter UnoPim from suppliers, get fully enriched, then sync out to Shopify, Bagisto, and the company's own storefront. UnoPim becomes the product module of a mini-ERP.
My first impression is that it's fast, handles many products with ease, and the UnoPIM development team is amazing.
/ Source: unopim.com customer testimonialsAgentic PIM is a multi-step tool-calling agent. The more specific your prompt, the more precisely it triggers the right tools. The five examples below cover the most common PIM workflows: product creation, bulk operations, cross-language translation, quality audits, and image generation.
Convention: {{variable}} denotes a variable; [tool] denotes a tool the agent invokes automatically.
Create a new configurable product under the {{apparel}} family: - Name: {{Linen Summer Shirt}} - Master SKU: {{LSS-2026-001}} - Variants: Color × Size (White / Cream / Navy × S/M/L/XL) - Default channel: {{web_us}} - Default locale: {{en_US}} Once you've built it, list all 12 variant SKUs and wait for my confirmation before writing to the database.
[search_family] to confirm apparel exists → [create_configurable_product] → auto-expands to 12 variant SKUs (e.g. LSS-2026-001-WT-S) → enters Confirm Mode and waits for human approval.
Translate descriptions into Japanese (ja_JP) and Korean (ko_KR) for every product matching: - Category: {{footwear/sneakers}} - Created after: {{2026-04-01}} - Condition: missing ja_JP or ko_KR description When translating: 1. Keep brand names in English (Nike, adidas, etc.) 2. Keep model names in English (e.g. "Air Max 90") 3. Match the tone of each brand's official website, not casual conversational style 4. Don't write directly — summarize the count and show me a preview of the first 5 entries
[search_products] filters by condition → [check_locale_coverage] finds gaps → [translate_attribute] generates per-product → returns the first 5 as preview before commit.
For every product on {{en_US}} locale whose main image has no alt-text, generate one: - Style: concise, SEO-friendly, under 35 words - Pattern: "[Product name] in [color/material], [most distinctive feature]" - Avoid filler like "the image shows..." or "you can see..." - Write directly (Auto-apply — this is low-risk)
[vision_describe_image] per image → applies the template → [write_alt_text] commits to the database → every change logged in the session, reversible at any time.
Build me a "this week's to-do list": 1. Find products on the {{web_us}} channel with completeness score < 70% 2. Sort by completeness ascending 3. List which required attributes are missing per entry (with locale) 4. If more than 50 entries, keep only the ones with the highest revenue impact (use last 30 days pageview data) 5. Output as a Markdown table I can paste into Slack Report only, do not modify any data.
[query_completeness_score] → [cross_ref_analytics] joins with pageview data → renders as Markdown table → writes nothing, pure reporting mode.
Generate 4 product images for SKU {{LSS-2026-001-NV-M}} (navy, size M linen shirt). Style spec: - Scene: natural light, minimal white cyclorama background - Angles: front / 3/4 side / back / collar close-up - Resolution: 2048×2048, PNG - Subject: no models — garment only, on hanger or floating - Overall tone: Japanese-style minimalism, no over-processing After generation: 1. Auto-generate 4 corresponding alt-texts 2. Upload all 4 to the product's media gallery 3. Set the front view as primary image 4. Show me a preview before writing
[generate_product_image] × 4 → [write_alt_text] auto-generates → [stage_media_upload] stages them → enters Confirm Mode showing thumbnails for approval.
| UnoPim | AtroPIM | Pimcore CE | Akeneo CE | |
|---|---|---|---|---|
| Stack | Laravel 12 / Vue.js | AtroCore / API-first | Symfony / Twig | Symfony / React |
| Native AI Agent | ✓ Built-in (v1.0+) | 3rd party | 3rd party | 3rd party |
| Field-level Permissions | Basic roles only | ✓ Full | ✓ Full | Basic roles only |
| No-Code Data Model | Requires dev | ✓ Full no-code | Partial | Partial |
| DAM/MDM/CMS | Optional DAM module | DAM included | ✓ All bundled | PIM only |
| Best for | SMB → Mid (10M+ validated) | Mid → Enterprise | Enterprise | Small (CE frozen since 2023) |
| Learning Curve | Low | Medium | High (needs consultant) | Medium |
| License | MIT | GPL v3 | POCL / GPL v3 dual | OSL v3 |
/ Verdict If your pain is "product copy, translations, and images need to be redone constantly," UnoPim's Agentic route is currently in a class of its own in the open-source PIM space. If your pain is "complex data models, field-level permissions, cross-enterprise workflows," AtroPIM or Pimcore remain safer choices.
UnoPim is MIT-licensed open-source software. Spin it up, drop in your first product, talk to it in plain English — you'll know within an hour whether Agentic PIM belongs in your next stack.