Skip to main content
Version: 2.0.0

Feeder

Feeder turns Craft elements (products, entries, categories, orders, customers, users, assets) into export files for external channels — marketplaces, price comparison sites, affiliate networks, or any partner that consumes a periodic CSV/JSON/XML feed instead of an API integration.

Instead of one fixed export format, Feeder is built around independently configurable profiles:

  • A feed picks a source (element type + site), an output format, and how it runs (manually, by schedule, or via the console).
  • A mapping translates values from your store's vocabulary to a channel's vocabulary — most commonly categories (e.g. Electronics > Phones → a marketplace's numeric category ID).
  • A rule is a reusable element condition (date range, related-to, slug pattern, ID list, …) that can be attached to one or more feeds to filter which elements get exported.

Why teams use it

  • One feed profile per channel, no code. A store with five sales channels (a marketplace, two comparison engines, an affiliate network, an internal BI export) configures five feeds from the CP — each with its own source, fields, and delivery target — without a developer touching code per channel.
  • Format flexibility. Built-in CSV/JSON/XML writers cover the common case; Template mode (header/element/footer patterns with {field|modifier} placeholders) covers channels with a specific XML schema or a format none of the built-in writers produce.
  • Delivery included. A feed can push its output straight to an FTP, FTPS, or SFTP target after generating it — no separate cron script needed to move the file where the channel expects it.
  • Traceable runs. Every generated export (successful or failed) is recorded in History, with the row count, delivery target, and — for local files — a direct re-download link.

Admin use cases

  • Publish a Google Shopping–style or marketplace product feed on a daily schedule, in the exact field order and format the channel requires.
  • Re-map internal category names or attribute values to a partner's taxonomy using a mapping profile, without renaming anything in Craft.
  • Restrict a feed to a subset of products (e.g. only entries related to a specific category, or created after a given date) using rules, instead of hand-maintaining a filtered element source.
  • Push a generated feed directly to a marketplace's FTP/SFTP drop folder as part of the same run that generates it.
  • Audit past export runs — row counts, delivery target, failures — from History, and re-download a previously generated file.
  • Trigger or inspect exports from the console for CI/deploy pipelines or cron, instead of relying on the CP.

Feed model

ConceptWhat it is
FeedA named export profile: source element type + site, output format (CSV/JSON/XML or a custom template), row filtering (conditions + attached rules), field selection, run mode, and optional FTP/FTPS/SFTP delivery.
MappingA named source-value → target-value lookup table (e.g. category or attribute translation), referenced from a feed's field template with the map modifier.
RuleA named, reusable element condition (by date, ID, slug, related-to) with a priority, attachable to any number of feeds.
HistoryA log of every export run, per feed: status, row count, delivery target, and (for local writes) a download link.

A feed's row filtering combines its own inline condition with every rule attached to it (via rule_ids) — a feed doesn't need its own bespoke condition if an existing rule already expresses it.

Supported sources

Feeder discovers export sources from the current Craft/Yui installation. Always available: Entries, Categories, Users, Assets. When the relevant plugin is installed, also available: Products, Variants, Orders, Customers (from the store/commerce plugin). The full, currently-registered list — including each source's default currency and capabilities — is shown at the bottom of Feeder → Settings.

Basic setup

  1. Open Feeder → Feeds → New Feed, pick a source (element type) and site, and give the feed a name and filename.
  2. Choose an output format (CSV, JSON, XML) — or leave the header/element/ footer pattern fields blank for the built-in writer, or fill them in to use Template mode (see Usage → Fields, Template mode and modifiers).
  3. Optionally restrict rows with the feed's own conditions and/or by attaching one or more rules.
  4. Optionally enable FTP/FTPS/SFTP delivery so the generated file is pushed to the channel automatically.
  5. Choose how the feed runs: Manually (via the Generate feed button or console), or By Schedule (a cron expression, processed by a recurring feeder/export/run-due console call — see Developer API → Scheduling).
  6. Save, then use Generate feed to run it once and confirm the output in History before relying on the schedule.

Further reading

  • Settings — plugin-wide defaults: export path, chunk size, history retention, and feature toggles.
  • Usage — creating feeds, mappings and rules, template mode and modifiers, generating exports, and reading history.
  • Developer API — the console command, the craft.feeder Twig variable, PHP services, and scheduling feeds via cron.
  • Release Notes