Trigger: Procore Event

Note: In order to use this trigger, you must connect GoFormz to your Procore account. See here for details.

This trigger fires when a notification from a connected Procore account comes in on a predefined GoFormz endpoint. It leverages Procore Project Webhooks as well as Procore Company Webhooks, making it flexible enough to be activated by a wide range of Procore events. These events include changes to many Procore resources (e.g. Incidents, Change Orders, Tasks, etc.), as well as creation/deletion of various Procore resources.

Inputs

Input

Value

Event Type

Required

This must be set to handleEvent. No other values are accepted at this time.

project_id

Optional

The ID of the Procore Project whose event you want to use as a trigger. If left unspecified, events from any project will serve as a trigger.

resource_name

Optional

The type of resource whose event you want to use as a trigger (e.g. Incident, Submittal, etc.). If left unspecified, events from any resource type will serve as a trigger.

event_type

Optional

The type of event that you want to use as a trigger. This can be one of three values: create, update or delete. If left unspecified, any event type will serve as a trigger.

In addition to the inputs detailed above, this trigger also contains a read-only webhook URL. This URL is used to configure the notification endpoint for the Procore webhook. See the Setup section below for details.

Outputs

The outputs of this trigger include everything that Procore sends on their webhook request. We go over the most useful outputs below. Please refer to Procore Webhook documentation for a complete list.

Output

Value

user_id

The ID of the Procore User that initiated the event.

company_id

The ID of the Procore Company in which the event occurred.

project_id

The ID of the Procore Project in which the event occurred.

resource_name

The type of resource in which the event occurred (e.g. Incident, Submittal, etc.).

resource_id

The ID of the specific resource in which the event occurred (e.g. the ID of the Incident).

event_type

The type of event that happened within the Resource specified by resource_id. This can be one of three values: create, update or delete.

timestamp

The UTC date and time when the event occurred.

Setup

In order to set up a Procore Event, you must first configure the Webhook on the Procore side. Procore lets you create webhooks at both the Company level and the Project level, and GoFormz supports both. The webhook scope you choose will depend on your specific use case.

  • To configure a webhook at the Company level, navigate to the Company Admin page, then click Webhooks in the Administrative Settings section on the right. See here for details.
  • To configure a webhook at the Project level, navigate to the Project Admin page, then click Webhooks in the Project Settings section on the right. See here for details.

This will open the Webhooks page, where you can configure your webhook's endpoint and triggers.

First, configure the endpoint by cut-and-pasting the Webhook URL from your GoFormz trigger into the Notification Endpoint field on the Webhooks page. This is the URL to which Procore will send a request when the webhook is triggered, alerting GoFormz to initiate the workflow.

Next, select the desired triggering event or events. In the example above, our webhook will fire when a new Incident is created.

Usage Notes

This trigger is typically used to dispatch a GoFormz form based on a Procore event. It can also be used to sync information from Procore to a GoFormz DataSource, or to update an existing form.

For instance, suppose you want to dispatch an Incident Form as soon as a new Incident is created in your Procore project, in order to collect additional information about the incident. Your project ID is 23498237. You would set up the webhook on the Procore side to be initiated by an incident creation, then create a GoFormz workflow using this Procore Event trigger with the following inputs:

Key

Value

Event Type

handleEvent

project_id

23498237

event_type

create

resource_name

Incident

Next, if you want to use Procore data to pre-fill some fields in your form, you can extract this data using the Query and Lookup Object actions. And finally you would use a Create Form action to create the form. Since the trigger returns all the relevant IDs, you should have all the necessary inputs for these actions. In our example, you might use the trigger's project_id and resource_id outputs to look up information about the incident that triggered the workflow, or leverage the company_id and user_id to look up information about the user that initiated the event.