CSV

Got dozens or hundreds of FAQ-style items to import? CSV does it in one go. Export from your old tool, drop the file in, watch it process. Available on Pro and VIP plans.

On this page

Why use this

  • You have 20+ short content items to add — adding them one at a time would burn an afternoon.
  • You're migrating from another tool (Zendesk, Intercom, Notion, a spreadsheet of FAQs).
  • You have structured data in a spreadsheet that maps cleanly to title + body.
  • You want to script content creation as part of a regular workflow.

How it works

You upload a CSV file with required and optional columns. Echo parses the header row, validates the data, shows a preview of the first 5 rows, and on confirmation creates one content item per row. Progress is tracked in real time so you can see how many items have been imported.

You can cancel the import partway through — items already imported stay; remaining rows are skipped.

How it differs from related options

  • vs Text upload — CSV is the bulk equivalent. Every row becomes one text-style content item.
  • vs Synced sources — CSV is a one-time import. After upload, nothing syncs. Use this for migrations and bulk seeding; use synced sources for ongoing content that lives elsewhere.

Step-by-step setup

  1. Open the assistant and go to Contents.
  2. Click Add content and select CSV.
  3. Optionally, download the sample CSV template from inside the upload dialog — it has the correct header row.
  4. Upload your CSV file. Echo parses the headers and validates the data.
  5. Preview the first 5 rows. Confirm everything looks right.
  6. Click Process to import.

Watch the progress bar. You can cancel any time; rows already imported stay in your library.

CSV format reference

ColumnRequiredPurpose
titleYesThe content title. Up to 500 characters.
contentYesThe content body. Up to 500 KB per row.
publishedAtNoPublication date (ISO 8601, e.g. 2026-05-13).
linkNoSource URL to surface in citations.
imageNoThumbnail image URL.

UTF-8 encoding, comma-separated, header row required.

Common errors and troubleshooting

  • "CSV imports require Pro or VIP" — the feature is plan-gated. Upgrade or add items manually.
  • "Missing required columns" — every row needs title and content. Add them to the header and rerun.
  • "Encoding error" — save the file as UTF-8. Excel sometimes defaults to other encodings; use "Save as → CSV UTF-8" or export from Google Sheets.
  • "Row too long" — individual rows max out at 500 KB. Split long entries across multiple rows.
  • "At content limit" — the import would exceed your plan's content cap. Either trim the CSV, delete unused content, or upgrade.
  • Import partially failed — Echo continues past row-level errors and reports which rows failed. Fix those rows and re-import them only.
One-time migration
CSV is best for one-time bulk imports. For content that changes regularly, use a synced source instead — it'll stay up to date on its own.