From procore-pack
Lists Procore projects, creates RFIs with assignee, and lists submittals via Python requests to REST API. For construction management integrations after auth setup.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin procore-packThis skill is limited to using the following tools:
List companies and projects, then create your first RFI using the Procore REST API.
Provides Python patterns for Procore REST API integration with OAuth2 auth to handle construction project data, RFIs, and submittals.
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.
List companies and projects, then create your first RFI using the Procore REST API.
procore-install-auth with valid access tokencompany_id = 12345 # From install-auth step
projects = requests.get(
f"https://api.procore.com/rest/v1.0/projects?company_id={company_id}",
headers=headers,
)
for p in projects.json():
print(f"Project: {p['name']} (ID: {p['id']})")
project_id = 67890
rfi = requests.post(
f"https://api.procore.com/rest/v1.0/projects/{project_id}/rfis",
headers={**headers, "Content-Type": "application/json"},
json={
"rfi": {
"subject": "Structural beam specification clarification",
"question_body": "Please confirm the steel grade for beams on Level 3.",
"assignee_id": 11111, # User ID of the person to respond
}
},
)
rfi.raise_for_status()
print(f"RFI created: #{rfi.json()['number']} — {rfi.json()['subject']}")
submittals = requests.get(
f"https://api.procore.com/rest/v1.0/projects/{project_id}/submittals",
headers=headers,
)
for s in submittals.json():
print(f"Submittal #{s['number']}: {s['title']} — Status: {s['status']['name']}")
| Error | Cause | Solution |
|---|---|---|
404 Project not found | Wrong project_id | List projects first |
422 Missing subject | Required field | Include subject in RFI |
403 Forbidden | No project access | Check user permissions |
Full RFI workflow: procore-core-workflow-a