Quick Quality Test Utility: Prepare Input CSV Files¶
Before joining the live 1-hour pairing session with a Modigie engineer, prospective customer teams prepare an evaluation batch of input data (< 500 records). This guide outlines the supported job types, required and optional input columns, data formatting rules, and provides downloadable sample CSV templates.
Evaluation Batch Scope
The Quick Quality Test Utility is optimized for evaluation batches of up to 500 records to empirically verify that Modigie's live Google Cloud Pub/Sub API delivers the exact same data quality observed in your Phase 1 offline diagnostic.
While the API schema allows job request JSON payloads to include multiple URLs, email addresses etc., this Quick Quality Test Utility supports only single values for each in the input CSV to keep the tests simple.
Supported Job Types & Use Cases¶
The Modigie real-time engine supports 5 distinct job types. In our platform:
- Validate / Validation: Checks syntax and deliverability (e.g., whether a phone number is valid and possible in E.164 format, whether an email has valid syntax and is deliverable, or whether a URL has valid syntax).
- Verify / Verification: Combines an attribute with live carrier signaling and intelligence signals to evaluate its real-world context (e.g., whether a contact is actively employed at a target company, whether a phone number is active and belongs to the person), returning confidence ratings and status codes.
- Append: Adds a new attribute that was not present in the input (e.g., appending a mobile number or a LinkedIn profile URL).
- Enrich: The overarching outcome of combining newly appended data with live verification and validation signals.
Review the descriptions below to determine which job types align with your business evaluation:
1. Enrich Mobile & Verify Employment (enrichMobile)¶
- Primary Use Case: Append an active mobile or VoIP phone number to a given lead or contact. Also performs all tasks as in Verify Employment.
- Key Outputs & Event Codes:
- Append mobile phone number (
events.appendMobile.code): Appends one active mobile or VoIP phone number ("appended","unable_to_append"), along with carrier signaling, network activity, line type, and confidence rating scores. - Verify Employment (
events.verifyEmployment.code): Verifies whether the contact works at the target company ("verified"), has left the company ("changed","verified_elsewhere"), or if Modigie was"unable_to_verify". Typically includes current employer, job title, and geographic location. - Append LinkedIn URL (
events.appendLinkedIn.code): Indicates whether the LinkedIn user profile URL was provided by client ("from_input"), appended by Modigie ("appended"), replaced ("replaced"), or"unable_to_append". - Email Validation: Performs syntax and deliverability validation on the individual business email.
- Append mobile phone number (
- Input Requirements:
- Required Fields:
firstName,lastName,company, (emailORlinkedInUrl) - Optional Fields:
recordId,contactId,middleNames,jobTitle,phoneNumber
- Required Fields:
- Sample Template:
sample_input_enrich_mobile.csv
2. Verify Employment (verifyEmployment)¶
- Primary Use Case: Verify if a lead or contact is still employed at the target company and what the current job title is. If the person left the target company, Modigie identifies the current employer, job function, and departure date. Also performs all tasks as in Enrich LinkedIn.
- Key Outputs & Event Codes:
- Verify Employment (
events.verifyEmployment.code):"verified": Person works at the target company (typically includes current job title)."changed": Person left (or is about to leave) the target company (typically includes new employer, title, and date)."verified_elsewhere": Public records show no history at target company, but current employment was confidently identified."unable_to_verify": Modigie was unable to verify whether or not the person works at the target company.
- Append LinkedIn URL (
events.appendLinkedIn.code): Indicates whether the LinkedIn profile was"from_input","appended","replaced", or"unable_to_append". - Geographic Location: Returns formatted address in
locationsFormattedAddress. - Email Validation: Validates business email syntax and deliverability (if provided in input).
- Verify Employment (
- Input Requirements:
- Required Fields:
company, (firstName+lastNameORlinkedInUrl) - Optional Fields:
recordId,contactId,middleNames,jobTitle,email,phoneNumber
- Required Fields:
- Sample Template:
sample_input_verify_employment.csv
3. Verify Mobile (verifyMobile)¶
- Primary Use Case: Verify if the given phone number is an active mobile phone number and belongs to a given lead or contact. Modigie enriches the number with intelligence signals and performs a rating.
- Key Outputs & Event Codes:
- Verify mobile phone number (
events.verifyMobile.code):"good_mobile": Verified phone number is possible, valid, an active mobile, and belongs to the given person."no_good_mobile": Number does not meet all criteria (disconnected, low activity, landline/special line type, or does not belong to person)."unable_to_verify": Modigie was unable to rate the phone number.
- Granular Rating Scores: Overall
score,numberActivity(carrier network activity score and code), andnumberNameMatch(contact ownership score and code). - Phone Classification & Syntax Validation: Line type (
mobile,voip,fixedLine) and syntax indicators (isValid,isPossible, E.164 format). - Corroborating URL Validation: Syntax validation of LinkedIn profile URL (if provided as input).
- Verify mobile phone number (
- Input Requirements:
- Required Fields:
firstName,lastName,phoneNumber(E.164 format, e.g.+12025550100) - Optional Fields:
recordId,contactId,middleNames,company,jobTitle,email,linkedInUrl
- Required Fields:
- Sample Template:
sample_input_verify_mobile.csv
4. Enrich LinkedIn (enrichLinkedIn)¶
- Primary Use Case: Append the LinkedIn user profile URL to a given lead or contact using first name, last name, individual business email, and company name.
- Key Outputs & Event Codes:
- Append LinkedIn URL (
events.appendLinkedIn.code):"appended": Modigie successfully appended the matching LinkedIn user profile URL."unable_to_append": Modigie could not append a LinkedIn user URL.
- Email Validation: Performs syntax and deliverability validation on the provided business email.
- Append LinkedIn URL (
- Input Requirements:
- Required Fields:
firstName,lastName,company,email - Optional Fields:
recordId,contactId,middleNames,jobTitle,phoneNumber
- Required Fields:
- Sample Template:
sample_input_enrich_linkedin.csv
Field Mapping Matrix¶
The table below summarizes required and optional fields across all 5 job types:
| Job Type | Required Fields | Optional Fields | Notes & Event Codes | Sample Template |
|---|---|---|---|---|
enrichMobile |
firstName, lastName, company, (email OR linkedInUrl) |
recordId, contactId, middleNames, jobTitle, phoneNumber |
Appends one mobile or VoIP number. Event codes: appendMobile, verifyEmployment, appendLinkedIn. |
CSV |
verifyEmployment |
company, (firstName + lastName OR linkedInUrl) |
recordId, contactId, middleNames, jobTitle, email, phoneNumber |
Verifies current employer and position. Event codes: verifyEmployment, appendLinkedIn. |
CSV |
verifyMobile |
firstName, lastName, phoneNumber |
recordId, contactId, middleNames, company, jobTitle, email, linkedInUrl |
Verifies mobile line activity and ownership. Event code: verifyMobile (good_mobile, no_good_mobile). |
CSV |
enrichLinkedIn |
firstName, lastName, company, email |
recordId, contactId, middleNames, jobTitle, phoneNumber |
Appends LinkedIn profile URL. Event code: appendLinkedIn (appended, unable_to_append). |
CSV |
Data Formatting & Integrity Rules¶
When assembling your evaluation CSV records, observe the following conventions:
1. The Omission Rule for Optional Values¶
Omission rule for optional values
Optional fields are only included in the API payload if a non-empty value is provided in the CSV row. If an optional field is empty ("") or missing, the payload builder omits that property entirely rather than sending null objects, empty dictionaries ({}), or empty arrays ([]).
- Do not populate empty optional cells with dummy placeholders like
"N/A","null","none", or whitespace. - Leave empty cells completely blank in your CSV.
2. Phone Number Format (E.164)¶
- All phone numbers must follow the international E.164 format, consisting of a leading
+, the country calling code, and the national subscriber number (e.g.+12025550100for US/Canada,+442071838750for UK). - The platform performs syntax validation to check whether the number is valid and possible for the specified country.
- Numbers with missing country codes, local dialing prefixes (such as
011or leading0), or formatting punctuation (e.g.,(415) 555-0123) will be normalized if possible, but numbers that fail syntax validation will be disqualified or discarded.
3. LinkedIn Profile URLs¶
- Header name: Use
linkedInUrl. - Value: Provide the complete HTTPS URL (e.g.,
https://www.linkedin.com/in/john-doe). - The platform performs syntax validation on the URL structure.
4. Middle Names (middleNames)¶
- When providing middle names or initials, place the
middleNamescolumn directly betweenfirstNameandlastNamein your CSV. - Both full middle names (e.g.,
Elizabeth) and initials (e.g.,E.) are accepted.
5. Tracking Identifiers (contactId & recordId)¶
Input CSV files do not need a hardcoded requestId. Instead, the utility automatically computes a unique requestId for each record (and echoes it via modigieJobRequestId):
contactId(optional): The identifier of a B2B contact record in your database (e.g., Salesforce Contact ID003...). If provided, it is attached asperson.source.objectId(propertyName="contactId") and tagged on the job so it can be merged directly back into your CRM.recordId(optional): Unique identifier for a single CSV row. This is especially useful for jobs likeverifyMobileif you evaluate multiple phone numbers per contact which means you need to have one separate record in the CSV for each contact and mobile number combination. If provided,requestIdis computed as<batchId>_<recordId>. If omitted,requestIdis computed as<batchId>_<index>with a zero-padded row index (e.g.quick_test_1_01,quick_test_1_02).
Identifier Character Rules¶
The computed modigieJobRequestId serves as the job's idempotency key and must conform to the regex ^[a-zA-Z0-9\-._]{1,256}$:
- Allowed characters: Alphanumeric (
a-z,A-Z,0-9), hyphens (-), periods (.), and underscores (_). - Disallowed characters: Spaces, slashes (
/,\), and special symbols (@,#,$,%,&,?) are strictly prohibited and will cause Modigie to discard the request with anInvalidJobIdError.
Next Step: Environment Setup¶
Once your input CSV file is prepared, proceed to:
Pre-Session Environment Setup to install dependencies and download the utility scripts.