From procore-pack
Procore install auth — construction management platform integration. Use when working with Procore API for project management, RFIs, or submittals. Trigger with phrases like "procore install auth", "procore-install-auth".
npx claudepluginhub flight505/skill-forge --plugin procore-packThis skill is limited to using the following tools:
Set up Procore API authentication using OAuth2 client credentials flow. Procore uses OAuth2 with separate endpoints for production and sandbox.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Set up Procore API authentication using OAuth2 client credentials flow. Procore uses OAuth2 with separate endpoints for production and sandbox.
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
# .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
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']})")
| Error | Cause | Solution |
|---|---|---|
invalid_client | Wrong credentials | Verify in developer portal |
401 Unauthorized | Expired token | Re-authenticate |
| Sandbox vs production | Wrong base URL | Use login-sandbox-monthly.procore.com for sandbox |
First API call: procore-hello-world