CallGrid

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#

New Webhook with the IPQualityScore Proxy template selected
  1. Go to Integrations > Webhooks and click New Webhook.
  2. Enter a Name ("Enter a descriptive name for your webhook").
  3. 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.
  4. Set Template Mode to Data Collection (5) and pick IPQualityScore Proxy.
  5. In the request editor, enter your IPQualityScore API key where the template asks for it.
  6. Optionally set Timeout ("Configure the timeout for the webhook request").
  7. Click Save Webhook.
  8. 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#

Webhook Tag Routing filter rule
  • 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, tor and abuse_velocity to 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?

Still stuck on a setup step?

Email support@callgrid.com with this article and where it stopped matching. A CallGrid specialist will help you get it working.