From procore-pack
Sets up OAuth2 client credentials authentication for Procore API. Guides app registration, env config, Python token fetch, and company listing verification for construction project integrations.
How this skill is triggered — by the user, by Claude, or both
Slash command
/procore-pack:procore-install-authThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Set up Procore API authentication using OAuth2 client credentials flow. Procore uses OAuth2 with separate endpoints for production and sandbox.
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
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin procore-packImplements Procore REST API integration in Python with OAuth2 authentication for construction project management, RFIs, and submittals.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.