Back to How-To
How-To

Import an Ag Territory into Salesforce or HubSpot — CSV Column Mapping

The Territory & Prospecting CSV export is built to drop into Salesforce Data Loader or HubSpot's Lead Import without column remapping. Here's the playbook.

Import an Ag Territory into Salesforce or HubSpot

The Territory & Prospecting CSV export is designed to drop into either Salesforce or HubSpot without column remapping. The header row uses field names both platforms recognize.

The exported columns

account_name,legal_land_description,province,latitude,longitude,area_acres,dominant_crop,lsrs_score,notes

Each row is one quarter section inside the drawn polygon, with the LSRS productivity and AAFC dominant crop joined.

Salesforce import path

Lead object import (typical for prospecting):

  1. Data Loader → Insert → Lead. Map the columns:
    • account_name → Company (or Last Name if no company yet)
    • legal_land_description → custom field Legal_Land_Description__c (create if not present)
    • latitude → Latitude
    • longitude → Longitude
    • area_acres → custom field Acres__c
    • dominant_crop → custom field Dominant_Crop__c
    • lsrs_score → custom field LSRS_Score__c
    • notes → Description
  2. Run the upsert. Salesforce Data Loader will create one Lead per parcel.

Custom Object alternative. Many ag retailers create a "Parcel" custom object with the natural key on legal_land_description. The CSV columns map directly into custom-object fields and let you maintain a 1-to-many relationship from Account → Parcels.

HubSpot import path

Lead / Contact import:

  1. Settings → Import → Start an import → File from computer. Select the CSV.
  2. Map columns. HubSpot auto-detects most:
    • account_name → Company name
    • legal_land_description → Custom property Legal Land Description (create if needed)
    • latitude / longitude → standard properties
    • area_acres → Custom property Acres
    • dominant_crop → Custom property Dominant Crop
    • lsrs_score → Custom property LSRS Score
    • notes → Notes
  3. Run the import. HubSpot creates a Contact (or Company if you mapped to that object) per parcel.

Custom Object alternative. If your HubSpot tier includes Custom Objects, a "Parcel" object with the natural key on legal_land_description is the cleaner model.

After import — typical follow-up

The account_name column is left blank in the export by design — every row has an empty account_name field that you need to populate post-import. The reason is that operator-name inference from AAFC continuity + provincial registry data is pending legal sign-off on the inference methodology (OQ-6 in the Ag Bundle PRD). When the methodology clears, the column will populate automatically; until then, post-import enrichment is part of the workflow.

After import, the CRM team typically:

  1. Bulk-fill the Company field with placeholder values like "TBD — verify via ISC" or "Unverified Operator"
  2. Cross-reference with provincial registries (ISC Map Search for SK, SPIN for AB, LTSA for BC) to identify actual owners/operators
  3. Update the records with the verified operator name and any additional contact info pulled from the registry

The CSV gives you the parcel-level intelligence (location, acres, productivity, crop). The operator-name diligence is a step you do post-import.

Notes on imports at scale

  • 5000-parcel cap per CSV. A large multi-RM polygon may need to be split into sub-polygons.
  • Duplicate detection. Both Salesforce and HubSpot can dedupe on legal_land_description if you set that field as the matching key.
  • CRLF row separators. The CSV uses RFC-4180-compliant CRLF, which both platforms accept without special handling.