Claude-code-plugins-plus-skills procore-install-auth

install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/procore-pack/skills/procore-install-auth" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-procore-install-auth && rm -rf "$T"
manifest: plugins/saas-packs/procore-pack/skills/procore-install-auth/SKILL.md
source content

Procore Install Auth

Overview

Set up Procore API authentication using OAuth2 client credentials flow. Procore uses OAuth2 with separate endpoints for production and sandbox.

Prerequisites

  • Procore Developer account at developers.procore.com
  • App credentials (client_id, client_secret)
  • A Procore company to authorize against

Instructions

Step 1: Register Application

1. Go to developers.procore.com > My Apps > Create App
2. Set redirect URI: http://localhost:3000/callback
3. Copy client_id and client_secret

Step 2: Configure Environment

# .env
PROCORE_CLIENT_ID=your_client_id
PROCORE_CLIENT_SECRET=your_client_secret
PROCORE_BASE_URL=https://api.procore.com
# For sandbox: https://sandbox.procore.com

Step 3: Client Credentials Flow

import os, requests

token_resp = requests.post("https://login.procore.com/oauth/token", data={
    "grant_type": "client_credentials",
    "client_id": os.environ["PROCORE_CLIENT_ID"],
    "client_secret": os.environ["PROCORE_CLIENT_SECRET"],
})
token_resp.raise_for_status()
access_token = token_resp.json()["access_token"]

# Verify — list companies
headers = {"Authorization": f"Bearer {access_token}"}
companies = requests.get("https://api.procore.com/rest/v1.0/companies", headers=headers)
companies.raise_for_status()
for co in companies.json():
    print(f"Company: {co['name']} (ID: {co['id']})")

Output

  • OAuth2 tokens obtained via client credentials
  • API connectivity verified with company listing

Error Handling

ErrorCauseSolution
invalid_client
Wrong credentialsVerify in developer portal
401 Unauthorized
Expired tokenRe-authenticate
Sandbox vs productionWrong base URLUse login-sandbox-monthly.procore.com for sandbox

Resources

Next Steps

First API call:

procore-hello-world