Skip to content
Back to skills

Procore Install Auth

ASecurity

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".

  • 4 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 12, 2026
securitypythongobashapidocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add aibot88/sec_skill_store --skill procore-install-auth --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Procore Install Auth?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Procore Install Auth
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aibot88-procore-install-auth/badge)](https://www.skillsdirectory.com/skills/aibot88-procore-install-auth)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: procore-install-auth
description: |
  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".
allowed-tools: Read, Write, Edit, Bash(npm:*), Bash(pip:*), Bash(curl:*), Grep
version: 2.0.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
tags: [saas, procore, construction, project-management]
compatible-with: claude-code, codex, openclaw
---

# 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
```text
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
```bash
# .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
```python
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
| 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 |

## Resources
- [Procore OAuth Endpoints](https://developers.procore.com/documentation/oauth-endpoints)
- [Client Credentials](https://developers.procore.com/documentation/oauth-client-credentials)

## Next Steps
First API call: `procore-hello-world`

Files in this skill

  • SKILL.md2.6 KB
  • source.json772 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.