# Sales Territory Planning by State and Industry — Ravn

Canonical: https://askravn.com/skills/territory-planning

Claude skill

# Territory planning

Map a sales territory in two stages. First size it with `search_companies` (which companies, how many, how big), then pick the best-fit accounts and find decision makers at those with `search_people`. The user gets a ranked account list and a contact list per rep.
[Download SKILL.md](https://askravn.com/skills/territory-planning/SKILL.md) [Start free](https://askravn.com/#start)

Install
## One command.
Installs into `~/.claude/skills` for Claude Code. In Claude, upload the downloaded file under Settings → Capabilities → Skills.
```
npx ravn skill install territory-planning
```

## When to use

- A new rep is taking over a region and needs a starting account list.
- A sales leader is splitting states or industries between reps and wants to see how big each patch is.
- "Which manufacturing companies with 201-500 staff are in Ohio and Michigan, and who runs operations there?"

## Before you start

- Check the connection: call `get_account` with `{}` or run `npx ravn whoami`.
- `search_companies` and `search_people` need your own provider key connected — run `ravn keys add pdl` first; these tools run on your own provider account. If a tool returns 403 `provider_key_required`, stop and tell the human to add their key. `validate_emails` is ours and needs no key. Every call is one lookup; misses are free.
- A territory can be large. The `total` field tells you how many matches exist without pulling them all. Pull only what the reps will work.
- Agree an account count per rep with the user.

## Steps

- Define the territory: states (or countries and cities), industries, `employee_range` values (1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001+), and industries to exclude.
- Size it with a small first page:

```
{
"state": ["Ohio", "Michigan"],
"industry": ["manufacturing"],
"employee_range": ["201-500"],
"exclude_industry": ["government"],
"limit": 5
}
```

Report `total` to the user. If it is far too big or too small, adjust the filters before pulling more. 3. Pull accounts in pages of up to 25, passing `next_cursor` back as `cursor`, until you reach the agreed count. 4. Remove existing customers and open deals if the user provides a list of their domains. 5. Rank the accounts with the user's priorities, for example size first, then industry fit, then city. Assign them to reps (by state, by city cluster or round-robin, as the user prefers). 6. For the top accounts, find decision makers in batches of about 8 to 10 domains:

```
{
"company_domain": ["plant-one.com", "midwestparts.com"],
"department": ["operations"],
"seniority": ["Director", "VP", "C Suite"],
"limit": 10
}
```

- Verify the emails you plan to use with one `validate_emails` call. Keep `valid`, mark `risky` and `unknown` for review.

## Output

- `accounts.csv`: `rep`, `rank`, `name`, `domain`, `industry`, `size`, `employee_count`, `city`, `state`, `country`, `founded`, `linkedin_url`, `naics_codes`.
- `contacts.csv`: `rep`, `account_domain`, `full_name`, `title`, `seniority`, `linkedin_url`, `email`, `rw_verdict`, `rw_risk_score`.
- A territory summary: filters, `total` matches, accounts pulled, accounts per rep, contacts found, verified emails, and lookups used.

## Rules

- Pull a working territory, not a full database export. Stop at the agreed account count.
- People who opted out are removed from the data; also skip anyone the user says asked not to be contacted. See [/privacy#optout](https://askravn.com/privacy#optout).
- Drop invalid and risky emails before outreach.
- No FCRA uses.
- On a 429 `fair_use_exhausted` or a 403 `provider_key_required`, stop, save what you have and tell the human.

## Example prompt

I'm hiring two reps for the Midwest. Build me a territory plan: manufacturing companies with 201-500 employees in Ohio, Michigan and Indiana, split between two reps, with the head of operations at the top 30.

## More [skills](https://askravn.com/skills)
Install them all with `npx ravn skill install --all`.
- [Verify an Email List Before a CampaignUse when someone wants to verify and clean an email list before a campaign, dropping invalid and risky addresses so only send-ready contacts remain..](https://askravn.com/skills/verify-email-list)
- [Company Account Research BriefUse when someone wants a one-page research brief on a company covering what it does, size, location, tech, public contacts and key people, from its domain..](https://askravn.com/skills/account-research-brief)
- [Build a Prospect List from Your ICPUse when someone describes their ideal customer and wants a prospect list built from scratch, with people found by title and company and emails verified..](https://askravn.com/skills/build-prospect-list)
- [Check Numbers Are Mobile Before TextingUse before sending SMS when someone needs to confirm each phone number is valid and a real mobile line, using number-plan checks then a live carrier lookup..](https://askravn.com/skills/check-mobile-before-sms)
- [Competitor Website Tech Stack LookupUse when someone wants to see which technologies competitor or prospect websites use, grouped by category and compared side by side..](https://askravn.com/skills/competitor-tech-stack)
- [Dedupe and Normalize a Contact ListUse when a contact CSV is messy and needs normalized emails, duplicates merged, and role, free-provider and disposable addresses flagged..](https://askravn.com/skills/dedupe-and-normalize-contacts)
