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.
A
JThis 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.
| Column | Required | Description |
|---|---|---|
name | Yes | Company name |
website | No | Company website URL or domain; common headers such as site_url, url, and homepage can map here |
logo | No | Direct URL to a company logo; logo_url and image_url can map here |
summary | No | Short company summary or tagline |
description | No | Full description in HTML, Markdown, or plain text |
xUrl | No | Full X/Twitter profile URL; common Twitter and X headers can map here |
linkedinUrl | No | LinkedIn company profile URL |
facebookUrl | No | Facebook 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
123name,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
- Go to Companies in the sidebar.
- Click Import.
- Select your
.csvor.xmlfile. - 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
| Column | Required | Description |
|---|---|---|
email | Yes | Subscriber email address |
unsubscribed | No | Any non-empty value skips the row |
Every imported subscriber receives a weekly alert.
Example CSV
123email,unsubscribedjane@example.com,bob@example.com,
Upload the file
- Go to Job Alerts in the sidebar.
- Click Import.
- Select your
.csvfile. - 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.
- Go to Job Alerts in the sidebar.
- Open the ... menu in the toolbar and choose Export.
- Your browser downloads
job-alert-subscribers-{board-slug}.csv.
Exported columns
| Column | Description |
|---|---|
subscription_id | Unique identifier |
email | Subscriber email address |
status | Current status: active, pending_confirmation, unsubscribed, or paused |
confirmed | Whether the subscriber confirmed their email |
is_active | Whether the subscription is active |
confirmed_at | Timestamp of email confirmation |
unsubscribed_at | Timestamp of unsubscribe (empty if still subscribed) |
last_digest_sent_at | When the last alert email was sent |
preferences | Alert preferences and frequency |
created_at | When the subscription was created |
updated_at | When 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
namevalue. - Unexpected rows imported: Cavuno does not use
is_publishedas 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_urlpoints to a publicly accessible image.
Subscriber import skips rows
- Invalid email: Emails that fail validation are skipped.
- Unsubscribed flag: Rows with a non-empty
unsubscribedvalue are intentionally skipped.
General issues
- Wrong file type: Company import accepts
.csvand.xml. Subscriber import accepts.csvonly. Convert.xlsxor.tsvfiles 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.