Custom Field Mapping for CRM Exports: Structuring Dievio Lead Data for Salesforce, HubSpot, and Pipedrive
This article walks B2B operators, sales ops teams, and agencies through the technical process of mapping Dievio's lead data export to three major CRMs. It covers Salesforce, HubSpot, and Pipedrive field structures, common mismatches that corrupt lead records, and a recommended mapping workflow teams can replicate without custom development. The goal is to help readers build reliable, repeatable export pipelines that feed clean data into their outbound sequences and sales workflows.

Why Custom Field Mapping Matters for CRM Exports
Every B2B outbound team has felt the pain of a botched lead export. You build a tightly filtered prospect list in Dievio, pull the data via API or CSV, and push it into Salesforce or HubSpot expecting clean records ready for sequencing. Instead you get missing phone numbers dumped into notes fields, job titles truncated at 40 characters, LinkedIn URLs that break the validation rules, and duplicate leads that multiply your sequence costs. The root cause is almost always the same: field mapping that does not account for CRM-specific data structures.
Field mapping is the translation layer between the Dievio API payload and your CRM’s object schema. Without deliberate mapping, generic exports produce dirty records that corrupt automation triggers, cause validation errors, and force manual clean-up that defeats the purpose of programmatic prospecting. For operators iterating on outbound pipelines at scale, a reliable mapping table is not a nice-to-have—it is the difference between a repeatable export workflow and a recurring data fire drill.
This guide shows you exactly how to map Dievio’s standard output fields to the native field structures of Salesforce, HubSpot, and Pipedrive. You get copy-paste mapping tables, common pitfalls with fixes, a validation checklist, and a recommended workflow for keeping lead records clean across syncs. If you are new to Dievio’s Salesforce integration, start with the detailed walkthrough in How to Sync Dievio Leads With Salesforce Without Losing Data Quality before layering in custom field mapping.
Understanding Dievio’s API Output Structure
Before mapping, you need to know what comes out of the Dievio API. The standard lead search and enrichment endpoints return a JSON payload with the following guaranteed fields when data is available:
- company_name – full legal entity name (e.g., “Acme Corp Inc.”)
- first_name, last_name – parsed from the contact profile
- title – current job title (e.g., “VP of Sales”)
- email – verified work email (string)
- phone – phone number in international format (optional, present ~60% of records)
- linkedin_url – full profile URL (optional, present ~85% of records)
- company_website – domain (string)
- company_size – employee range string like “51-200”
- industry – sector classification (string)
- company_revenue – approximate annual revenue (string, often range format)
- country, city, state – location fields derived from company HQ
Optional enrichment endpoints (such as those covered in Contact Enrichment API Field Mapping for CRM and RevOps Teams) can append technographics, intent signals, or social handles, but for standard lead data these are the core output fields you will map. Note that phone and linkedin_url are not guaranteed; your mapping should treat them as nullable to avoid pipe breaks.
Salesforce Field Mapping Table
Salesforce’s Lead object uses a strict set of standard fields. Most are text or picklist types, but a few (Email, Phone, Website) have dedicated formats. The table below shows the recommended mapping from Dievio fields to Salesforce Lead API names. Use exact API names—display names may differ but the API name is what matters for REST/SOAP imports, Data Loader, or middleware like Zapier.
| Dievio Field | Salesforce Lead Field (API Name) | Data Type / Notes |
|---|---|---|
first_name |
FirstName |
Text, max 40 chars |
last_name |
LastName (Required) |
Text, max 80 chars |
email |
Email |
Email format enforced |
phone |
Phone |
Phone format – strip country code prefix if not needed |
title |
Title |
Text, max 128 chars (common mismatch – truncation risk) |
company_name |
Company (Required) |
Text, max 255 chars |
company_website |
Website |
URL format |
industry |
Industry |
Picklist – map to closest Salesforce Industry value; use a text custom field if standard picklist is too restrictive |
company_size |
NumberOfEmployees |
Number – extract min or max from range (e.g., “51-200” -> 51 or 125) |
company_revenue |
AnnualRevenue |
Currency – parse string to numeric; drop non-numeric characters |
linkedin_url |
LinkedIn_URL__c (custom) |
Create a custom URL field because LinkedIn URL is not standard |
country |
Country |
Text, max 80 chars |
city |
City |
Text, max 40 chars |
state |
State |
Text, max 80 chars |
Key consideration for Salesforce: The NumberOfEmployees and AnnualRevenue fields require numeric values. If Dievio returns a range string like “51-200”, you must choose a midpoint or minimum. The Industry picklist in Salesforce is limited; if your prospects include niche sectors like “FinTech” or “MarTech”, consider a custom text field to store the raw industry string. For the LinkedIn URL, there is no standard field—you will need to create a custom field (LinkedIn_URL__c or similar) via Setup > Object Manager > Lead > Fields & Relationships. Reference the Salesforce Lead Management implementation guide for detailed field specifications.
HubSpot Field Mapping Table
HubSpot uses Contact properties (standard and custom). Property names are case-sensitive and use snake_case. HubSpot’s import tool accepts CSV column headers that match internal property names, or you can map via API using the property name. Below is the mapping for the most relevant standard properties.
| Dievio Field | HubSpot Property Name | Data Type / Notes |
|---|---|---|
first_name |
firstname |
Single-line text |
last_name |
lastname |
Single-line text |
email |
email (Required) |
Email format |
phone |
phone |
Phone number property – strip non-digits if needed |
title |
jobtitle |
Single-line text |
company_name |
company |
Single-line text – will also associate to Company object if domain matches |
company_website |
website |
URL |
industry |
industry |
Single-line text (HubSpot industry is not a controlled picklist by default) |
company_size |
numberofemployees (Contact) or set on Company object |
Number – choose min or midpoint from range |
company_revenue |
annualrevenue |
Number – parse string to numeric |
linkedin_url |
linkedin_bio or custom property |
HubSpot has a standard linkedin_bio property; use that for LinkedIn URLs. |
country |
country |
Single-line text or dropdown – standard property exists |
city |
city |
Single-line text |
state |
state |
Single-line text |
Key considerations for HubSpot: HubSpot’s Contact properties are more flexible than Salesforce’s. You can create custom properties freely if a standard property does not fit. For example, if you want to store Dievio’s full industry string (e.g., “FinTech”) without mapping to a limited list, simply map to the standard industry field. The company_size and annualrevenue fields should be numeric. Use a pre-transform step to convert ranges to integers. Also note that email is the unique identifier for deduplication; HubSpot will merge on email by default during import, so ensure your email field is clean. For a deeper look at HubSpot’s prospecting workflows, see the HubSpot on sales prospecting guide.
Pipedrive Field Mapping Table
Pipedrive separates Person and Organization data into two distinct objects. When you export from Dievio, a single lead record contains both contact info and company info. To push into Pipedrive cleanly, you must split the payload: Person fields go to the Person object, and company fields go to the Organization object. Many Pipedrive API integrations then link the Person to the Organization via org_id. The tables below assume you are mapping to standard Pipedrive field keys (the field key may look like a hash key in the API; use the field name in the UI for CSV imports, or the field key for API).
Person Fields
| Dievio Field | Pipedrive Person Field (UI Name / API Key) | Notes |
|---|---|---|
first_name |
First name / first_name |
Required in Pipedrive |
last_name |
Last name / last_name |
Required in Pipedrive |
email |
Email / email |
Will be added to email field set |
phone |
Phone / phone |
Will be added to phone field set |
title |
Job title / title |
Single-line text |
linkedin_url |
LinkedIn Profile / custom field | Pipedrive has no standard LinkedIn field; create a custom “LinkedIn URL” field (text) |
country, city, state |
Address / custom address fields | You can combine into a single address field or create separate custom fields |
Organization Fields
| Dievio Field | Pipedrive Organization Field | Notes |
|---|---|---|
company_name |
Name / name |
Required for organization creation |
company_website |
Website / website |
URL |
industry |
Industry / custom field | Create a custom “Industry” field if not using the standard note field |
company_size |
Employees / custom field (number) | Standard label may be “Employees” – map numeric value |
company_revenue |
Annual revenue / custom field (monetary) | Use a custom monetary field or store as text |
country, city |
Address / address |
Concatenate into address field or use custom fields |
Key considerations for Pipedrive: When importing via CSV or API, you must ensure the Person is linked to the Organization. Many tools let you specify the organization’s name field to automatically match or create. If you use Zapier or a middleware, set up a step that looks up or creates the Organization first, then creates the Person with org_id set to the organization ID. Also note that Pipedrive does not enforce strict data types on custom fields—phone numbers can be stored as text, but using the standard “Phone” field is recommended for formatting.
Common Field Mapping Pitfalls and Fixes
Even with clear mapping tables, exports often fail due to predictable mismatches. Here are the five most common issues I see in outbound setups, and quick fixes for each.
- Data type mismatches on numeric fields. Dievio returns
company_sizeas a range string like “51-200”, but Salesforce’sNumberOfEmployeesand HubSpot’snumberofemployeesare integer fields. The fix: apply a pre-transform function that extracts the midpoint (e.g., 125) or the upper bound. Forcompany_revenue, strip currency symbols and commas before mapping. - Truncated long text fields. Salesforce’s
Titlefield has a 128-character limit. Some executive titles from Dievio (especially in fintech or SaaS) exceed that, such as “VP of Sales Operations and Enablement, EMEA”. If truncation cuts off critical info, use a custom long-text field to store the full title and keep the standard field for shorter display. - Missing required fields. Salesforce requires
LastNameandCompany. HubSpot requiresemail. Pipedrive requiresfirst_nameandlast_namefor Person. If Dievio returns a record with a missing last name (rare but possible), you must either skip the record or populate a placeholder like “Unknown”. Validate that required fields exist before pushing to CRM. - Duplicate handling. Each CRM deduplicates differently. Salesforce uses matching rules (default: Email + Company), HubSpot matches on email, Pipedrive matches on name and email. If you re-export the same Dievio list without dedup logic, you will create duplicate leads. Always run a pre-export dedup on email against your existing CRM records.
- Dirty email formats. Dievio email strings are clean, but if you concatenate fields or pull from enrichment APIs, emails can contain extra spaces or line breaks. Strip whitespace before any CRM import. Also ensure emails are lowercase to match HubSpot’s dedup key.
Validation Checklist Before Activating Export
Never push mapping logic straight into a production workflow without validation. Use this checklist to catch errors before they pollute your CRM:
- Field count match – Confirm that every Dievio field you intend to map has a corresponding CRM target field (standard or custom). Compare the list against your mapping table.
- Test 10 sample records – Manually export 10 diverse records from Dievio, manually map them per your table, and import them into a sandbox or test CRM. Check each record for truncation, data type errors, and correct field population.
- Check required field coverage – For each record in your test set, verify that all CRM-required fields (
LastName,Company,email) are populated. If any are missing, adjust your mapping or handle fallback values. - Confirm duplicate rules – Run a duplicate check on the test CRM after import. Do the same email/company combos create duplicates? If yes, adjust your dedup logic before bulk import.
- Test in sandbox/staging first – Use a CRM sandbox (Salesforce Sandbox, HubSpot Sandbox, or Pipedrive staging account) for volume testing. Push 200 records at once to stress-test field type enforcement and API rate limits.
If you fall short on field coverage, revisit the Contact Enrichment API Field Mapping article to see how to enrich missing fields before export.
Recommended Export Workflow for Outbound Teams
Based on field mapping patterns that work at scale, here is a five-step workflow that keeps exports clean and repeatable:
- Pull from Dievio API – Use the Dievio API or bulk export to retrieve your target prospect list. Include all desired fields. For high-volume lists (10k+ records), paginate properly and store the raw JSON or CSV in a temporary bucket.
- Apply mapping transform – Use a middleware layer (Zapier, Make, or a custom script) to transform Dievio fields into your target CRM schema. For Salesforce: rename fields to API names, parse numeric ranges, create custom field values for LinkedIn URL. For HubSpot: fix property names and ensure numeric conversion. For Pipedrive: split record into Person and Organization payloads.
- Validate records – Run the validation checklist above on a subset. Check for empty required fields, data type errors, and email format.
- Push to CRM – Use the CRM’s native import tool, API endpoint, or middleware connector to upload the mapped data. For Salesforce, use Data Loader or REST API. For HubSpot, use the CRM import or Contacts API. For Pipedrive, use the Persons and Organizations API. Trigger one object type at a time (e.g., Organization first, then Person with
org_id). - Trigger workflow – Once records land in your CRM, activate sequence or scoring workflows. For example, assign leads to a specific outbound campaign based on industry or title, or push them into a cadence directly.
This workflow is technology-agnostic—you can run it with a few hundred records using a spreadsheet, or automate it with API calls for thousands. The key is keeping the mapping transform isolated from the CRM push logic so you can change the mapping without touching the delivery mechanism.
Linking Dievio Data to LinkedIn Enrichment
One common enrichment pattern is to use Dievio’s linkedin_url output to pull additional profile data. If you are exporting to a CRM where you want the full LinkedIn headline, summary, or experience, you can pass the LinkedIn URL through an enrichment layer before completing the mapping. Dievio offers a LinkedIn Lookup endpoint that returns enriched profile details for a given URL. Combine this with your standard Dievio lead data before the CRM mapping step to produce richer records. For teams already using LinkedIn Sales Navigator, the linkedin_url field can be used to launch profile searches directly from your CRM; see the LinkedIn Sales Navigator product overview for integration possibilities.
Summary and Next Steps
Custom field mapping is the bridge between raw lead data and a clean, automation-ready CRM. Without it, even the best-prospected lists degrade into duplicate-ridden, truncation-broken records that slow down your outbound engine. By mapping Dievio’s output to the exact field structures of Salesforce, HubSpot, or Pipedrive, you eliminate data loss at the import point and keep your sequences running on reliable information.
Start by copying the mapping tables from this guide into your export configuration. Validate with a small batch, fix the common pitfalls listed here, and then scale. For deeper Salesforce setup, read How to Sync Dievio Leads With Salesforce Without Losing Data Quality. For enrichment workflows that complement your mapping, see Contact Enrichment API Field Mapping for CRM and RevOps Teams. And when you are ready to build your export pipeline, the Dievio API gives you the data in the exact format you need to feed into your mapping transform.
Related workflow: B2B Data Coverage, Accuracy, and Validation: What to Check Before You Buy.
Build Your First Outbound List to validate the segment before you commit to full outreach.


