Path: /{workspaceSlug}/import. The entry point for every new data source.

Supported formats

SourceWhat it isPlans
FileLocal upload (CSV, XLSX, JSONL)all
URL feedURL of an XML / CSV / JSONL feed — Sytalog downloads it and processes itall
ScrapeURL of a product page / e-shop category — Sytalog runs a Playwright scraperBeta · Enterprise only
XML availabilityHeureka-compatible availability XML feedpaid plans
XML imagesHeureka-compatible images XML feedpaid plans

Import flow

  1. Pick source — file / URL / scrape.
  2. Preview columns — Sytalog auto-detects columns; tick the ones to import. UI shows "Selected X of Y columns".
  3. Name the dataset — placeholder "Stocks Q1".
  4. Start import — the job joins the queue (RQ + Redis). The page switches to a live log.
  5. Watch progress: discovered URLs (scrape), detail queue / processed / saved / skipped / errors / blocked (403/429/challenge), estimated total, job ID.
  6. On finish: success → "Open created dataset" deep link; finished_empty → "Scraping completed, but no products were found" + hint.
  7. Optional: download JSON report with full statistics.

File size limits

FormatNáhledKatalogProvozEnterprise
CSV / XML / JSONL25 MB100 MB500 MB500 MB
XLSX10 MB25 MB50 MB50 MB

Files larger than the cap are rejected during upload, not truncated. Sytalog does not limit row count — only file size matters.

XML feed import

  • Bulk Import → pick URL feed → enter the XML feed URL → Sytalog detects the structure, you pick columns, you start.
  • For availability XML (SKU → stock / price): /{workspaceSlug}/import/xml → XML availability
  • For image XML (SKU → image URL): /{workspaceSlug}/import/xml → XML images

The XML must be publicly accessible (no auth) and return a valid XML response.

Scraping (Enterprise · Beta)

Bulk Import → Scrape → product-page / category URL → advanced settings (max pages, max products) → run.

Sytalog uses Playwright for JS rendering. Some e-shops have anti-bot protection that may cause a finished_empty status. Contact support — for Enterprise we can add a custom selector.

Duplicate guard

  • Uploading the same file / URL within the last 15 minutes → modal "Source was uploaded recently. Yes, import again / Cancel".
  • A dataset with the same name → modal "Dataset already exists. Choose: Overwrite / Rename".

Column mapping

Sytalog auto-detects columns at import time — from headers, sample values, and known feed formats (Heureka, etc.). The UI shows "Detected N columns" and you uncheck the ones you don't want.

For a dataset update (refreshing an existing dataset with a new file), auto-mapping is even smarter — Sytalog suggests "dataset column ↔ feed column" pairs and you can adjust them manually.