Skip to main content

Features - bulk export/import

Bulk Export/Import - Inspections

Detailed guide for bulk export and import of Inspections in Procore, including available fields, data types, and tool-specific limitations.

This guide covers the specific implementation of bulk export/import for the Inspections tool in Procore. For general concepts and the overall process, see the Bulk Export/Import - Overview.

1 - Available Fields

1.1 - Native Fields

The following native fields are available for export and import. The script supports mapping via display names and internal keys.

Field LabelExport NameData Type
IDidstring
Templatelist_template_idlov_entry
Numbernumberinteger
Identifieridentifierstring
Statusstatuslov_entry
Tradetrade_idlov_entry
Due datedue_atdate
Inspection dateinspection_datedate
Descriptiondescriptionrich_text
Locationlocation_idlocation
Inspector(s)inspector_idslov_entries
Specification sectionspec_section_idlov_entry
Point of contactpoint_of_contact_idlov_entry
Distribution member(s)distribution_member_idslov_entries
Responsible contractorresponsible_contractor_idvendor
Private ?personalboolean

1.2 - Custom Fields

Custom fields configured for Inspections are automatically detected and included in the export. They follow standard Procore data types. During import, the script validates that the columns in your Excel file match the current fieldset configuration.

2 - Field-Specific Details

2.1 - Number and Identifier

  • Uniqueness: When creating new items (where id is empty), the number and identifier must be unique within the specific template selected.
  • The import script performs a cross-check against existing items in the project to prevent duplicates for a given template.
  • If you select _ALL TYPES_, you have an export / import across all types, but in this specific case you cannot export / import custom fields (as they are not transversal to all types)

2.2 - Users and Roles Mapping

  • Email-Based Input: For fields identifying users (inspector_ids, point_of_contact_id, distribution_member_ids), you must provide the email address.
  • Role Validation: The import script verifies that the provided users have the correct permissions for their assigned role
  • Multiple users (for Inspectors or Distribution) must be separated by a comma.

2.3 - Point of Contact and Responsible contractor

The “point of contact” user must match the “Responsible Contractor” vendor. This is not checked during reimport and may lead to import errors if not respected.

3 - Data Model Reference Sheets

The export file includes dedicated reference sheets to facilitate data entry and mapping:

Sheet NameContains
inspector_idsList of users authorized to be Inspectors
point_of_contact_idUsers authorized as Point of Contact
distribution_member_idsUsers authorized for the Distribution list
vendorList of Project Vendors
location_idProject locations
trade_idCompany Trades
list_template_idAvailable Inspection Templates
statusValid statuses for inspections

4 - Inspections-specific Limitations

4.1 - Inspection Type Scope

[IMPORTANT] The import process is strictly controlled by the Inspection Type.

  • Tool ID Validation: The hidden sheet _insp_type contains the Inspection Type ID and should not be modified or suppressed.
  • If the file was exported for a specific type (e.g., “Quality”), it cannot be used to import data into another type (e.g., “Safety”).
  • If the export was performed using _ALL TYPES_, the script allows a broader scope but still validates template associations, and in that case does not handle custom fields.

4.2 - Technical & Data Constraints

  • Attachments: Photos and documents attached to inspection items cannot be bulk imported; they must be managed manually in Procore.
  • Fieldset Alignment: If your Excel file contains column headers that do not exist in the Procore fieldset, the import will be blocked to prevent data inconsistency.

4.3 - File Integrity

  • Sheet Naming: The main data sheet must be named exactly INSPECTIONS.
  • Metadata: Do not delete the _insp_type sheet, as it is mandatory for the script to identify the target inspection category.

5 - Common Use Cases

5.1 - Batch Updating Due Dates or Inspectors

  1. Export existing inspections for a specific type.
  2. Update the due_at or inspector_ids (using emails) in the Excel file.
  3. Import the file; the script uses the id column to match and update existing records.

5.2 - Mass Creation from a Template

  1. Export a template (or an empty export) for the desired Inspection Type.
  2. Fill in the list_template_id and provide unique number or identifier values.
  3. Ensure all mandatory fields (like responsible_contractor_id) are filled if the mandatory check is enabled.
  4. Leave the id column blank for new items.

5.3 - Create one Inspection on a given template for each Location

  1. Export a template (or an empty export) for the desired Inspection Type.
  2. Go to the location_id tab to copy all relevant locations in the location column of the INSPECTIONS tab.
  3. Fill in the rest of the information before importing.