Prerequisites
- A Pubrio API key with monitor access
- A publicly accessible HTTPS endpoint (or a test URL from usewebhook.com)
Step 1: Create a Monitor with Webhook Destination
headers object adds custom HTTP headers to every delivery (useful for authentication). The body object adds custom fields to the root of the webhook payload.
Step 2: Validate Your Webhook Connection
Use the Validate Webhook endpoint to test that your endpoint is reachable. This sends a sample payload with placeholder data — no credits are consumed, no real signals are fetched.Step 3: Test with Real Data
Once the connection is validated, trigger a real run using the Process Try endpoint. This fetches actual signals and delivers them to your webhook — usetried_at with a recent past date to ensure data is available:
Unlike validate, the try endpoint runs a real scan and consumes credits. Use it to verify real payloads arrive correctly and to get a quick estimate of results before the scheduled scan kicks in.
Step 4: Verify Signatures
Each monitor has a unique signature for verifying that incoming payloads are genuinely from Pubrio.monitor.monitor_id in incoming payloads to verify authenticity.
Webhook Payload Structure
Payloads differ based on the monitor’sdetection_mode:
- Signal First
- Company First
In Each signal entry contains the signal details and the associated enriched companies and people.
signal_first mode, the payload contains a top-level signals array:Custom
body fields from destination_config appear at the root level of the payload (e.g., "pipeline": "my-webhook" when configured in your destination).Email Destination
For teams that prefer email delivery, setdestination_type to "email":
Pubrio supports white-label email delivery for agencies and teams. Get in touch to learn about customizing the sender domain and branding.
Troubleshooting
Webhook not receiving payloads
Webhook not receiving payloads
- Verify your endpoint is publicly accessible (not behind a firewall or VPN)
- Ensure it returns a
200status code — other codes are treated as failures - Use the Validate Webhook endpoint to test connectivity
- Check Statistic Logs for error messages and response codes
Monitor paused after failures
Monitor paused after failures
If your webhook returns non-200 codes consistently, the monitor pauses after reaching
max_failure_trigger consecutive failures. Fix the issue and reactivate via Update Monitor.Duplicate payloads
Duplicate payloads
If a delivery fails and retries are configured, you may receive the same payload multiple times. Use
triggered_at or the log ID to deduplicate on your end.Payload too large
Payload too large
Reduce
max_records_per_trigger to limit records per delivery. You can also narrow your filters to reduce matching signal volume.
