Integrations · Make

Validate Phone Numbers via Make

Build a scenario that checks the phone number on every new Pipedrive person. Carrier, line type and ported status land on the person.

Your first $5 of validations are on us, valid for 30 days. No card required.

score.phone.validation.mnpHTTP · Make a requestPipedrive

What you'll build

TriggerPipedrive CRM Watch new events, person created
ActionHTTP Make a requestscore.phone.validation.mnp
FilterFilter Result came back
ActionPipedrive CRM Update a person

One run per new person. Five results and the time of the check land on the person.

Before You Start

01

A ScoreMachine account. Create your workspace with Start free. Your first $5 of validations are on us, valid for 30 days. No card required.

02

A long-lived API key. Ask your account manager for one. The key goes in the Token header of every request, where a login token would go. No key yet? The If You Have No API Key section logs in with your email and password.

03

A Make account. The HTTP app is built into Make, with nothing to install. Each module run uses Make credits from your plan.

04

Permission to add Pipedrive custom fields. Step 01 adds six fields to the person record.

Build It Step by Step

Six steps and three modules. The scenario runs every time Pipedrive creates a person.

01

Add the custom fields in Pipedrive

In Pipedrive's data fields settings, open Person and add these six custom fields. Text fields take the values as the response sends them.

Field nameField type
Phone validText
Line typeText
CarrierText
PortedText
Phone E.164Text
Phone checked atDate
02

Start the scenario with a new Pipedrive person

Create a scenario and add the Pipedrive CRM app. Pick Watch new events and set it to fire when a person is created.

AppPipedrive CRM
ModuleWatch new events

Click Run once, then add a person with a phone number in Pipedrive. Module 1 shows the new person.

03

Send the number to ScoreMachine

Add the HTTP app's Make a request module. Choose API key authentication and add a key with the values below. Make stores the key in its Keys section, outside the scenario.

URLhttps://api.scoremachine.ai
MethodPOST
Authentication typeAPI key
Key<your API key>
API key placementIn the header
API key parameter nameToken
HeadersAccept → application/json
Body content typeapplication/json
Body input methodJSON string
Body contentthe request body below
Parse responseYes
Timeout30
BODY CONTENT · score.phone.validation.mnp
{
  "jsonrpc": "2.0",
  "method": "score.phone.validation.mnp",
  "params": {
    "phones": ["PHONE"]
  },
  "id": 1
}

Replace PHONE with the person's phone value from module 1, picked in the mapping panel.

phones takes numbers in E.164 format, such as +447911123456. geo_iso_code is optional and takes a two-letter ISO country code.

Module 2's output holds Data, with result and phone_validation_mnp inside it.

04

Stop the run when no result came back

Click the link between modules 2 and 3 and set up a filter. A failed call returns error in place of result. The filter stops the run before it writes to Pipedrive.

LabelResult came back
ConditionData › result › phone · module 2
OperatorExists
05

Write the results back to the person

Add Pipedrive CRM's Update a person module as module 3. Map the person's ID from module 1, then each custom field from module 2.

ModuleUpdate a person
Person IDID · module 1
Phone validresult › valid · module 2
Line typeresult › phone_validation_mnp › line_type · module 2
Carrierresult › phone_validation_mnp › carrier · module 2
Portedresult › phone_validation_mnp › ported · module 2
Phone E.164result › phone_validation_mnp › e164_format · module 2
Phone checked atnow

now is Make's built-in date and time value, in the mapping panel's date functions.

06

Test the scenario and turn it on

Click Run once and add a person with the number +44 7911 123456. When the run finishes, open the person in Pipedrive. Then save the scenario and switch it on.

Line type mobile · Carrier Vodafone · Ported true · Phone E.164 +447911123456

Map the Results

Six fields land on the record. Five come from the response, and one is the time of the check.

Pipedrive fieldScoreMachine fieldWhat it holds
Phone validresult[0].validtrue when the number fits a numbering range
Line typeresult[0].phone_validation_mnp.line_typemobile, landline or voip
Carrierresult[0].phone_validation_mnp.carrierThe network serving the number today, after porting
Portedresult[0].phone_validation_mnp.portedtrue when the number moved from the network that issued the range
Phone E.164result[0].phone_validation_mnp.e164_formatThe number in E.164, ready for a dialer or an SMS route
Phone checked atthe platform's run timeWhen the check ran

valid says whether the number fits a numbering range. It does not say whether the number is in use. score.phone.ehlr answers that.

mcc and mnc identify the serving network by its mobile country and network codes. Add two text fields to store them.

Errors and Limits

01

Errors arrive as HTTP 200

A failed call returns an error object in place of result. The object carries code, message and optional data. An account with no funds left returns code -32004 and the message Low balance. The filter in step 04 stops the run. Module 3 does not run, and Pipedrive is left unchanged.

02

Retry network failures

Add a Break error handler to the HTTP module. With incomplete executions allowed in scenario settings, Make stores a failed run and retries it.

03

Limits

Up to 20 requests per second. 2 seconds average response. Up to 10,000 numbers per request. A flow that runs once per new record sends one request per record.

For records already in your CRM, export a CSV and upload the file in your workspace. Uploads take up to 5 MB and 200,000 rows.

If You Have No API Key

auth.login takes your email and password. The token arrives in the Token response header, and it lasts 24 hours.

The HTTP module returns response headers beside the body. A login module reads the token, and the check module sends it on.

A

Add a login module before the check

Add a second Make a request module between modules 1 and 2. It becomes module 2, and the check becomes module 3.

URLhttps://api.scoremachine.ai
MethodPOST
Authentication typeNo authentication
HeadersAccept → application/json
Body content typeapplication/json
Body input methodJSON string
Body contentthe login body below
Parse responseYes
BODY CONTENT · auth.login
{
  "jsonrpc": "2.0",
  "method": "auth.login",
  "params": {
    "email": "you@company.com",
    "password": "********"
  },
  "id": 1
}
B

Send the token from the check module

In the check module, set Authentication type to No authentication. Add a Token header with the formula below.

Authentication typeNo authentication
HeadersAccept → application/json
Token → the formula below
HEADER VALUE · Token
{{get(map(2.headers; "value"; "name"; "token"); 1)}}

Match "token" to the header name as module 2's output shows it. The filter and the update module now read from module 3.

The password sits in the scenario. Anyone who can edit it can read the password. Ask your account manager for an API key when you can.

Frequently asked questions

Check Every New Pipedrive Person

Create your workspace, or walk through your stack with our team.

Zapier guiden8n guideCRM integrationsAPI reference at doc.scoremachine.ai