What is PIM, and what makes UnoPim different?
Concept
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.
System requirements and minimum specs
Environment
| Component | Requirement | Status |
|---|---|---|
| Web Server | Nginx or Apache2 | Required |
| RAM | At least 8 GB (16 GB+ recommended for production) | Required |
| PHP | 8.2 or higher | Required |
| Composer | 2.5 or higher | Required |
| Node.js | 18.17.1 LTS or higher | Required |
| MySQL | 8.0.32 or higher | Pick one |
| PostgreSQL | 14.x or higher (recommended for large catalogs) | Recommended |
| Redis / Elasticsearch | Bundled in Docker stack; for self-hosted, used for cache, queue, and search | Recommended |
| AI Provider Key | OpenAI / Anthropic / Gemini / Groq / Ollama (any one to enable AI agents) | Optional |
What can UnoPim actually do?
Features
/ 01 Centralization
Central Product Catalog
Products, attributes, families, categories, and media in one place. Validated at 10M+ products.
/ 02 Enrichment
Data Enrichment
Custom attributes, attribute families, and a completeness score that tracks data quality per product.
/ 03 Magic AI
AI Content Generation
10+ LLM providers. Product copy, images, alt-text, and translation generated on demand, all reviewable.
/ 04 Locales
Localization
Native multi-locale architecture: every attribute scopes to a locale and/or a channel.
/ 05 Channels
Multi-Channel
The same product can have different copy, pricing, and media on web, mobile, app, or marketplace.
/ 06 Currency
Multi-Currency
Essential for cross-border commerce. Bi-directional sync available via Shopify and Bagisto connectors.
/ 07 Data Transfer
Import / Export
Large CSV/XLSX imports handled in background jobs. Real-time progress dashboard tracks them all.
/ 08 Integration
REST API & MCP
Full REST API, official PHP client, official Postman collection, and a community MCP server.
/ 09 Access
User Management
Role-based permissions. AI agent tools toggle per role — keep interns away from destructive actions.
/ 10 History
Version Control
Every product data change is logged. Trace who changed what field and when, then roll back if needed.
/ 11 Interface
Light / Dark Theme
Vue.js + TailwindCSS interface with light and dark mode toggle.
/ 12 Webhooks
Outgoing Webhooks
Async webhook delivery on product changes. Dedicated webhooks queue keeps the main thread unblocked.
How does Agentic PIM actually work?
Agentic
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.
Five agents, divided by function
You never address an agent by name. You talk to Agentic PIM and it picks the right hands for the job.
[ P ]
Product Agent
Creates, updates, finds, and removes products. The one you talk to most.
[ C ]
Content Agent
Writes the words and creates the images that make products sell.
[ T ]
Taxonomy Agent
Maintains the structure underneath: categories, attributes, families.
[ B ]
Bulk Agent
Handles the work that used to eat a full afternoon, in minutes.
[ I ]
Insight Agent
Answers questions, surfaces what's missing, generates audit reports.
Supported LLM providers (mix freely)
Use OpenAI for writing, Claude for reasoning, a local Ollama model for privacy. Agentic PIM doesn't lock you to one vendor.
● OpenAI
● Anthropic Claude
● Google Gemini
● Groq
● Ollama (local)
● DeepSeek
● Mistral
● xAI Grok
● Custom / OpenAI-compatible
Three operating modes (conservative to autonomous)
①
Review-only Mode (default)
The agent proposes changes but writes nothing. Every modification needs human approval. Start here for new teams or important SKUs.
②
Confirm Mode
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.
③
Auto-apply Mode (not the default)
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.
From zero to running in 15 minutes
Install
A · Docker (fastest)
Requires Docker + Docker Compose v2+. Total time roughly 5 minutes, plus a ~90 second wait for first-time database migrations to finish.
Clone the repository
Pull UnoPim from GitHub and switch into the project directory.
$ git clone https://github.com/unopim/unopim.git
$ cd unopimCopy the Docker environment file
UnoPim ships with a Docker-tuned .env.docker. Copy it to .env and you're done with config.
$ cp .env.docker .envStart all containers
This pulls MySQL, Redis, Elasticsearch, PHP-FPM, Nginx, and the queue worker images automatically.
$ docker compose up -dHeads up: if you already run MySQL/Redis/Elasticsearch locally, edit the FORWARD_* ports in .env and restart.
Wait 90 seconds, then log in
First boot runs migrations and seeders. Be patient.
# Open the browser
http://localhost:8000/admin
# Default credentials
Email: admin@example.com
Password: admin123B · Composer (most flexible)
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.
Bootstrap the project with Composer
$ composer create-project unopim/unopim
$ cd unopimRun the UnoPim installer
The installer walks through DB connection, default admin user, locale, and channel setup.
$ php artisan unopim:installStart the local dev server
$ php artisan serve→ Open http://localhost:8000
Start the queue worker (don't skip this)
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,completenessIn production: wrap this in Supervisor or systemd so a crash doesn't go unnoticed.
C · AWS AMI (one-click cloud)
No time to set up an environment? UnoPim publishes an official AMI on the AWS Marketplace. Launch a VM, log in, done.
Subscribe to the AMI on AWS Marketplace
No additional licensing fee — you only pay for the AWS compute itself.
# Entry point
https://aws.amazon.com/marketplace/pp/prodview-fdyosdv7k3cgwChoose your EC2 instance size
For testing or proof-of-concept, start with t3.large. For production, go m5.xlarge or larger and move the database to RDS.
Access it after launch
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.
What's the community doing?
Community
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.
/ HACK
Cost · LLM Budget
Run Groq or local Ollama and keep your AI bill under a dollar a day
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-pim
/ TIP
Privacy · Data Sovereignty
Sensitive catalogs (medical devices, defense, unreleased SKUs)? Route everything through local Ollama
Agentic 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.
/ Source: Developer write-ups · mem0-mcp-selfhosted
/ USE CASE
Cross-border Ecommerce
Use UnoPim as the product feed source for ChatGPT Search
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/extensions
/ HACK
Claude Desktop Integration
Install the community MCP server, then say "@UnoPim" right inside Claude Desktop
Developer 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-mcp
/ TIP
Queue Reliability
Don't forget the webhooks queue — otherwise webhooks never fire
UnoPim'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
/ Source: GitHub README · unopim/unopim
/ USE CASE
Honest Assessment
Who it fits, who it doesn't — the candid take from a competitor comparison
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 comparison
/ TIP
Batch Job Scheduling
Run specific Job IDs via cron — turn AI enrichment into overnight automation
UnoPim 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-terminal
/ USE CASE
As a Mini-ERP
Use UnoPim as the "supplier → channels" middleware data layer
A 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 testimonials
Prompt design examples
Prompts
Agentic 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.
/ 01
Create a new product (with variants)
Level · Beginner
PROMPT
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.EXPECTED FLOW
Product Agent
calls
[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.
/ 02
Bulk translate into multiple locales
Level · Intermediate
PROMPT
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 entriesEXPECTED FLOW
Bulk Agent
Content Agent
coordinate →
[search_products]
filters by condition →
[check_locale_coverage]
finds gaps →
[translate_attribute]
generates per-product → returns the first 5 as preview before commit.
/ 03
Auto-fill missing image alt-text
Level · Beginner
PROMPT
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)EXPECTED FLOW
Content Agent
calls
[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.
/ 04
Product completeness audit
Level · Intermediate
PROMPT
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.EXPECTED FLOW
Insight Agent
calls
[query_completeness_score]
→
[cross_ref_analytics]
joins with pageview data → renders as Markdown table → writes nothing, pure reporting mode.
/ 05
Generate studio-quality product images
Level · Advanced
PROMPT
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 writingEXPECTED FLOW
Content Agent
dispatches to an image LLM (DALL-E, Gemini Imagen, etc.) →
[generate_product_image]
× 4 →
[write_alt_text]
auto-generates →
[stage_media_upload]
stages them → enters
Confirm Mode
showing thumbnails for approval.
UnoPim vs the field
Compare
| 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.
The rest is just installing it.
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.
UnoPim Field Guide · English Edition · 2026
An unofficial compilation · Drawing from GitHub, official docs, AtroPIM comparison, and developer community