ProsperWorks Webhooks

What Are Webhooks?


Webhooks are real-time notifications that are sent to a specified URL that describe a certain record related activity. The webhook notifies the receiving URL with a JSON response.

Customers who integrate business systems want to be able to capture events that take place in ProsperWorks in real time. These events within ProsperWorks can trigger events in other integrated systems.

When a record is created, changed or deleted in ProsperWorks, you can trigger a process in another system,  real-time after the initial change. For example, when a Person’s record is updated in ProsperWorks, the record for the same Person in a billing system is simultaneously updated.

The event in ProsperWorks triggers the event in the connected system quickly, to minimize the chance of data inconsistency and to ensure that all  required steps will be performed  efficiently.


How to Use Webhooks

**We only support sending webhooks to HTTPS endpoints

Webhook concepts


Register a URL that notifications will be sent to.


The object delivered by a webhook


The type of event that triggers a notification and the object it is related to

Subscription Types

Topics available for subscription

  • Create = a new record is created
  • Update = any field in the existing entity record is changed. Excludes: new entity relationships, new Activity or any change in meta data.
  • Delete = an existing record is removed


Subscribe to a notification


Method: POST

Url: API

Event options: { “new”, “update”, “delete” }

Type options: { “lead”, “project”, “task”, “opportunity”, “company”, “person” }

Optionally, you can include the in the request a custom secret in a key:value pair format. This data can be used to authenticate the request on the receiving endpoint.


**target URL must be https. To test this you can use or or Zapier:


Example request to get updates for people records


curl --request POST \
--header "Content-Type: application/json" \
--header "X-PW-AccessToken:YOURTOKEN" \
--header "X-PW-Application: developer_api" \
--header "X-PW-UserEmail:YOUREMAIL" \ \
--data '{"target":"","type": "person","event": "update","secret":{"key":"value"}}'


Example response



Unsubscribe from a notification


Method: DELETE



curl --request DELETE \
--header "Content-Type: application/json" \
--header "X-PW-AccessToken:TOKEN" \
--header "X-PW-Application: developer_api" \
--header "X-PW-UserEmail:EMAIL" \



Receive Notification


Our server sends the notifications as POST requests.

Url: <provided by user>

Notifications deliver the id's of the involved records as an array. An array may contain a single e.g. [17] or multiple ids e.g. [17,287,542] but it will always be an array format.

See the status of a specific notification


Method: GET



See the status of all active notifications


Method: GET



curl --request GET \
--header "Content-Type: application/json" \
--header "X-PW-AccessToken:TOKEN" \
--header "X-PW-Application: developer_api" \
--header "X-PW-UserEmail:EMAIL" \ 




Rate limits

The number of notifications sent are bound by the following limits. When a rate limit is exhausted, our system will stop sending notifications until the rate limit renews.

  • 600 notifications per minute per account
  • 1,800 notifications per account for every 10 minutes


Our server currently sends the notifications once, regardless of the results of the request. Please make sure the endpoint you specify is available as needed to receive notifications.

Was this article helpful?
1 out of 1 found this helpful
Have more questions? Submit a request


Article is closed for comments.