From hubspot-admin
Enrich missing geographic data (country, state, city) on contacts and companies using HubSpot workflows, external data providers, or IP-based geolocation.
npx claudepluginhub tomgranot/hubspot-admin-skillsThis skill uses the workspace's default tool permissions.
Fill in missing country, state, and city values on contacts and companies. Geographic data enables territory assignment, regional reporting, and compliance (GDPR, state privacy laws).
Convert inconsistent country and state/region formats to standardized values across contacts and companies. Ensures geographic segmentation works reliably.
Activate for: enrich, CRM enrichment, update CRM, data enrichment, stale data, missing data, contact data, company data, verify email, verify contact, update record, data hygiene, CRM cleanup, enrich leads, refresh accounts, outdated records, data quality. NOT for: prospect research briefs (use prospect-research), lead scoring (use lead-scoring), bulk automated enrichment scheduling (use crm-hygiene-agent), pipeline analysis (use pipeline).
Implements HubSpot GDPR/CCPA contact deletion, data export for DSAR, and privacy ops using CRM APIs. For compliance in integrations.
Share bugs, ideas, or general feedback.
Fill in missing country, state, and city values on contacts and companies. Geographic data enables territory assignment, regional reporting, and compliance (GDPR, state privacy laws).
.envhubspot-api-client installed via uv/standardize-geo-values first)Use HubSpot's built-in Operations Hub data quality tools or Breeze Intelligence (if available on your plan) to auto-fill geographic fields.
For contacts with a company domain but no geo data, look up the company's geographic information:
from hubspot import HubSpot
from hubspot.crm.contacts import PublicObjectSearchRequest
api_client = HubSpot(access_token=os.getenv("HUBSPOT_API_TOKEN"))
# Find contacts missing country but with company association
search = PublicObjectSearchRequest(
filter_groups=[{
"filters": [
{"propertyName": "country", "operator": "NOT_HAS_PROPERTY"},
{"propertyName": "associatedcompanyid", "operator": "HAS_PROPERTY"}
]
}],
properties=["email", "associatedcompanyid"]
)
Copy country/state/city from the associated company to the contact (same pattern as /enrich-company-name).
Integrate with a third-party enrichment service (Clearbit, ZoomInfo, Apollo, etc.):
/standardize-geo-values.hs_lastmodifieddate range) and clear the geo fields.ip_city, ip_state, ip_country. Copy these to the standard fields if the standard fields are empty.