Guide 03

Build ZIP programs and merge CSV assignments

A current territory owns explicit U.S. ZIP5 values. Map outlines help you select; exact text membership makes the decision.

Last reviewed July 15, 2026 · Early-access documentation

Program rules

  • One current public program targets HubSpot companies and the standard owner property.
  • A ZIP can belong to only one territory inside the same program.
  • Current ZIP territories are flat. Each territory needs its own active fixed owner before matching records can receive a desired owner.
  • Territory priority and stable IDs keep ordering deterministic, but there is no split-ZIP overlap to resolve.
  • Round robin, weighted pools, arbitrary CRM criteria, street geocoding, and custom polygons are not available in this release.

Add ZIPs manually

  1. Create or select a territory in Programs & map.
  2. Enter a five-digit ZIP and add it. The editor rejects ZIP+4, four-digit values, ranges, city names, and non-U.S. postal codes.
  3. Resolve any message that the ZIP belongs to another territory; the editor will not silently move it.
  4. Select an active fixed owner. If the owner remains blank, matching records are preserved and appear as exceptions.
  5. Save the draft, then run a new simulation.

CSV format

territory_name,zip_code
Phoenix Metro,85001
Phoenix Metro,85002
Northeast,00501

The territory header also accepts territory. The ZIP header also accepts zip, zip5, or postal_code. Keep the ZIP column formatted as text so spreadsheet software does not remove leading zeroes.

Safe merge behavior

  • The browser reads the source file locally. Selecting it does not upload the file, save the draft, simulate, publish, or contact HubSpot.
  • A nonblank territory name that does not match an existing territory creates a top-level territory without an owner. A blank territory name rejects the complete file.
  • Existing assignments remain; import adds values rather than replacing the whole draft.
  • Duplicate input rows are reported. A ZIP already owned by a different territory is a conflict.
  • Any invalid row, ambiguous territory name, conflict, or limit failure rejects the complete merge. There is no partial apply.
  • The browser enforces a 5 MB file limit, 100,000 rows, five-digit ASCII ZIPs, and current workspace/schema limits.

Dry run, apply, save

  1. Select the CSV and review counts for additions, duplicates, and new territories.
  2. Select Apply merge. TerritoryLogic revalidates against the current browser draft.
  3. Inspect every affected territory and configure owners.
  4. Select Save. Until this step, the result exists only in the unsaved browser draft.
  5. Run a fresh simulation. Import never authorizes an owner write.

Export

Export creates deterministic territory_name,zip_code rows in territory and ZIP order. It contains configuration—not HubSpot records, owners, addresses, decisions, tokens, or map geometry. Treat the file according to your organization's access policy.