Recurring XML job feeds

Pull jobs from a public XML feed URL on a schedule. AI maps fields on the first run, then Cavuno updates, adds, and optionally expires listings automatically.

Keep a board in sync with a partner, ATS, or aggregator export without re-uploading files. Add a public XML feed URL under Jobs → Import, and Cavuno pulls it on a schedule.

One-shot uploads are covered in Import jobs from CSV or XML.

Before you begin

You need a stable, publicly reachable http or https URL that returns XML or gzip-compressed XML without an interactive login. Confirm that the feed includes a stable application URL or external ID for each job, and decide whether listings missing from two consecutive successful runs should expire.

Add a feed

  1. Go to Jobs → Import
  2. Open Import from feed
  3. Click Add feed
  4. Paste the Feed URL (public http or https XML; gzip is supported)
  5. Optionally set a Feed name so the list is easy to scan
  6. Choose Check every: 1, 3, 6, 12, or 24 hours (default 6)
  7. Leave Expire missing jobs on if jobs that leave the feed should expire after two consecutive misses
  8. Save. The first sync starts within a few minutes

You can have up to 10 feeds per board.

How sync works

First run

Cavuno fetches the feed and runs the same AI field mapping as one-shot import. Mapping is stored for later runs so you do not re-map every cycle.

Later runs

  • Unchanged body: if the feed content has not changed, the run short-circuits without rewriting jobs
  • New or changed jobs: matched by apply URL, external ID / reference number, or a composite fingerprint, then created or updated in place
  • Missing jobs: when Expire missing jobs is on, a job missing for two consecutive successful runs is expired (about 12 hours at the default 6-hour cadence)

Safety guards

  • An empty or unparseable feed never expires anything
  • If more than about 40% of active feed jobs would go missing in one run, the feed moves to Needs review and expiry is held back
  • Feed URLs cannot be edited after creation. Add a new feed to point at a different URL

Feed status

StatusMeaning
First sync pendingMapping or first pull has not finished yet
ActiveRunning on schedule
FailingRecent pulls failed (network, parse, or similar)
Needs reviewA safety guard fired; check the feed detail and last error
PausedThe feed is disabled in settings

Open a feed from the list to see last run, next run, interval, expire settings, and recent run history. Interval and expire options save automatically.

When to use a feed

  • Partner or association boards that publish a shared XML feed
  • ATS or job-distribution exports on a stable URL
  • PPC or affiliate partners that supply tracked application URLs in an XML feed

Use a feed for PPC monetization

If you have a separate PPC or affiliate agreement, map the provider's tracked destination into the job's application URL. Cavuno preserves that URL when candidates click Apply, allowing the provider to perform its own attribution. Cavuno does not create the partner agreement, add missing tracking parameters, decide which clicks qualify, or issue payouts.

Before publishing the feed broadly, open one imported job, follow its application link, and confirm the provider records the test according to your agreement. Compare Cavuno's outbound apply-click data with the provider's accepted-action report; the two can differ because the provider controls validation and attribution.

Verify the feed

Open the feed detail after the first sync. Confirm the status is Active, review the imported and skipped counts, and open representative jobs to check the title, company, location, description, and application URL. If you enabled expiry, remove a test job from the source only after validating the mapping and confirm Cavuno expires it after two consecutive successful misses.

Prefer one-shot import for a one-time migration file, and backfill when you want Cavuno to scrape company careers pages instead of an XML feed.

Frequently asked questions