Skip to main content


Current Support

We currently support webhooks for HubSpot, Pipedrive, Procore, and QuickBooks Online.

To request other Source Systems, let us know at

API Endpoint

To learn more about requests that are supported, see Webhooks.

Request Header

As with other API requests, you need to include an API-Version, Client-Id, Client-Secret, and Account-Token. If you are creating a Project-level webhook, you will need to include Project-Id as well. To learn more, see Headers.

Body Parameters

callback_urlStringThe URL to send events to.
You can generate a callback URL from for testing and change it to your own server's endpoint to receive events.
authorization_headerStringIf provided, all webhooks POST requests delivered by Agave will contain this Authorization information in the request header"Bearer 9tk5GuTqqcOt7P0spZ7fJZoN8eqtYx" or "Basic S3CRET!" or emptyOptional
eventStringThe event to subscribe to."CREATE", "UPDATE", or "DELETE"Required
typeStringThe type of data to subscribe to."file", "folder", "rfi", "submittal", "vendor", etc.Required

Example Request

curl --request POST \
--header 'API-Version: 2021-11-21' \
--header 'Client-Id: your_client_id' \
--header 'Client-Secret: your_client_secret' \
--header 'Account-Token: procore_account_token' \
--header 'Include-Source-Data: true' \
--header 'Project-Id: your_optional_project_id' \
--header 'Content-Type: application/json' \
--data-raw '{
"callback_url": "",
"authorization_header": "Bearer 9tk5GuTqqcOt7P0spZ7fJZoN8eqtYx"
"event": "CREATE",
"type": "file"


Body Parameters

source_idStringThe ID of the event in the Source System.
callback_urlStringThe URL you specified in the request to send events to.
eventStringThe event you specified in the request to subscribe to.
project_idStringThe UUID of the Project assigned by Agave. This is only present for Project-level events.
targetStringThe ID that you can use to tie events back to what's in your system. This includes the webhook event type (e.g. "file"), followed by either the Agave-generated UUID for a specific data object or a "*" for all data objects for the requested type.
typeStringThe type of data you specified in the request to subscribe to.

Example Response

"id": "8c6309d7-4d44-517b-a5e0-42ff993d7b08",
"source_id": "198402",
"callback_url": "",
"event": "CREATE",
"project_id": "your_optional_project_id",
"target": "file:*",
"type": "file"

Example Webhook Event

This is an example webhook event that Agave will asynchronously send to your registered callback endpoint. Note that the project_id and target fields have been converted to Agave UUIDs.

If you provided an authorization_header header when creating the webhook, all events delivered by Agave will include it as the Authorization header.

"id": "117720fc-564e-55c8-8e80-8b4b908eb382",
"source_id": "14102824",
"callback_url": "",
"event": "CREATE",
"project_id": "503e77ad-4fd4-5595-909f-a78f78283e25",
"target": "2a7424aa-95c0-5d1e-8fa1-3a2d84b2774d",
"type": "vendor",
"source_data": {
"path": null,
"content_type": "application/json",
"data": {
"user_id": 8427555,
"ulid": "01GS489MVR50JM2C5PR2PX6FS2",
"timestamp": "2023-02-13T02:05:09.693059Z",
"resource_name": "Project Vendors",
"resource_id": 562949960304878,
"project_id": 562949953695377,
"metadata": {
"source_user_id": 8427555,
"source_project_id": 562949953695377,
"source_operation_id": null,
"source_company_id": 562949953442223,
"source_application_id": "d2d41975afd2f1505efd1c4c331c91d45e4967e38fe75368c2ae78498c3030ea"
"id": 7993510342,
"event_type": "create",
"company_id": 562949953442223,
"api_version": "v2"