Create Object

Create a new object in your Procore account.

This action can be used to execute most Procore API calls that use an HTTP POST request and take a single object (rather than an array of objects) as input. Please refer to the Procore API Reference to find such APIs; most of them begin with the word "Create". Here are just a handful of Procore APIs that you can invoke with this action:

Inputs

KeyValue
apiPathRequiredThe Procore API endpoint that you wish to invoke, without the "vapid" prefix. Please refer to the Procore Actions overview for more on the apiPath input, which is required for all Procore Actions.
field_<fieldname>Required (at least one)The value you want to place in the fieldname field of the Procore object you are creating. fieldname must be a valid field for the object type. Refer to the Body Parameters section of your chosen API documentation for a list of valid field names.
fieldType_<fieldname>OptionalThe data type of the field called fieldname. The accepted values are date, datetime, boolean, text, number, and integer. Specifying this for a field will format the value in field_<fieldname> in a way that Procore will accept. This is only necessary for date and boolean fields; it can be skipped for other field types.

Refer to the Body Parameters section of your Procore API's documentation to determine the correct field type for a given field.
timeZoneOptionalThe time zone for the date or datetime fields you specify. Procore will use this information to convert these fields to the time zone of your Procore Project. By default, UTC time is assumed. See the Zone ID column here for a list of accepted values for the timeZone input.

This input is unnecessary if you don't specify any date or datetime fields.

Outputs

KeyValue
idThe ID of the newly created object in your Procore account. This can be useful for referencing the object in a Lookup Object or Query workflow step, or can be stored to a DataSource for future use.

Usage Example

Suppose you want to create a new Incident in Procore based on data from a completed Incident form in GoFormz. To do this, you might start with a Form Completed trigger, then configure a Create Object step as follows:

KeyValue
apiPath/projects/#{trigger.ProjectId}/incidents
field_incident.title#{trigger.formName}
field_incident.description#{trigger.[SUMMARY OF INCIDENT]}
field_incident.hazard_id#{trigger.hazard_id}
field_incident.location_id#{trigger.project_location_id}
field_incident.event_date#{trigger.[Date of Incident]}
fieldType_incident.event_datedatetime
timeZoneAmerica/Tijuana

In this example, we first construct the apiPath as described in Procore's Create Incident API documentation, using the "ProjectId" field from the completed form to fill in the required project_id path parameter. Then we fill the title, description, hazard_id, location_id and event_date fields of the Procore Incident with corresponding values from the completed form. Note that all of these parameters can be found in the Body Parameters section of the Create Incident API documentation. Finally, for the event_date input we specify:

  • the datetime type, to make sure that the event date and time are properly formatted when they are written to Procore, and
  • the America/Tijuana time zone, telling Procore that the event happened in the US Pacific time zone.