How it works

Install once. Screen forever.

TPSClear drops into your CRM, or your codebase. Pick the native integration for HubSpot, Salesforce, Dynamics 365, Pipedrive, Zoho, or Capsule. Or call the API directly from anywhere. Configure once, then every phone number gets a UK TPS and CTPS verdict written back, in real time.

  1. 1. Connect

    Install the marketplace app for your CRM, or generate an API key for any other system. The native apps request the scopes they need (contacts, companies, leads, accounts, plus the automation surface) and create the tps_status property and supporting fields on the right objects. The API route works the same way: send us a number, get a verdict.

  2. 2. Configure

    Pick which phone fields to screen, how often, and how you want the verdict to behave. Single combined status or separate TPS and CTPS verdicts. Hide listed numbers from your reps, or just flag them for review. Daily backfill on or off. UK-only or handle international numbers as out-of-scope. Save once.

  3. 3. Run

    Real-time on change: when a phone number is added or modified, TPSClear catches the webhook, normalises the number, queries the TPS and CTPS registers, and writes the verdict back to the record. A daily backfill sweeps anything missed. Where the CRM supports it, a native workflow action lets you trigger screening explicitly inside any automation.

Architecture in one diagram

The whole loop, end to end. Same shape for every integration. Whichever CRM you use, or whether you call the API directly, the flow between TPSClear and the UK TPS/CTPS data sources is the same.

Your CRMHubSpot, Salesforce,Dynamics 365, Pipedrive,Zoho, Capsule, or APITPSClearnormalise, lookup,cache, write backTPS registerCTPS registerwebhook / APItps_status write-back

The verdicts

TPSClear writes one of four values to tps_status on the record:

  • Unknown. No phone number, or not yet screened.
  • Clean. Number is valid UK and not on TPS or CTPS.
  • TPS-listed. Number sits on the personal TPS register. Unsolicited marketing calls are unlawful unless the contact has given specific consent.
  • CTPS-listed. Number sits on the corporate CTPS register. Same rules apply for B2B unsolicited calls.

Need raw fields for reporting? You also get tps_listed, ctps_listed, and tps_screened_at as separate properties on every integration.

What works on which CRM

Every integration ships with the same screening engine and the same verdicts. The differences are in how each CRM lets us hook into record changes and automation.

CRMReal-time re-screenDaily backfillNative automationAuto-create fieldsMarketplace
HubSpotYes (webhook)Yes (daily)Yes (workflow action)YesLive
SalesforceYes (Flow / Apex trigger)Yes (Bulk API)Yes (Flow action)Yes (managed package)Building
Dynamics 365Yes (Power Automate)Yes (daily)Yes (Power Automate action)Yes (solution package)Building
PipedriveYes (webhook)Yes (daily)Via Pipedrive AutomationsYesBuilding
Zoho CRMYes (workflow rule)Yes (daily)Yes (Deluge custom function)YesBuilding
CapsuleYes (webhook)Yes (daily)Via APIYesBuilding
Direct APIYou call us on changeYou schedule the sweepUp to youNot applicableAPI only

Or just use the API

If your CRM is not on the list, or you want to screen numbers from a custom system, a call centre dialler, a marketing automation tool, or a data warehouse, the TPSClear API does the same job in one HTTPS call.

curl -X POST https://api.tpsclear.co.uk/v1/screen \
  -H "Authorization: Bearer $TPSCLEAR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phone": "+447515128256"}'

# response
{
  "phone_e164": "+447515128256",
  "tps_listed": false,
  "ctps_listed": false,
  "status": "clean",
  "screened_at": "2026-05-08T09:00:00Z"
}

Bulk endpoint, webhooks for re-screen events, and rate limits are all documented on the developer page.

Read the API docs

Ready to try it?

Pick your CRM, or get an API key.

Try it on your CRM Or get API access