Company and subscriber import

Import companies via CSV or XML, import job alert subscribers via CSV, and export subscriber data for backup or use in other tools.

This guide covers imports for companies (CSV or XML) and job alert subscribers (CSV), plus subscriber CSV export. Job imports use a separate flow. See Import jobs from CSV or XML and Recurring XML feeds. This is the fastest way to migrate company and subscriber data from another platform or manage it in bulk.

Before you begin

Create a small representative file before uploading the complete dataset. For companies, include rows that exercise optional URLs and one existing company you expect Cavuno to match. For subscribers, confirm that you have permission to send job alerts to every imported address and retain the consent records your organization requires.

Import companies

Add employer profiles in bulk by uploading a CSV or XML file. This is useful when migrating from another job board or seeding a new board with companies.

Prepare your CSV

Create a CSV file with a header row. Column names are case-insensitive. If your headers differ, AI column mapping still maps them on upload.

ColumnRequiredDescription
nameYesCompany name
websiteNoCompany website URL or domain; common headers such as site_url, url, and homepage can map here
logoNoDirect URL to a company logo; logo_url and image_url can map here
summaryNoShort company summary or tagline
descriptionNoFull description in HTML, Markdown, or plain text
xUrlNoFull X/Twitter profile URL; common Twitter and X headers can map here
linkedinUrlNoLinkedIn company profile URL
facebookUrlNoFacebook page URL

Unrecognized columns are ignored. Column order does not matter.

How fields are processed

Website URLs are normalized. Bare domains like example.com become https://example.com.

Logo images are downloaded from the provided URL and stored in Cavuno's asset storage. If the download fails, the company is created without a logo.

Cavuno matches existing companies by normalized website domain first, then by normalized name. Imports are create-only: an existing match is added to your board without overwriting its profile. Cavuno imports every mapped row; fields such as is_published are not filters, so remove unwanted rows before uploading.

Example CSV

csv
name,website,summary,logo,linkedinUrl,xUrl
"Acme Corp",https://acme.com,"Building better widgets",https://acme.com/logo.png,https://linkedin.com/company/acme,https://x.com/acme
"Globex Inc",https://globex.com,"Innovation at scale",,,

Upload the file

  1. Go to Companies in the sidebar.
  2. Click Import.
  3. Select your .csv or .xml file.
  4. Click Import to start.

The import runs in the background. You can leave the page while it processes. XML uses the same mapping and matching rules as CSV.

Import job alert subscribers

Bring an existing email list into Cavuno so subscribers start receiving job alert digests.

Prepare your CSV

ColumnRequiredDescription
emailYesSubscriber email address
unsubscribedNoAny non-empty value skips the row

Every imported subscriber receives a weekly alert.

Example CSV

csv
email,unsubscribed
jane@example.com,
bob@example.com,

Upload the file

  1. Go to Job Alerts in the sidebar.
  2. Click Import.
  3. Select your .csv file.
  4. Click Import to start.

Imported subscribers are auto-confirmed. No confirmation email is sent. They begin receiving alerts on the next scheduled digest. Only import subscribers who have given you consent.

Export job alert subscribers

Download your full subscriber list as a CSV for backup, analysis, or import into other tools. Subscribers are one of the eight tables you can export. Every primary table (jobs, companies, employers, candidates, subscribers, blog posts, authors, and tags) exports the same way, from the ... menu in its toolbar. See Export your data for the full list, the large-export flow, permissions, and the API endpoints.

  1. Go to Job Alerts in the sidebar.
  2. Open the ... menu in the toolbar and choose Export.
  3. Your browser downloads job-alert-subscribers-{board-slug}.csv.

Exported columns

ColumnDescription
subscription_idUnique identifier
emailSubscriber email address
statusCurrent status: active, pending_confirmation, unsubscribed, or paused
confirmedWhether the subscriber confirmed their email
is_activeWhether the subscription is active
confirmed_atTimestamp of email confirmation
unsubscribed_atTimestamp of unsubscribe (empty if still subscribed)
last_digest_sent_atWhen the last alert email was sent
preferencesAlert preferences and frequency
created_atWhen the subscription was created
updated_atWhen the subscription was last modified

The export includes all subscribers regardless of status: active, pending, and unsubscribed.

File format requirements

  • Format: Standard CSV with comma delimiters.
  • Encoding: UTF-8 (files with a BOM are handled automatically).
  • Header row: The first row must contain column names.
  • Quoting: Wrap values containing commas or quotes in double quotes. Escape literal quotes by doubling them ("").
  • Extension: .csv.

Troubleshooting

Before troubleshooting, verify the import result. For companies, compare the imported, matched, and skipped counts and open representative profiles to check mapped fields. For subscribers, confirm the imported rows show Active, a weekly preference, and no confirmation message was sent. For an export, open the downloaded CSV and confirm active and inactive statuses are both present when expected.

Company import skips rows

  • Missing name: Every row needs a name value.
  • Unexpected rows imported: Cavuno does not use is_published as a filter. Remove draft, archived, or otherwise unwanted rows before uploading.
  • Existing company matched: Cavuno matches by normalized website domain and then normalized name. It adopts an existing match without overwriting that profile.
  • Logo download failed: The company is still created without a logo. Check that the logo_url points to a publicly accessible image.

Subscriber import skips rows

  • Invalid email: Emails that fail validation are skipped.
  • Unsubscribed flag: Rows with a non-empty unsubscribed value are intentionally skipped.

General issues

  • Wrong file type: Company import accepts .csv and .xml. Subscriber import accepts .csv only. Convert .xlsx or .tsv files to CSV first.
  • Encoding errors: Save as UTF-8. Some spreadsheet applications default to other encodings.
  • Empty file: The file must contain at least a header row and one data row.

Frequently asked questions