npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-procore

v1.0.0

Published

A comprehensive n8n community node for Procore construction management platform providing 20 resources and 100+ operations for complete project lifecycle management.

Readme

n8n-nodes-procore

[Velocity BPA Licensing Notice]

This n8n node is licensed under the Business Source License 1.1 (BSL 1.1).

Use of this node by for-profit organizations in production environments requires a commercial license from Velocity BPA.

For licensing information, visit https://velobpa.com/licensing or contact [email protected].

A comprehensive n8n community node for Procore, the leading cloud-based construction management platform. This node provides full integration with Procore's REST API v1.0, enabling automation of construction project workflows across 20 resources with 100+ operations.

n8n Version License

Features

  • Complete Construction Management - Access to projects, RFIs, submittals, punch lists, and more
  • Financial Management - Budgets, contracts, change orders, and invoices
  • Document Control - Documents, drawings, and photos with file upload support
  • Field Management - Daily logs, inspections, observations, and meetings
  • Team Collaboration - Directory management and correspondence
  • Webhook Triggers - Real-time event notifications for 11 event types
  • OAuth 2.0 Authentication - Secure authentication with token refresh
  • Sandbox Support - Development and testing environment support

Installation

Community Nodes (Recommended)

  1. Open n8n
  2. Go to Settings > Community Nodes
  3. Select Install
  4. Enter n8n-nodes-procore
  5. Select Install

Manual Installation

# Navigate to n8n installation directory
cd ~/.n8n

# Install the package
npm install n8n-nodes-procore

Development Installation

# 1. Extract the zip file
unzip n8n-nodes-procore.zip
cd n8n-nodes-procore

# 2. Install dependencies
npm install

# 3. Build the project
npm run build

# 4. Create symlink to n8n custom nodes directory
# For Linux/macOS:
mkdir -p ~/.n8n/custom
ln -s $(pwd) ~/.n8n/custom/n8n-nodes-procore

# For Windows (run as Administrator):
# mklink /D %USERPROFILE%\.n8n\custom\n8n-nodes-procore %CD%

# 5. Restart n8n
n8n start

Credentials Setup

OAuth 2.0 Configuration

  1. Go to Procore Developer Portal
  2. Create a new application or use an existing one
  3. Note your Client ID and Client Secret
  4. Set your redirect URI to your n8n webhook URL

| Parameter | Description | |-----------|-------------| | Client ID | OAuth 2.0 client identifier from Procore | | Client Secret | OAuth 2.0 client secret from Procore | | Environment | production or sandbox |

OAuth URLs

| Environment | Authorization URL | Token URL | |-------------|------------------|-----------| | Production | https://login.procore.com/oauth/authorize | https://login.procore.com/oauth/token | | Sandbox | https://login-sandbox.procore.com/oauth/authorize | https://login-sandbox.procore.com/oauth/token |

Resources & Operations

Companies

  • List Companies - Get all companies
  • Get Company - Get company by ID
  • Update Company - Update company info
  • Get Company Users - List company users
  • Get Company Vendors - List vendors

Projects

  • List Projects - Get projects with filters
  • Get Project - Get project by ID
  • Create Project - Create new project
  • Update Project - Update project details
  • Get Project Users - List project team
  • Add Project User - Add user to project
  • Remove Project User - Remove user
  • Get Project Stages - List stages
  • Get Project Roles - List roles

Jobs (Work)

  • List Jobs - Get work breakdown
  • Get Job - Get job by ID
  • Create Job - Create job
  • Update Job - Update job
  • Get Job Costs - Job cost data
  • Get Job Budget - Job budget data

RFIs (Requests for Information)

  • List RFIs - Get all RFIs with filters
  • Get RFI - Get RFI by ID
  • Create RFI - Create new RFI
  • Update RFI - Update RFI
  • Delete RFI - Delete RFI
  • Get RFI Responses - List responses
  • Add RFI Response - Add response

Submittals

  • List Submittals - Get all submittals
  • Get Submittal - Get by ID
  • Create Submittal - Create submittal
  • Update Submittal - Update submittal
  • Get Approvers - List approvers
  • Submit for Approval - Submit submittal

Documents

  • List Documents - Get documents
  • Get Document - Get by ID
  • Upload Document - Upload file
  • Update Document - Update metadata
  • Delete Document - Delete document
  • List Folders - Get folders
  • Create Folder - Create folder
  • Download Document - Download file

Drawings

  • List Drawings - Get all drawings
  • Get Drawing - Get by ID
  • Upload Drawing - Upload drawing
  • List Drawing Areas - Get areas
  • List Revisions - Get revisions

Photos

  • List Photos - Get all photos
  • Get Photo - Get by ID
  • Upload Photo - Upload photo
  • Delete Photo - Delete photo
  • List Albums - Get photo albums
  • Create Album - Create album

Punch List

  • List Punch Items - Get items
  • Get Punch Item - Get by ID
  • Create Punch Item - Create item
  • Update Punch Item - Update item
  • Delete Punch Item - Delete item
  • Assign Punch Item - Assign to user
  • Close Punch Item - Mark closed

Observations (Safety)

  • List Observations - Get all
  • Get Observation - Get by ID
  • Create Observation - Create new
  • Update Observation - Update
  • Get Types - List observation types

Inspections

  • List Inspections - Get all
  • Get Inspection - Get by ID
  • Create Inspection - Create new
  • Update Inspection - Update
  • Get Checklists - List checklists
  • Create Checklist - Create checklist

Daily Logs

  • List Daily Logs - Get logs
  • Get Daily Log - Get by ID
  • Create Daily Log - Create log
  • Update Daily Log - Update log
  • Get Weather Logs - Weather data
  • Get Manpower Logs - Manpower data

Meetings

  • List Meetings - Get all meetings
  • Get Meeting - Get by ID
  • Create Meeting - Create meeting
  • Update Meeting - Update meeting
  • Get Agenda - Get meeting agenda
  • Get Minutes - Get meeting minutes
  • Get Attendees - List attendees

Budgets

  • Get Budget - Get project budget
  • Get Budget Line Items - Line items
  • Create Budget Line Item - Create item
  • Update Budget Line Item - Update item
  • Get Budget Changes - List changes

Contracts

  • List Contracts - Get all contracts
  • Get Contract - Get by ID
  • Create Contract - Create contract
  • Update Contract - Update contract
  • Get Line Items - Contract items
  • Get Payments - Contract payments

Change Orders

  • List Change Orders - Get all
  • Get Change Order - Get by ID
  • Create Change Order - Create new
  • Update Change Order - Update
  • Approve Change Order - Approve

Invoices

  • List Invoices - Get all invoices
  • Get Invoice - Get by ID
  • Create Invoice - Create invoice
  • Update Invoice - Update invoice
  • Submit Invoice - Submit for approval
  • Approve Invoice - Approve invoice

Schedule

  • Get Schedule - Get project schedule
  • List Tasks - Get schedule tasks
  • Get Task - Get task by ID
  • Update Task - Update task
  • List Milestones - Get milestones

Directory (Contacts)

  • List Contacts - Get all contacts
  • Get Contact - Get by ID
  • Create Contact - Create contact
  • Update Contact - Update contact
  • Delete Contact - Delete contact

Correspondence

  • List Correspondence - Get all items
  • Get Correspondence - Get by ID
  • Create Correspondence - Create item
  • Update Correspondence - Update item

Trigger Node

The Procore Trigger node supports webhook-based event notifications:

| Event | Description | |-------|-------------| | projectCreated | New project created | | rfiCreated | New RFI created | | rfiUpdated | RFI updated | | submittalCreated | Submittal created | | documentUploaded | Document uploaded | | punchItemCreated | Punch item created | | punchItemClosed | Punch item closed | | changeOrderCreated | Change order created | | invoiceSubmitted | Invoice submitted | | inspectionCompleted | Inspection completed | | dailyLogCreated | Daily log created |

Usage Examples

List Projects with Filters

{
  "resource": "projects",
  "operation": "listProjects",
  "companyId": 123456,
  "filters": {
    "status": "active"
  }
}

Create an RFI

{
  "resource": "rfis",
  "operation": "createRfi",
  "companyId": 123456,
  "projectId": 789012,
  "subject": "Electrical conduit routing clarification",
  "question": "Please clarify the routing for electrical conduits in section B3.",
  "priority": "high",
  "additionalFields": {
    "due_date": "2024-02-01",
    "schedule_impact": true
  }
}

Upload a Document

{
  "resource": "documents",
  "operation": "uploadDocument",
  "companyId": 123456,
  "projectId": 789012,
  "name": "Architectural Plans Rev 2",
  "folderId": 456,
  "binaryPropertyName": "data"
}

Procore Concepts

| Concept | Description | |---------|-------------| | Company ID | Procore company identifier (required for all operations) | | Project ID | Project identifier (required for project-level resources) | | RFI | Request for Information - formal questions requiring answers | | Submittal | Document submission for approval (shop drawings, samples) | | Punch List | Deficiency items requiring completion | | Observation | Safety or quality observation record | | Daily Log | Daily field activity report | | Change Order | Contract modification request |

API Endpoints

| Environment | Base URL | |-------------|----------| | Production | https://api.procore.com/rest/v1.0/ | | Sandbox | https://sandbox.procore.com/rest/v1.0/ |

Error Handling

The node handles common Procore API errors:

| Error Code | Description | Resolution | |------------|-------------|------------| | 401 | Unauthorized | Check OAuth credentials | | 403 | Forbidden | Verify permissions | | 404 | Not Found | Check resource IDs | | 422 | Unprocessable | Validate input data | | 429 | Rate Limited | Reduce request frequency |

Security Best Practices

  1. Use OAuth 2.0 - Always use OAuth authentication
  2. Sandbox Testing - Test in sandbox before production
  3. Minimal Permissions - Request only needed scopes
  4. Secure Credentials - Never expose client secrets
  5. Token Refresh - Implement proper token refresh

Development

# Run linting
npm run lint

# Fix linting issues
npm run lint:fix

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Build the project
npm run build

# Development mode with watch
npm run dev

Author

Velocity BPA

Licensing

This n8n community node is licensed under the Business Source License 1.1.

Free Use

Permitted for personal, educational, research, and internal business use.

Commercial Use

Use of this node within any SaaS, PaaS, hosted platform, managed service, or paid automation offering requires a commercial license.

For licensing inquiries: [email protected]

See LICENSE, COMMERCIAL_LICENSE.md, and LICENSING_FAQ.md for details.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and linting
  5. Submit a pull request

Support

Acknowledgments

  • Procore for their comprehensive API
  • n8n for the workflow automation platform
  • The n8n community for contributions and feedback