Configuring webhooks
Last updated: 2026-04-22
Webhooks let you connect TRUST+ to other tools your company uses — a CRM, a project management system, a custom workflow — by sending an HTTP POST to a URL you specify whenever something happens in TRUST+.
You configure webhooks per partner, and you choose exactly which events you want to receive.
Where to find webhook settings
- Sign in to the Partner Console.
- Go to your partner detail page (click Partners and open your company).
- Click the Settings tab.
- Scroll to Webhook Settings.
Setting up a webhook
- Enter your endpoint URL — this is the HTTPS URL on your server that will receive the webhook payloads.
- Select the events you want to subscribe to (see the list below).
- Save the configuration.
TRUST+ will start sending POST requests to your URL immediately for new events.
Available events
| Event | When it fires |
|---|---|
project.created | A new project is created |
project.updated | A project’s details are changed |
project.deleted | A project is deleted |
project.restored | A deleted project is restored |
media.added | Photos or videos are added to a project |
recording.added | An action-cam recording is added |
recording.reassigned | A recording is moved to a different visit |
visit.created | A new service visit is created |
visit.updated | A visit’s details change |
visit.completed | A visit is marked as completed |
visit.deleted | A visit is deleted |
visit.media.added | Media is added to a specific visit |
visit.recording.added | An action-cam recording is added to a visit |
visit.media.available | A media file is confirmed present in S3 and ready to download |
The visit.media.available event is particularly useful if you need to pull media into an external system — it fires only after the file is fully uploaded and accessible, not just when the metadata is recorded.
Webhook payload format
Each webhook is a JSON POST with a consistent structure:
{
"event": "visit.completed",
"partnerId": "...",
"projectId": "...",
"visitId": "...",
"timestamp": "2026-04-22T14:30:00Z"
}
The exact fields vary by event type. You can view example payloads for each event in the Partner Console — click the event name in the webhook settings screen to see the schema.
Request headers
Every webhook request includes:
X-TrustPlus-Event— the event name (e.g.,visit.completed)Content-Type: application/json
You can use the event header to route incoming requests if you’re using a single endpoint for multiple event types.
Security
Your endpoint should use HTTPS. We recommend verifying the X-TrustPlus-Event header and validating that requests come from our IP range if your system supports it. If you need a signing secret for additional verification, contact support.
Troubleshooting
If webhooks aren’t arriving:
- Confirm your endpoint URL is correct and publicly reachable.
- Check that your server returns a
2xxresponse — we consider non-2xx responses failed deliveries. - Make sure your server isn’t blocking the request (firewall, auth middleware, etc.).
If you need help diagnosing delivery issues, contact support with your partner ID and the event type you’re testing.