Salesforce Enterprise Territory Management Cheat Sheet

This post is the continuation of my study notes for  Sharing and Visibility Designer Architect Certification. Previous post was regarding Salesforce Sharing and Security Cheat Sheet. Enterprise Territory Management is a very important topic and having a clear understanding will definitely going to help in passing the certification as well as implementing it for your own project.

Important Note:

  • Original Territory Management is only available with Customizable Forecast.
  • Enterprise Territory Management works with Collaborative Forecast. It will not work with Customizable Forecast.


Group of Accounts and Sales reps who work for those accounts.

Territory Type:

This is the criteria to group territories. Every territory must have one Territory Type, but it will never appear in the Territory Hierarchy

Territory Type Priority:

Helps you to create priorities for your territory type.

Territory Model:

  • Creates the entire Territory Hierarchy.
  • It allows to create multiple territory hierarchy and test that before activating.
  • Number of territory models depends on the Salesforce edition.

Territory Hierarchy:

  • Shows the model's territory structure.
  • You can run assignment rules at the model level or individual territory levels.
  • Your territory hierarchy in active territory model also determines the forecast hierarchy for territory forecast.

Territory Model State:

  • Three states - Planning, Active or Archive.
  • Only one territory can be in Active state.
  • Multiple territories can be in either Planning or Active state.

User Access for Territory Records:

  • Define Account access in Territory Settings when enabling the Enterprise Territory. You can change it later as well.
  • Account Access is:
    • Users in the territory can view and edit the Accounts in the same territory or
    • Users in the territory can view, edit, transfer and delete the Accounts in the same territory.
  • Contacts, Opportunity and Cases will have the default access defined in Internal Access settings if the access level is either Controller by Parent or Public Read/Write/Transfer.
  • If the Internal Access for Contacts, Opportunities and Cases are configured anything apart from Controller by Parent or Public Read/Write/Transfer, then you can set the access as -
    • View all contacts/cases/opportunities associated with Accounts in the same Territory irrespective of who owns the contact/case/opportunity.
    • View and Edit all contacts/cases/opportunities associated with Accounts in the same Territory irrespective of who owns the contact/case/opportunity.
  • This settings can be changed when creating Territories. You can change it to make it more restrictive (Territory Settings : View and Edit, whereas Territory Hierarchy Settings: View, Edit, Transfer and Delete) as well.
  • Territories access level is inherited by the parent territories above it in the territory hierarchy. Example: India (View and Edit) is the parent of Kolkata (View). Users assigned to India territory will have View access to Accounts assigned in Kolkata territory.

Assigning Territories to Accounts:

  • "Manage Territories" permission is required to assign accounts to territories.
  • Either manually assign accounts or write assignment rules.
  • Assignment rules can be inherited to child territories by selecting the option while creating the assignment rule. If selected, the criteria from the parent territories is not required to be mentioned in the child territories assignment rules.
  • Accounts can be associated with multiple territories.
  • Manually added Accounts will remain in the Territories until and unless it is removed manually.

Assigning Territories to Users:

  • When users moved to a new Territory. they have the option to take their existing Accounts and Opportunities with them,

Assigning a Territory to an Opportunity:

  • From the opportunity detail page, select the territory.
  • You will only get those territories where -
    • Both the opportunity owner and opportunity's account owner are present,
    • you have administrative access and also associated with opportunity's account.
    • you have administrative access that are above the opportunity's account in the territory hierarchy.

Filter based Opportunity Territory assignment:

Assigning Territory Roles to Territory Users:

  • You can define custom roles under User Territory Assignment -> Role in Territory.

Optimize Performance:

  • Always select inherited rules to child territories which will prevent rule engine to evaluate more territories and thus improving performance.
  • Always start with the lowest level of territory hierarchy and then move upwards. With this approach, it will not recalculate Account, Contact, Opportunity, Case access for the same territories.
  • Always define criteria on Numeric fields, rather than String field while creating assignment rules.
  • Keep the assignment rule restrictive by avoiding lots of OR condition.
  • More than 10,000 records associated with single territory will always create performance issues.
  • For best performance, single user should not be liked with more than 3 territories.
  • If needed more users (more than 1,500 users) in a single territory, better to use user-to-territory assignment through API.
  • You should not run assignment rule for each Account update. You can eliminate that by not selecting the option evaluate this account against territory rules on save. The reason is even though you are editing single account, but the assignment rule will run for all the accounts, which can cause performance issues.

Difference between Role Hierarchy and Territory Hierarchy:

  • Role Hierarchy is perfect for managing organization structure where one person reports to only one person.
  • Territory Hierarchy is perfect for managing matrix reporting structure where one person reports to multiple person.

When to use what? Role Hierarchy or Territory Hierarchy:

  • You should use Role hierarchy to use implement your organization hierarchy, reporting rollups, approvals.
  • Then use Territory hierarchy to extend access to records based on user's territory assignment.

Forecast Manager:

  • To see the rolled-up forecast, assign Forecast manager to parent territory.
  • Forecast manager can view and adjust forecasts.
  • Without Forecast manager,  users can view and adjust only their own forecasts, but can't adjust other's forecast.
Please let me know if you think I should add something here in the comment section.


  1. Nice post. Looking forward to more articles related to the domains under Application Architect, which is my goal for 2019.

  2. Nice post. Looking forward to more articles related to Application Architect domain, as this is my goal for 2019.


Follow Me

Enter your email address:

Delivered by FeedBurner

Popular Posts


Salesforce (105) Apex (45) admin (27) visualforce (21) ADM (20) dev 501 (19) integration (18) learn salesforce (18) 501 (16) SOAP (13) lightning (12) tutorial (11) Certification. (9) javascript (9) Certification (7) Trigger (7) test class (7) unit testing (7) Advanced Admin (6) Sharing and Visibility (6) design pattern (6) developer (6) report (6) salesforce release (6) security (6) trailhead (6) Advanced Apex (5) Kitchener Developer Group (5) New Features (5) SOQL (5) css (5) dashboard (5) debug (5) formula (5) mobile (5) service cloud (5) solution management (5) use case (5) JSON (4) Lightning Experience (4) Salesforce DX (4) WebSphere (4) best practice (4) cast iron (4) component (4) deployment (4) github (4) html (4) polymer (4) profiles (4) responsive (4) tdd (4) ui (4) Architect (3) Live Chat (3) Online Event (3) Opportunity (3) Performance (3) Products (3) REST (3) Role (3) Sales Cloud (3) Scratch Org (3) Study Notes. (3) Summer15 (3) Tips (3) Web Technology (3) dynamic apex (3) event (3) license (3) map (3) mapbox (3) singleton (3) version controlling (3) Asynchronous callout (2) Bulkify (2) Data Architecture and Management Certification (2) Devops (2) Distributed Version Controlling (2) ES6 (2) Eclipse (2) Einstein (2) Enterprise Territory Management (2) Financial Services Cloud (2) Force.com IDE (2) Governor Limit (2) Groups (2) IBM (2) Implicit Sharing (2) JourneyToCTA (2) Kitchener User Group (2) Lightning Design System (2) Live Agent (2) Metadata (2) PD II (2) Price Book (2) SOSL (2) Sharing (2) Spring 15 (2) Summer17 (2) Territory (2) ant (2) automation tool (2) basic (2) chatter (2) coding (2) communication (2) console (2) controller (2) documentation (2) flow (2) git (2) jquery (2) logging (2) object (2) permission (2) process builder (2) release (2) salesforce1 (2) strategy (2) xml (2) Action Plan (1) Action Plan Template (1) Advanced Currency (1) Agent Productivity (1) Analytics (1) Apex Sharing (1) Arrow (1) Asynchronous Apex (1) Aura Framework (1) Batch (1) Bots (1) Browser (1) Bulk data load (1) CTA (1) Calendar (1) Canon (1) Case Management (1) Celebration (1) Cheat Sheet (1) Classic (1) Community (1) Confetti (1) Constructor (1) Contact Center (1) Continuation (1) Continuous Integration (1) Convert (1) Cookie (1) Custom Metadata (1) Custom Object (1) Customer (1) Dated Exchange Rate (1) Decorator Design Pattern (1) Dev Hub (1) Diwali (1) Email (1) FSC (1) Function (1) Future (1) Goals (1) Guide (1) Household (1) Ideas (1) Improvement (1) KPIs (1) Large Data Volume (1) LastModifiedDate (1) Lightning Web Component (1) Manage Currencies (1) Manual Sharing (1) Metrics (1) Multi Currency (1) New (1) New Feature (1) OOPS (1) OWD (1) Omni-Channel (1) Partner (1) Person Account (1) Photo (1) Pipeline (1) Platform Developer I (1) Platform Developer II (1) Presentation (1) Product Schedule (1) Profile (1) Promise (1) Prototype (1) Public Site (1) Query Plan (1) Queueable (1) QuickReference (1) Reports (1) Retrieve (1) Role Hierarchy (1) SFDX (1) Salesforce Optimizer (1) Schedule (1) Session (1) Sharing Rule (1) Sharing Sets (1) Site (1) Skills (1) Snap-ins (1) Spring 17 (1) Summer14 (1) Summer16 (1) Summer19 (1) Switch (1) SystemModStamp (1) User License (1) Users (1) Webservice (1) Winter'15 (1) Winter'17 (1) access (1) actionFunction (1) actionPoller (1) actionRegion (1) actionSupport (1) agile (1) app (1) approval process (1) aura (1) awesome (1) backup (1) bitbucket (1) book (1) campaign (1) change set (1) code (1) code coverage (1) configuration (1) csv (1) custom button (1) custom settings (1) customization (1) data loader (1) database (1) delegate Admin (1) describe (1) dom (1) dreamforce (1) duplicate (1) dynamic (1) equals (1) error (1) field-level security (1) folder (1) ftp (1) generic (1) gift (1) global describe (1) hashcode (1) import wizard (1) jenkins (1) keynote (1) long running requests (1) monitoring (1) mysql (1) page layout (1) personal (1) power of one (1) record type (1) relationship (1) request (1) review (1) sub-tab (1) tab (1) username (1) visual workflow (1) workflow (1)

Total Subscribers

Total Pageviews