Features - bulk export/import
Bulk Export/Import - Observations
Detailed guide for bulk export and import of Observations in Procore, including available fields, data types, and tool-specific limitations.
This guide covers the specific implementation of bulk export/import for the Observations tool in Procore. For general concepts and the overall process, see the Bulk Export/Import - Overview.
- 1 - Observations Available Fields
- 2 - Observations Fields Specificities
- 3 - Data Model Reference Sheets
- 4 - Observations-specific Limitations
- 5 - Common Use Cases
- 6 - Related Documentation
1 - Available Fields
1.1 - Native Fields
The following native fields are available for export and import. Note that some fields (Distribution list, Hazard, Contributing behavior & condition) are excluded from the automated export / import for technical reasons (not in the Procore export API).
| Field Label | Export Name | Data Type |
|---|---|---|
| ID | id | string |
| Number | number | integer |
| Status | status | lov_entry |
| Assignee | assignee_id | lov_entry |
| Trade | trade_id | lov_entry |
| Description | description | rich_text |
| Due date | due_date | date |
| Name | name | string |
| Private ? | personal | boolean |
| Priority | priority | lov_entry |
| Specification section | specification_section_id | lov_entry |
| Type | type_id | lov_entry |
| Location | location_id | location |
1.2 - Custom Fields
All custom fields configured for the specific Observation Category are automatically included in the export (unless “ALL TYPES” is selected). During import, the script validates that the columns match the fieldset configuration. Custom fields support various types including dropdowns, Dates, Vendors and User selections.
2 - Field-Specific Details
2.1 - Numbering & Uniqueness
- Unique ID: When creating new observations, the
numberfield must be unique across the project. - The script checks the provided number against all existing observations in the project to prevent duplicates. If the
idcolumn is empty, the script treats the row as a new entry.
3 - Data Model Reference Sheets
To ensure data integrity, the export file includes reference sheets used for mapping names to internal Procore IDs:
| Sheet Name | Contains |
|---|---|
| status | Valid statuses (Initiated, Ready for Review, closed, etc.) |
| priority | Priority levels (Low, Medium, High, Urgent) |
| type_id | Observation Categories & Types (including custom types & categories) |
| assignee_id | Users authorized to be assigned to observations |
| trade_id | Company Trades |
| location_id | Project locations |
| specification_section_id | Project spec sections |
| login_information | All project users (for custom fields) |
| vendor | Contractors/vendors |
4 - Observations-specific Limitations
4.1 - Category Scope (Non-Transversal)
[IMPORTANT] Export and Import actions are restricted by Observation Category.
- Metadata Validation: The hidden sheet
_obs_categorycontains the Category. - You cannot use an export template from the “Safety” category to import items into the “Quality” category, as the underlying Types and Custom Fields differ.
- If you select
_ALL TYPES_, you have an export / import across all categories, but in this specific case you cannot export / import custom fields (as they are not transversal to all categories)
The export/import works with Custom Observation Categories & types.
4.2 - Technical & Data Constraints
- Unsupported Fields:
Hazard,Contributing Behavior,Contributing ConditionandDistribution listare currently not supported by the bulk export/import engine as they are not in the Procore API. - Attachments: Photos and documents cannot be uploaded via bulk import; they must be added manually to each observation item.
4.3 - File Integrity
- Sheet Name: The primary data sheet must be named exactly
OBSERVATIONS. - Reference Sheet: Do not modify or delete the
_obs_categorysheet, as the script uses it to verify the target destination.
5 - Common Use Cases
5.1 - Mass Closing of Observations
- Export all “Initiated” observations.
- Change the
statuscolumn to “Closed” in Excel. - Import the file with the “Mandatory Check” disabled.
5.2 - Updating Custom values in bulk
- Export observations and filter to find them requiring update.
- Update the relevant custom values.
- Re-import the file to sync changes with the “Mandatory Check” disabled.
5.3 - Importing from External Audits
- Use an empty Observation export as a template.
- Paste data from external logs, ensuring
type_idandassignee_idmatch Procore values. - Ensure the
idcolumn is blank andnumberis unique.
6 - Related Documentation
- Bulk Export/Import - Overview (general process and concepts)