Create A Project
create_a_projectCreate a project in Procore for resource planning. Submit company ID, name, status, and group IDs to get a new project UUID.
Instructions
Create a Project for a given company ID. When a Project is successfully created, you will be returned the new Project UUID. Use this to create a new Resource Planning records in Procore. Creates a new Resource Planning records and returns the created object on success (HTTP 201). Required parameters: company_id, name, status, group_ids. Procore API: Resource Management > Resource Planning. Endpoint: POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| company_id | Yes | URL path parameter — unique identifier for the company. This parameter accepts both formats: - **Recommended**: Procore company ID (integer) - Use this for new integrations - Legacy: LaborChart UUID format (uuid string... | |
| name | Yes | JSON request body field — the name of the Project. | |
| status | Yes | JSON request body field — controls Project visibility and filtering. `active` - Project is currently in progress. `pending` - Project is planned but not started. `inactive` - Project is no longer active. | |
| group_ids | Yes | JSON request body field — uUID references to the Groups this Project should be available to. | |
| start_date | No | JSON request body field — project's start date. Required if `status` is `active`. | |
| timezone | No | JSON request body field — the timezone to use for scheduling outbound messages for the Project. If not provided, the Group timezone will be used. | |
| color | No | JSON request body field — hexadecimal color code for the Project. Helps with categorization and visual distinction. | |
| daily_start_time | No | JSON request body field — default time the Project's workday begins. Must follow `HH:MM am/pm` format. Allowed increments: 15 minutes. | |
| daily_end_time | No | JSON request body field — default time the Project's workday ends. Must follow `HH:MM am/pm` format. Allowed increments: 15 minutes. | |
| project_number | No | JSON request body field — a unique identifier for the Project. | |
| est_end_date | No | JSON request body field — estimated end date for the Project. | |
| closed_date | No | JSON request body field — if loading already closed jobs for historical tracking, this field can be populated. | |
| address_1 | No | JSON request body field — first part of the Project's address. | |
| address_2 | No | JSON request body field — second part of the Project's address (e.g., Apartment, Suite, Unit). | |
| city_town | No | JSON request body field — the City/Town for the Project. | |
| state_province | No | JSON request body field — the State/Province for the Project. | |
| zipcode | No | JSON request body field — the Zip/Postal Code for the Project. | |
| country | No | JSON request body field — the Country for the Project. | |
| bid_rate | No | JSON request body field — the bid rate for the Project. | |
| percent_complete | No | JSON request body field — the percentage of the Project that is complete. | |
| customer_name | No | JSON request body field — name of the customer associated with the Project. | |
| project_type | No | JSON request body field — any categorical classifier you use internally to label your Projects. | |
| tag_instances | No | JSON request body field — tags can be used as categorical labels or to define requirements for people assigned to the Project. | |
| categories | No | JSON request body field — categories define buckets for resource assignments. Each Category can have nested Subcategories. | |
| wage_overrides | No | JSON request body field — sets an hourly wage rate for specific Job Titles on this Project. | |
| roles | No | JSON request body field — assigns specific People to Roles on the Project. Useful for defining responsibilities and for notifications. |