Skip to main content
Procore

MuleSoft - Release Notes

Below are the notable changes to the Procore + MuleSoft integration. 

Recent Changes

Version 1.0.0 (06/2025)

Overview

The Procore Connector 1.0.0 provides seamless integration between MuleSoft applications and Procore’s construction project management platform. This initial release establishes the foundation for managing construction projects through MuleSoft-based enterprise solutions.

What’s New

Core Features
  • OAuth 2.0 Authentication: Secure connection to Procore API using OAuth 2.0 authorization code flow with automatic token refresh.
  • Project Management Operations: Complete support for creating and updating construction projects.
  • Company-Specific Context: All operations support company-specific contexts through Procore Company ID headers.
  • Advanced Error Handling: Robust error handling with detailed logging and proper exception management.
Operations
Create Project Operation
  • Project Details Management: Create new construction projects with comprehensive project details, including name, description, code, and type configuration.
  • Location Data Support: Full support for latitude, longitude, and geographic information.
  • Date Management: Override start/end dates with configurable date handling.
  • Company Integration: Company ID association and office linking.
  • Cost Code Support: Optional standard cost code copying during creation.
  • Advanced Fields: Support for project numbers, store numbers, accounting project numbers, and designated market areas.
Update Project Operation
  • Project Modification: Update existing project details and configurations. 
  • Additional Fields: County, fax, and standard cost code list management.
  • Flexible Updates: Partial updates with optional parameter support.
  • Validation: Built-in validation for project ID and company associations.

Technical Specifications

System Requirements
Component Version
Mule Runtime 4.9.6 or higher
Java 17
Dependencies
Dependency Version Purpose
mule-sdk-api 0.11.4 MuleSoft SDK API
gson 2.12.1 JSON serialization/deserialization
nimbus-jose-jwt 9.37.3 JWT token handling
mule-http-connector 1.10.3 HTTP operations
mule-file-connector 1.5.3 File operations
mule-objectstore-connector 1.2.2 Object store operations
mule-selenium-connector 2.2.3 Selenium operations
Configuration Parameters
Connection Configuration
  • Base URL: Configurable Procore API base URL (default: https://api.procore.com).
  • Timeout Settings: Configurable connection timeout (default: 30 seconds).
  • Proxy Support: Optional proxy configuration for enterprise environments.
  • OAuth 2.0: Authorization code flow with automatic token refresh.
Project Parameters
  • Basic Information: Name, description, code, active status.
  • Location Data: Address, city, state, country, ZIP, latitude, longitude.
  • Date Management: Start date, completion date, warranty dates, override dates.
  • Financial Data: Total value, estimated value, square feet.
  • Organizational Data: Company ID, office ID, department IDs, project stage.
  • Advanced Fields: Project type, bid type, owner type, region, template.
  • Custom Fields: Origin data, flags, public notes, locale, timezone.

Installation

Maven Dependency
<dependency>
 <groupId>com.procore.integrations</groupId>
 <artifactId>procore</artifactId>
 <version>1.0.0</version>
 <classifier>mule-plugin</classifier>
</dependency>
Configuration Example
<procore:config name="Procore_Config">
 <procore:connection>
 <procore:oauth-authorization-code
 consumerKey="${oauth.client.id}"
 consumerSecret="${oauth.client.secret}"/>
 <procore:oauth-callback-config
 listenerConfig="HTTP_Listener_config"
 callbackPath="/mule/callback"
 authorizePath="/authorize-procore"
 externalCallbackUrl="http://localhost:8081/mule/callback" />
 </procore:connection>
</procore:config>

Usage Examples

Create Project Example
<procore:create-project
 config-ref="Procore_Config"
 companyId="#[payload.company_id]"
 name="#[payload.name]"
 address="#[payload.address]"
 city="#[payload.city]"
 stateCode="#[payload.state_code]"
 countryCode="#[payload.country_code]"
 zip="#[payload.zip]"
 description="#[payload.description]"
 startDate="#[payload.start_date]"
 completionDate="#[payload.completion_date]"
 totalValue="#[payload.total_value]"
 enableCopyOfStandardCostCodes="#[payload.enable_copy_of_standard_cost_codes]"/>
Update Project Example
<procore:update-project
 config-ref="Procore_Config"
 companyId="#[payload.company_id]"
 projectId="#[payload.project_id]"
 name="#[payload.name]"
 address="#[payload.address]"
 city="#[payload.city]"
 description="#[payload.description]"
 totalValue="#[payload.total_value]"
 county="#[payload.county]"
 fax="#[payload.fax]"
 standardCostCodeListId="#[payload.standard_cost_code_list_id]"/>

Error Handling

Error Types
  • Authentication Errors: OAuth token validation and refresh failures.
  • API Errors: Procore API response errors with detailed error messages.
  • Validation Errors: Parameter validation and business rule violations.
  • Connection Errors: Network connectivity and timeout issues.
  • Unexpected Errors: General exception handling with contextual information.

Testing

Unit Tests
  • Comprehensive unit test coverage for all operations.
  • Mock-based testing for external dependencies.
  • Parameter validation testing.
  • Error handling scenario testing.
Integration Tests
  • End-to-end testing with Procore API. 
  • OAuth flow testing.
  • Real project creation and update scenarios.
  • Performance and load testing.
Test Coverage
  • Code Coverage: Minimum 80% instruction coverage.
  • Test Scenarios: Create and update project operations.
  • Error Scenarios: Authentication, validation, and API errors.
  • Edge Cases: Optional parameters, null values, boundary conditions.

Documentation

Available Documentation
  • README.md: Quick start guide and feature overview.
  • API Documentation: Detailed operation documentation.
  • Configuration Guide: Connection and parameter configuration.
  • Examples: Sample implementations and use cases.
  • Error Handling: Error types and troubleshooting guide.
Additional Resources
  • Demo Project: Complete working example in demo/ directory.
  • Test Suite: Comprehensive test examples in src/test/.
  • Configuration Templates: Pre-configured templates for common scenarios.

Known Issues and Limitations

Current Limitations
  • Single Company Context: Operations require an explicit company ID parameter.
  • Project Operations Only: Limited to project creation and updates.
  • Synchronous Operations: All operations are synchronous.
  • Batch Operations: No support for batch project operations.
Known Issues
  • None reported in this release.
From Previous Versions
  • This is the initial release (1.0.0).
  • No migration required from previous versions.

Support and Maintenance

Support Information
  • Maintainer: Team Strategic Integrations.
  • Issue Tracking: ESI (Enterprise Strategic Integrations).
  • Documentation: Available in the project repository.
  • Community: Procore Enterprise Slack channel.
Maintenance Schedule
  • Security Updates: As needed for critical vulnerabilities.
  • Feature Updates: Quarterly release cycle.
  • Bug Fixes: Monthly patch releases.
  • Documentation Updates: Continuous improvement.

Changelog

Version 1.0.0 (Current Release)
  • Initial Release: First public release of Procore Connector.
  • OAuth 2.0 Authentication: Secure authentication with Procore API.
  • Create Project Operation: Complete project creation functionality.
  • Update Project Operation: Full project update capabilities.
  • Comprehensive Error Handling: Robust error management and logging.
  • Company-Specific Operations: Support for multi-company environments.
  • Advanced Project Features: Support for all major project parameters.
  • Documentation and Examples: Complete documentation and demo project.
  • Test Coverage: Comprehensive unit and integration tests.

Contributing

Development Guidelines
  • Follow MuleSoft development best practices.
  • Maintain 80% minimum code coverage.
  • Include comprehensive error handling.
  • Provide detailed documentation for new features.
  • Follow established naming conventions and code structure.
Testing Requirements
  • Unit tests for all new operations.
  • Integration tests for API interactions.
  • Error scenario testing.
  • Performance testing for new features.
 Note
For additional support, questions, or feature requests, reach out to the Team Strategic Integrations through the Procore Enterprise Slack channel or create an issue in the ESI project tracking system.