A webhook sends a POST request to your URL the moment something happens in your workspace, so your system does not have to poll. Webhooks are managed through the API only; there is no screen for them in the app. Full reference: Create Webhook.
Before you begin
- You need an API key from the app's API page.
- Your endpoint must be an
httpsURL on a public host. - Limits: up to 25 active webhooks per workspace.
- Credits: webhooks are free.
Events
person.saved | A person is saved in the workspace |
person.email_found | A saved person has a valid email your workspace owns: at the save, or later when the email is revealed |
company.saved | A company is saved in the workspace |
webhook.test | You send a test event |
Only events after the webhook is created are sent; nothing is replayed from before. Each body carries the event id, type, created_at and a data object with the person or company, saved_at and list_ids.
Steps
- Call
POST https://api.getprospect.com/v2/webhookswith yourx-api-key, your URL and the event types you want. - Store the
secretfrom the answer. It is shown only once. - Send a test event with Send Test Event and check that your endpoint answers with a 2xx status within 10 seconds.
- In your endpoint, verify the
X-GetProspect-Signatureheader before trusting a body. It holds a timestamp and an HMAC-SHA256 of the timestamp and the raw body, signed with your secret. The docs page has a code sample. - Use the event
idto skip duplicates. An event can arrive more than once.
What you get
- Retries. Timeouts, connection errors, 408, 429 and 5xx answers are retried after 1 minute, 5 minutes, 30 minutes, 2 hours, 6 hours and 24 hours. Redirects are not followed.
- Automatic disabling. A webhook is disabled when your URL answers 410, after 3 days of only failures, after 20 timeouts in a row, when the member who created it leaves the workspace, or when the API key that created it is deleted. The workspace admin gets a notification in the app when a delivery problem disables one.
- History. List Webhook Deliveries shows each attempt for 30 days.
FAQ
Can I set up webhooks in the app?
No. Use the API: list, update and delete them there too.
My webhook was disabled. How do I turn it back on?
Fix your endpoint, then call Update Webhook with status: active.
I want this without code.
Use the Zapier trigger New Saved Person instead.

