Pinnacle Feed Import

Import CSV, JSON and XML feeds into any collection, by hand or on a schedule, with field mapping, matching and a run log.

Public name@pinnacleplugins.com/pinnacle-feed-import

Or open Registry in your EmDash admin and search for this name.

Overview

Import CSV, JSON, NDJSON and XML feeds into any EmDash collection, by hand or on a schedule. Rows are matched to entries by a unique key, so every run creates what is new, updates what changed and leaves the rest alone. Every run is logged, with the rows that failed and why.

Built for Node-hosted EmDash. On Cloudflare it runs imports that save drafts; see Limits worth knowing.

Free and EmDash Pro

The free version is a complete importer:

  • any number of imports, run by hand, with dry runs and a mapping preview
  • one daily or weekly schedule
  • URL feeds and pasted files (up to 512 KB)
  • {{column}} mapping, combining columns and text
  • create, update and skip-unchanged, with a per-run log of row errors
  • assigning existing taxonomy terms

EmDash Pro is coming soon. It is not on sale yet, so this release has no license key field and makes no license checks. These are the features an EmDash Pro key unlocks in this plugin. The EmDash Pro page lists them for every Pinnacle plugin, and you can ask us there to tell you when it goes on sale.

  • unlimited schedules, hourly, every 15 minutes and custom cron
  • moving entries to trash when their row leaves the feed, with a safety limit
  • image import from URLs into the media library
  • creating missing taxonomy terms
  • filters in mapping templates, such as {{price | number}} or {{name | upper}}
  • feeds that need an authentication header

The free version does not depend on EmDash Pro and keeps working as it is.

Without Pro, Pro settings are kept but skipped (with a note in the run log), except filters and authentication headers, which stop the run because skipping them would change your data.

Screenshots

Permissions

Plugins get only the capabilities they declare and you approve. Your EmDash admin lists these again before anything installs.

  • Read content

    Read entries from your site’s content collections.

  • Manage content

    Create, update, and delete content entries.

  • Publish content

    Publish, unpublish, schedule, and unschedule content entries.

  • Restore trashed content

    Read entries in the trash and restore them.

  • Read content structure

    Read the collections and fields defined on your site.

  • Read taxonomies

    Read taxonomy definitions, terms, and content assignments.

  • Manage taxonomy terms

    Create terms and change which terms are assigned to content.

  • Make unrestricted network requests

    Connect to any external host.

Changelog

Changelog

1.0.0

First public release, by Coding Chicken under the Pinnacle Plugins brand.

  • Imports from CSV, JSON, NDJSON and XML feeds, from a URL or a pasted file, into any collection.
  • Any number of imports, run by hand, with dry runs and a mapping preview, plus one daily or weekly schedule.
  • Matching by a unique key: create, update and skip unchanged, with a log of row errors for every run.
  • A run stops before writing when the feed lost a column the mapping uses.
  • EmDash Pro is not on sale yet. The Pro features are part of the code and stay switched off. The License panel shows a coming-soon notice with a link to the EmDash Pro page, and the plugin makes no license checks.
  • Verified on EmDash 1.3.1, in the plugin sandbox and as a native plugin.

Installation

Pick one of three options.

  1. From the EmDash plugin registry. In your EmDash admin, find Pinnacle Feed Import in the plugin registry and install it. It runs in the EmDash plugin sandbox, and EmDash shows the plugin's permissions for you to approve.
  2. npm, sandboxed. Run npm install @pinnacleplugins/emdash-feed-import, add the plugin to sandboxed: [...] in astro.config.mjs and set sandboxRunner (for example @emdash-cms/sandbox-workerd/sandbox on Node).
  3. npm, native. Run npm install @pinnacleplugins/emdash-feed-import and add the plugin to plugins: [...] in astro.config.mjs. It then runs in your site's own process, so use this only on hosts you trust with in-process code.
import emdash from "emdash/astro";
import plugin from "@pinnacleplugins/emdash-feed-import";

// inside defineConfig({ integrations: [...] })
emdash({ plugins: [plugin] }); // native
emdash({ sandboxed: [plugin], sandboxRunner: "@emdash-cms/sandbox-workerd/sandbox" }); // sandboxed on Node

The full README, with limits, permissions and notes for agents, ships with the npm package.

Keep exploring

More plugins like Pinnacle Feed Import

Browse by keyword, or see everything @pinnacleplugins.com publishes.

Install on your site

Open in EmDash

Pinnacle Feed Import

@pinnacleplugins.com/pinnacle-feed-import

Choose the EmDash site where you want to review this plugin. Nothing is installed until you confirm its permissions in that site's admin.

This browser will remember the site. You can change it next time.