Webhooks: get notified when people are saved

Table of content

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 https URL on a public host.
  • Limits: up to 25 active webhooks per workspace.
  • Credits: webhooks are free.

Events

person.savedA person is saved in the workspace
person.email_foundA saved person has a valid email your workspace owns: at the save, or later when the email is revealed
company.savedA company is saved in the workspace
webhook.testYou 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

  1. Call POST https://api.getprospect.com/v2/webhooks with your x-api-key, your URL and the event types you want.
  2. Store the secret from the answer. It is shown only once.
  3. Send a test event with Send Test Event and check that your endpoint answers with a 2xx status within 10 seconds.
  4. In your endpoint, verify the X-GetProspect-Signature header 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.
  5. Use the event id to 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.

About author

Alona
Alona Shalieieva

Throughout the previous three years, I am occupied as a Customer Support Representative for the email finder platform GetProspect.com. As a tech-savvy, I am keen on assisting our users with solving any challenges. On top of that, I worked on my tech author skills, and I can be straightforward in explaining difficult topics.