UK territory builder that pushes accounts to Pipedrive

Filter the UK company register by sector, age, and location, see which accounts your team already owns, and push the rest into Pipedrive in one action.

App
Companies HousePipedriveGoogle SheetsSalesLead EnrichmentResearch & MonitoringData Sync
PromptCreate

Build me a UK territory builder that my sales team opens whenever they need a fresh list of target accounts, instead of buying another static data list. It is a filter panel over the Companies House register with a results table, a check against Pipedrive so we can see what the team already owns, and a one action push of the companies I select into Pipedrive as organizations.

Main screen: a filter panel on the left and a results table on the right. The filters are SIC codes (multi-select, and let me paste several codes at once), an incorporation date range (from and to), company status (active, dissolved, liquidation, administration), company type (private limited, PLC, LLP and so on), and a location or postcode area. Running the search calls the Companies House Advanced Company Search operation with those filters, and I page through results using its start index and size parameters. Show the total number of matches above the table so I know how big the territory is before I start working it.

Each result row shows the registered company name, the company number, the incorporation date, the registered office address, the SIC codes, and the company status. Keep company numbers as 8 character zero padded strings, do not strip leading zeros. Paging is server side against the register, roughly 20 to 50 rows at a time.

Expanding a row hydrates that single company: call List Company Officers for the current directors (name, role, appointed date, occupation, nationality, and skip resigned officers by default), and Get Company Profile for the next accounts due date and the confirmation statement due date. Use Get Registered Office Address if the search result does not already carry a full address. This hydration is the part that has to be disciplined about rate limits: Companies House allows 600 requests per rolling five minute window per key and returns Retry-After on a 429, so only enrich on row expand or for the rows currently visible on the page, never for every hit in the result set. On a 429, back off for the returned interval and show a quiet 'catching up with the register' state on the affected rows rather than failing the whole table.

Every result on the current page is checked against Pipedrive. For each company, call Search Organizations using the company number as the search term first, since term search covers name, address and custom fields and will match a stored company number exactly. Fall back to searching the registered name, normalized (drop LIMITED, LTD, punctuation, case) as a weaker hint only. When there is a match, call Get Organization to read the owner, and badge the row 'already tracked' with the owner's name and a link through to the record in Pipedrive. A toggle hides tracked rows so a rep sees only unclaimed accounts. Be explicit in the interface that dedupe keys on company number, and that name matching is a fallback, because registered names and CRM names rarely match exactly. Pipedrive search endpoints are limited to about 10 requests per 2 seconds, so throttle these lookups and only ever run them for the visible page.

Rows have checkboxes and selection persists as I page. A push action sends the selected companies to Pipedrive. For each selected company that is not already tracked, call Create Organization with the registered name and the registered office address, writing the company number, the SIC codes, the incorporation date, and the registered address into organization fields. Let me map which Pipedrive field holds each of those values the first time I push, and remember that mapping. Then call Create Activity against each newly created organization, a dated task such as 'Research and first touch: <company name>', assigned to the user doing the push and due a configurable number of days out, so the account lands in someone's queue instead of sitting there. For a selected company that already matched an existing organization, do not create a duplicate: offer Update Organization to backfill the company number onto that record so the next check matches exactly. When the push finishes, show a per row summary of created, updated, skipped and failed, with the reason on any failure.

Saved territories: I can name the current filter set and save it. Territories are stored by the app and shared with my workspace, showing who created each one. Record, per territory and per user, the last time that person ran it. Opening a territory reruns the search with its filters and badges 'new since your last run' on every company incorporated after that user's previous run timestamp, with a count of new companies at the top. Update the stored timestamp when I explicitly rerun, keeping the previous value for the comparison during that session so the highlighting does not vanish the moment the page loads.

Export: an action that appends the current result set to a Google Sheet using Append Values, into a spreadsheet and tab I choose, honouring the active filters and the hide-tracked toggle. One row per company with the same columns as the table plus tracked status and owner, and write a header row when the tab is empty.

Two things I want the design to be honest about rather than hide. First, put a persistent note near the results explaining that the register carries no email addresses or phone numbers, so this app builds the account list and the named directors to target, not contact details. Second, wherever the tracked badge and the push confirmation appear, say plainly that matching is on company number rather than name. Do not imply the app can find emails, and do not imply name matching is reliable.

Behaviour details: cache the current result set client side so toggling hide-tracked or expanding a row does not refetch the whole search, show skeleton rows while a page loads, keep the filter panel usable while a search is running, and give empty states that suggest loosening the SIC or date filters when nothing matches.

What does this prompt do?

  • Search the official UK company register by industry code, incorporation date, company status, company type, and location, and get a clean table of matching companies.
  • Expand any row to see the named directors and the next accounts deadline, so you know who to approach and when the timing is worth a call.
  • See at a glance which companies are already in Pipedrive and who owns them, then hide those rows so reps stay off each other's accounts.
  • Select the companies you want and add them to Pipedrive with the company number and registered details filled in, save the filter set as a named territory, and export the list to a Google Sheet.

What do I need to use this?

  • A free Companies House developer account so the app can read the public UK register
  • A Pipedrive login with permission to create organizations and activities
  • A Google account if you want to export results to a spreadsheet
  • A rough idea of the industry codes (SIC codes) that describe your best existing customers

How can I customize it?

  • Change which filters sit up front, for example default to companies incorporated in the last 90 days, or swap postcode area for a wider region
  • Decide what gets written to Pipedrive: which fields hold the company number and registered address, what the follow-up task says, and how many days out it is due
  • Set whether companies already in the CRM are hidden by default or just badged, and whether saved territories are private to you or shared with the team

FAQs

Does this give me email addresses and phone numbers?
No, and that is worth being upfront about. The UK register is a public record of companies and their officers, so you get company details and the actual named directors, but no contact details. Use it to build the account list and know who to ask for, then source contact details the way your team normally does.
Will it create duplicate companies in my CRM?
Matching is done on company number rather than company name, because a registered name and the name someone typed into the CRM rarely match exactly. If a company is already there, the row is badged as tracked with its owner instead of being added again, and you can backfill the company number onto that existing record so future checks are exact.
What is a SIC code and how do I pick the right ones?
A SIC code is the standard UK classification for what a business does. The easiest way in is to look up the codes on a handful of your best existing customers, then search for companies registered under those same codes.
Can I save a search and come back to it later?
Yes. Name a filter set as a territory and it reruns when you open it, highlighting the companies that were incorporated since the last time you ran it so you only look at what is new.
Is this the same as buying a data list?
No. Results come straight from the live official register every time you search, so nothing is stale on arrival, and you only put into your CRM the accounts you actually chose.

Related templates

Prospecting desk that builds account lists from the live web

Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.

Hyperbrowser
HubSpot
Google Sheets
App
Influencer campaign roster board with AI creator briefs

Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.

HypeAuditor
Google Sheets
Notion
App
Morning repricing console for Shopify with margin-safe rules

Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.

Hyperbrowser
Shopify
Google Sheets
App
Pre-flight bounce check before you launch a cold email sequence

See the projected bounce rate for any outbound send before it goes out, and keep the launch button locked until the list is clean enough to be safe.

Hunter
Google Sheets
App
Per-device electricity cost explorer for your smart home

Pick any date range and see what each device in your home actually cost to run, not just how many kilowatt-hours it used.

Home Assistant
Google Sheets
App
Build a PR media list from real worldwide news coverage

Search three months of global coverage on your topic, rank the outlets actually writing about it, and draft a tailored pitch for each one.

GDELT
Google Sheets
Gmail
App

Stop buying static lists of UK companies.

Build the territory yourself from the live register, check it against your CRM, and push only the accounts nobody is working yet.