Setting Up IPQualityScore Proxy Detection Webhook
Send the caller's visitor IP to IPQualityScore to detect proxies, VPNs and Tor, then store the result as tags for routing and filtering.
Updated 3 min read
Browse the knowledge base
On this page
What it does#
The IPQualityScore Proxy template sends the caller's visitor IP address to IPQualityScore and returns a fraud and reputation result: whether the IP is a proxy, VPN or Tor exit, plus a fraud score and related risk fields. You can store those results on the call as custom tags and use them in tag filters.
It is one of five Data Collection templates (GoHighLevel, IPQualityScore Phone Number, IPQualityScore Proxy, Searchbug, Trestle). For phone number validation use IPQualityScore Phone Number instead.
Prerequisites#
- An active IPQualityScore account with an API key and available IP reputation credits. IPQualityScore bills its own lookups; CallGrid does not.
- The custom tags you want to write results into, created first under Integrations > Tags. Tag names are case sensitive.
Set up the webhook#


- Go to Integrations > Webhooks and click New Webhook.
- Enter a Name ("Enter a descriptive name for your webhook").
- Choose the Event that triggers it. For fraud screening this is normally Call Inbound. The 13 events are Call Inbound, Call Initiated, Call Ended, Call Error, Call Answered, Call Billable, Call Paid, Call Converted, Insights Completed, Transcription Completed, Recording Completed, Bid Received and Postback Received.
- Set Template Mode to Data Collection (5) and pick IPQualityScore Proxy.
- In the request editor, enter your IPQualityScore API key where the template asks for it.
- Optionally set Timeout ("Configure the timeout for the webhook request").
- Click Save Webhook.
- Attach it: open the campaign, go to the General tab and add the webhook under Webhooks. A webhook fires only on campaigns it is attached to.
Filtering, testing and value extraction#



- Tag filters limit which calls trigger the lookup, which saves IPQualityScore credits. Groups combine with AND or OR (click the operator badge to toggle). Tags that cannot exist yet at the chosen event are hidden from the dropdown; for Call Inbound that means no buyer, destination or post-routing tags.
- Testing: open the saved webhook, enter test values (a real IP address for the visitor IP variable) under Webhook Testing, click Run Webhook, and review the response.
- Value extraction: after a test, map response properties such as
fraud_score,proxy,vpn,torandabuse_velocityto your custom tags. Any event webhook can write tags back to the call through Value Extraction. Tags extracted at Call Inbound are merged before routing, so routing tag filters can use them on the same call.
Behavior to know#
- Webhook authentication to third parties is whatever the request carries (API key in the query string or a header). CallGrid does not sign webhooks with HMAC.
- CallGrid does not retry a failed webhook. A timeout or error simply leaves the result tags empty, so routing rules that depend on them should treat an empty value sensibly.
- Use Static IP for requests sends the request from 3.232.249.88 and 54.160.65.103, for endpoints that allowlist IPs. IPQualityScore does not normally require it.
Best practices#
- Filter the webhook so trusted or already-screened traffic does not spend credits.
- Extract only the fields you will actually filter or report on.
- Test with several IP types (residential, known VPN, datacenter) before relying on the result for routing or blocking.
- Monitor credit consumption in your IPQualityScore dashboard.
Troubleshooting#
Symptom | Check |
|---|---|
Result tags always empty | Webhook attached on the campaign General tab; calls actually carry a visitor IP; tag filters not excluding everything |
Error response from IPQualityScore | API key active, credits available, proxy detection enabled on the IPQualityScore account |
Intermittent empty results | Timeout too short for the provider response time; no retries are made |
Error codes | IPQualityScore's own API documentation |
Do it with AI#
Ask Griddy, Claude or ChatGPT. Try: "Show me the IPQualityScore Proxy webhook response on my most recent call." Claude and ChatGPT need the CallGrid connector turned on (setup guides for Claude and ChatGPT).
The connector is read only. It looks things up and reads your data. You make the changes in CallGrid.
Was this article helpful?
Related articles
- Setting Up Searchbug Phone Number Validation WebhookThe Searchbug integration validates phone numbers in real-time, identifying line types, carriers, connection status, and DNC/TCPA compliance info.
- CallGrid MCP: Connect to ChatGPTAsk ChatGPT about your CallGrid account in plain English. Connect the CallGrid app once, then pull campaigns, buyers, numbers and more.
- CallGrid MCP: Connect to Claude (Desktop)Connect Claude to your CallGrid account with the hosted MCP server: turn on MCP access, add the connector, sign in once, and start asking about your calls.