PreStartGo doesn't (yet) publish official Zapier or Make marketplace apps. You don't need one — both platforms can trigger workflows off any HTTPS webhook, and PreStartGo's webhook system already delivers signed, retried event notifications for every event below. This guide walks through wiring either platform up as a webhook receiver.
A published marketplace app (OAuth install, pre-built triggers/actions) is not planned for now. The webhook route below works today with zero code on either side.
Every event PreStartGo emits can fire a Zapier Zap or Make scenario — compliance alerts in Slack, ticket creation in your CMMS, syncing completed checks into a spreadsheet, and similar. The current event catalogue:
| Event | Resource | Description |
|---|---|---|
check.completed | Check | A pre-start safety check was completed and synced from the mobile app. Payload includes the check outcome (PASS, PASS_WITH_DEFECTS, FAIL, INCOMPLETE). |
defect.reported | Defect | A defect was raised against a piece of equipment: by a person in the mobile app, the admin console or the API; for an item failed on a pre-start check, including the defect PreStartGo raises itself when the operator records none; or for a critical item failed on a service checklist. |
service.completed | Service | A maintenance service finished (status transitioned to COMPLETED). Useful for firing uptime-reporting or CMMS integrations. |
See the Webhooks guide for the full payload shape and
the * wildcard subscription.
You need an API key with the webhooks:write scope (webhooks:read too, if
you want to pull delivery history into your automation). API keys are
created by an Administrator or the Account Owner (org role MANAGER or
OWNER) from Developer → API Keys in the admin console —
see Authentication for scopes, key prefixes,
and rotation.
Create a Zap with the Webhooks by Zapier trigger, event Catch Hook. Zapier gives you a unique catch URL — copy it.
Register that URL as a PreStartGo webhook subscription:
curl -s -X POST https://api.prestartgo.com/api/v1/webhooks \
-H "Authorization: Bearer psg_live_..." \
-H "X-Org-Id: <uuid>" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"url": "https://hooks.zapier.com/hooks/catch/…/…/",
"events": ["defect.reported", "check.completed"],
"description": "Zapier integration"
}'
The response includes a secret — copy it now, it isn't shown again (see
Verifying signatures below).
Fire a sample delivery so Zapier can record the payload shape for the rest of the Zap:
curl -s -X POST https://api.prestartgo.com/api/v1/webhooks/<webhook-id>/test \
-H "Authorization: Bearer psg_live_..." \
-H "X-Org-Id: <uuid>" \
-H "Idempotency-Key: $(uuidgen)"
In Zapier, click Test trigger to pull in the sample payload, then build the rest of the Zap (filters, actions) against its fields.
POST /api/v1/webhooks with Make's
URL in url and the events you want in events.POST /api/v1/webhooks/<webhook-id>/test) to send a sample event so Make
can determine the payload's data structure for downstream modules.Both platforms deliver the raw request to your Zap/scenario without
verifying it came from PreStartGo. If your workflow acts on the payload
(rather than just logging it), verify the X-PSG-Signature header before
trusting the body — the scheme is documented in the
Webhooks guide's Signature verification section. In
Zapier or Make this typically means adding a Code / Custom function
step that recomputes the HMAC before your real actions run.
PreStartGo retries failed deliveries automatically — you don't need to
build retry logic into the Zap or scenario. See the
Webhooks guide's Delivery semantics section for the
retry schedule, at-least-once guarantees, and how to query delivery history
via GET /api/v1/webhooks/{id}/deliveries.