All updates

XML job feeds for bulk import

The job import dashboard now accepts XML alongside CSV. Drop in a flat job feed or an RSS-style channel feed and Cavuno auto-maps columns, deduplicates against existing listings, and posts the batch in the background.

Abi Tyas TunggalAJack WalshJ
By Abi Tyas Tunggal and Jack Walsh on

XML feeds now flow through the same upload, AI column mapping, and dedup pipeline as CSV — so migrating a job board that exports an XML feed (or pulling from an RSS-style aggregator) takes one drag-and-drop instead of a spreadsheet conversion step.

How it works

  • One importer for both formats: the dashboard's job import accepts .csv and .xml files up to 10 MB. Cavuno detects the format from the file extension
  • Tree-flattening parser: nested elements become dotted paths (salary.min, salary.max), attributes become @-prefixed keys (location.@country), and repeated siblings (multi-category tags) join with |
  • Auto row detection: flat feeds (<source><job>…</job></source>) and RSS-style feeds (<rss><channel><item>…</item></channel></rss>) both work without configuration. Namespace prefixes are stripped, so <gj:title> reads as title
  • CDATA preserved: HTML descriptions inside <![CDATA[…]]> survive intact through to the existing sanitization pass
  • Same AI mapping + dedup: the column mapping, location geocoding, and duplicate detection run identically — so a recurring XML feed reuses its previous mapping after the first import