Build Flows

Integrations · October 9, 2026 · 6 min read

Custom n8n Nodes for Procore, Autodesk, HCSS and Power BI

A walkthrough of the n8n nodes we built for Procore, Autodesk, HCSS and Power BI, the read-only Procore financials MCP server behind an AI agent, and the dashboard that traces every request.

By Charley Forey, founder of Build Flows

Video unavailable? Watch on YouTube or read the written breakdown.

Video walkthrough. Chapters and full transcript →

Construction teams already run on a handful of SaaS platforms: Procore for project management, Autodesk for design and model coordination, HCSS for estimating and field operations, and Power BI for reporting. The work that connects them (copying a budget change into a report, chasing a new RFI, refreshing a dataset after an import) usually lives in inboxes and spreadsheets. n8n is a good place to move that work, as long as the workflow layer can talk to construction systems properly.

This article walks through the custom n8n nodes we built for Procore, Autodesk, HCSS and Power BI, the read-only MCP server we put in front of Procore financials, and the dashboard we use to provision customers and trace every request. It follows the video walkthrough and adds the reasoning behind each choice.

Why build custom n8n nodes instead of using HTTP requests

n8n's generic HTTP Request node can call any REST API. For a one-off call, that's fine. For workflows a construction company depends on, it becomes a liability:

  • Every workflow re-implements the API. Each builder works out endpoints, paging, company and project IDs, and error handling on their own, and each one gets it slightly differently.
  • Authentication is copied around. OAuth tokens and client secrets end up in many places instead of one credential.
  • Changes break silently. When a vendor changes an endpoint, every hand-built call has to be found and fixed.
  • AI agents need clear tools. An agent given a vague HTTP tool will guess at URLs and parameters. An agent given a named action ("list projects", "get budget") with a defined input does far better.

A dedicated node packages the API once: named actions, a shared credential, consistent inputs and outputs, and triggers. Workflow builders pick an action from a list instead of reading API docs.

What the nodes cover

NodeWhat it doesTriggers
ProcoreActions mapped to the Procore API, so most things you can do in Procore can be done from a workflowChange events, budget changes, new RFIs and other record updates
AutodeskActions mapped to the Autodesk platform APIsProject creation
HCSSA first set of actions, still being built outNone shown yet
Power BIGateways, datasets, data sources, groups and workspaces, plus table, row and column changes on datasetsNone shown

Triggers matter as much as actions. A budget-change trigger means a workflow runs when the budget changes, not on a nightly schedule that may be hours late or run for nothing.

If you're starting with Procore, the Procore API integration guide covers authentication, company and project scoping, and paging in more depth.

The example workflow: Procore data into an AI agent

The workflow in the video shows the nodes working together:

  1. List companies and projects. The Procore node gathers every company and project the signed-in user has access to.
  2. Loop over projects. For each project, the workflow collects the data the report needs.
  3. Filter. For the demo, the workflow narrows to a single project to keep the run short. In production you would keep the loop or filter by a rule such as active projects only.
  4. Hand off to an AI agent. The agent receives the project data and has the nodes available as tools. You chat with it, and it pulls what it needs and writes the report you asked for.

The point is the order: reliable integration first, agent second. An agent is only as good as the data and tools under it. Our article on construction AI agents with MCP tools goes further into that pattern.

A read-only MCP server for Procore financials

Alongside the nodes, the video shows an MCP server for Procore that the n8n agent connects to. In the demo it runs locally over SSE, with authentication handled on the server side. The tools cover the Procore financials endpoints, and only the read requests: GET and list operations.

That restriction is deliberate. Most companies are not ready to let an AI change records in their project management system, and they shouldn't be asked to start there. A read-only first step still delivers value: the agent can gather data across projects and analyze it, and nobody has to worry about it editing a commitment or a budget line. Write access can come later, tool by tool, with approvals.

If you are new to MCP, start with what MCP is and why it matters for construction. For the n8n side specifically (the MCP Server Trigger, the MCP Client Tool and how to secure them), see our n8n MCP server tutorial. For the larger version of this problem, where a Procore MCP server has to route a very large number of operations, see routing Procore API tools through MCP.

Two layers of authentication

Each node carries two credentials:

  • The Procore credential. Standard OAuth with a client ID and client secret, so the node acts with the permissions of the connected Procore account.
  • A Build Flows API key. This confirms the customer is entitled to use that node, and it ties every request to a customer account.

Keeping the vendor credential and the entitlement key separate means a customer controls what the node can reach in Procore, while we control which nodes they can run. Least privilege applies to the Procore side too: connect with an account that has only the access the workflows need.

Provisioning and monitoring from one dashboard

The last part of the video is the management dashboard. From it we can:

  • Create a customer and issue their API key.
  • Deploy a dedicated n8n instance on a DigitalOcean droplet, with our nodes preinstalled, so the customer starts from a working environment.
  • See each customer's details: the nodes they have access to, their deployments, and how their workflows are performing.
  • Trace flow runs. Every run shows whether it succeeded, how many nodes it used and how many requests each node made. Failed requests show the input and the response.

Why request-level tracing is worth building early

Most workflow tools tell you that a run failed. Fewer tell you which API call failed, with what input, and what the vendor sent back. That detail is what lets us:

  • Spot API changes early. A run of failures on one endpoint usually means the vendor changed something, and we can update the node before more workflows break.
  • Debug without guessing. The failing request and its response are already recorded, so there is no need to reproduce the problem first.
  • Plan later AI work on real usage. The video names fine-tuning a model on a customer's data and retrieval (RAG) over it as possible next steps. Either one would start from this history of requests and responses, so it is captured from the start rather than retrofitted.

When n8n is the right layer, and when it isn't

n8n works well when:

  • the work is a clear sequence of steps across systems, triggered by an event or a schedule
  • the people maintaining it are comfortable in a visual workflow tool
  • you want to self-host, which n8n supports

Move to a dedicated service when:

Where to go next

Frequently asked questions

Does n8n have a Procore node?

n8n does not ship a built-in Procore node; teams use the generic HTTP Request node or community nodes. We built custom Procore nodes with actions mapped to the Procore API and triggers for events such as change events, budget changes and new RFIs.

Why use custom n8n nodes instead of the HTTP Request node?

A custom node implements the API once: named actions, one shared credential, consistent inputs and outputs, and triggers. HTTP Request calls have to re-implement endpoints, paging and auth in every workflow, and they break one by one when the vendor changes something.

Can an AI agent in n8n read Procore data?

Yes. In our example an n8n workflow collects Procore project data and hands it to an AI agent that uses the nodes and an MCP server as tools. We start with read-only tools, GET and list requests only, so the agent can analyze data without changing anything in Procore.

Should an AI agent be allowed to change records in Procore?

Not as a first step. Start with read-only access so the agent can gather and analyze data, then add write tools one at a time with approvals once the team trusts the results. Connect with a Procore account that has only the access the workflows need.

When should I use something other than n8n for construction integrations?

Use a data platform such as Microsoft Fabric when the work is a reporting pipeline with history and quality checks. Use a dedicated MCP server with a gateway when an agent needs a large tool catalog with per-user permissions and an audit trail.

Next step

Need this connection in your environment?

Scope one integration: the records, direction, timing, and business rules behind the connection.

Prefer email? charley@buildflows.ai

Keep learning