From procore-pack
Procore core workflow b — construction management platform integration. Use when working with Procore API for project management, RFIs, or submittals. Trigger with phrases like "procore core workflow b", "procore-core-workflow-b".
npx claudepluginhub flight505/skill-forge --plugin procore-packThis skill is limited to using the following tools:
Build a submittal workflow: create submittals, assign reviewers, track approvals, and manage the review cycle.
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.
Build a submittal workflow: create submittals, assign reviewers, track approvals, and manage the review cycle.
procore-core-workflow-a (RFIs)submittal = requests.post(
f"{BASE}/projects/{project_id}/submittals",
headers={**headers, "Content-Type": "application/json"},
json={
"submittal": {
"title": "Concrete mix design — Foundation",
"specification_section": "03 30 00",
"description": "Concrete mix design for foundation pour, 4000 PSI.",
"received_from_id": 33333, # Subcontractor
"approver_id": 44444, # Project engineer
"due_date": "2026-04-20",
}
},
)
submittal_id = submittal.json()["id"]
print(f"Submittal #{submittal.json()['number']} created")
# Approve the submittal
requests.patch(
f"{BASE}/projects/{project_id}/submittals/{submittal_id}",
headers={**headers, "Content-Type": "application/json"},
json={"submittal": {"status_id": 2}}, # 2 = Approved
)
# Get all pending submittals
pending = requests.get(
f"{BASE}/projects/{project_id}/submittals",
headers=headers,
params={"filters[status_id]": 1}, # 1 = Open/Pending
)
for s in pending.json():
print(f" #{s['number']}: {s['title']} — Due: {s['due_date']}")
| Error | Cause | Solution |
|---|---|---|
422 Missing approver | Required field | Set approver_id |
403 Cannot approve | Not the approver | Only assigned approver can approve |
Handle events: procore-webhooks-events