Skip to content

Bulk Import

Bulk Import Import data from CSV files or discover plants directly from EPA ECHO. The import page has six tabs — Plants, Discovery, Users, Permits, Events, and Incidents.

CSV Import (Plants, Users, Permits, Events, Incidents)

Each tab accepts a CSV upload. Download the Sample CSV to see the expected columns, then upload your file. Required and optional columns vary by type:

TabRequired ColumnsOptional Columns
Plantsname, address, city, state, zipcodephone, timezone, plant_manager
Usersemail, f_name, l_name, roleplant_name
Permitstitle, plant_namestatus, expires, statute, source_agency, source_id, agency_status, assigned_to, date_assigned, tasks_json
Eventsuser_email, event_type, date_start, date_endplant_name, notes
Incidentstitle, category, plant_name, assigned_to_email (or Assigned To)priority, occurred_at, discovered_at, location_text, narrative, date_assigned, stage, workflow_tasks_json, capa_actions_json, plus every compliance column listed below

An incident row that names no plant, names one this workspace does not have, or whose assignee cannot be matched to a person is reported by row number and skipped — not imported without them. An incident belongs to a site and has somebody answerable for it, so a misspelled plant name or an unknown address is a row to correct and re-import rather than a record to file half-made.

Export and import carry the same fields

Export CSV on Incident Manager and Permit Manager writes every field an import reads back, so a record exported and re-imported returns as it left. Both directions read one shared list, and a test fails the build if a new database column is added without deciding whether it belongs in the file.

Incident columns (44): incident_number, title, category, stage, priority, plant_name, assigned_to_email, assigned_at, occurred_at, discovered_at, first_reported_at, location_text, narrative, rca_notes, closed_at, outcome_fatality, outcome_hospitalization, outcome_amputation, outcome_eye_loss, osha_8hr_candidate, osha_24hr_candidate, nrc_candidate, state_report_candidate, osha_8hr_flagged_at, osha_24hr_flagged_at, nrc_flagged_at, state_flagged_at, osha_notified_at, nrc_notified_at, state_notified_at, work_related, is_new_case, outcome_days_away, outcome_restricted_duty, outcome_medical_treatment, outcome_loss_of_consciousness, outcome_significant_diagnosis, is_privacy_case, days_away_count, restricted_days_count, illness_type, form_301_due_at, form_301_completed_at, osha_form_301_json

Permit columns (17): title, plant_name, status, assigned_to, date_assigned, statute, source_agency, source_id, agency_status, expires, universe, areas, plant_city, due_month, due_day, due_note, override_date

Incidents and permits also carry their sub-records as JSON in workflow_tasks_json, capa_actions_json and tasks_json.

What a CSV cannot carry

  • File attachments. Their contents are binary and a CSV holds text, so attachments stay with the original record. Download anything you need to keep separately.
  • Audit stamps — who changed a status and when, when a record was created. These describe events in this workspace; an import writes its own, because importing someone else's would forge an audit trail.
  • The person who reported it. An imported incident is filed by whoever runs the import.

User Import Notification Strategies

When importing users, choose how they get in. No option puts a password in an email or a file:

  • Invitation — each user gets an email link to set their own password. The account is inactive until they do.
  • No notification — users are created active, without a password, for you to invite later from User Manager.

Discovery Tab

Search EPA ECHO by SIC code, NAICS code, or ZIP code to find facilities. Select a state, enter a code, and click Search ECHO. Select matching facilities from the results and click Import Selected to add them as plants with their EPA Registry IDs and discovered permits.

Re-importing a deleted plant

If an imported facility matches a plant in the Recycle Bin (by EPA Registry ID, or by exact name for CSV plant imports), the deleted plant is restored — with its permits, incidents, and tasks intact — instead of creating a duplicate.

evo.ehs is a product of Evomedia.net LLC.

“evo.ehs” is an evomedia.net LLC internal project name used during this beta — it is not the final product name. This is an independent product, not affiliated with or endorsed by any other company.