This article describes the history of Reg.Direct™ at a high-level, to provide context and rationale for the object and components included within the package.
Original Concept
The original Reg.Direct package was built in 2015 to make company information hosted at Companies House available in Salesforce.
It was made available directly to CRM.Team customers and comprised of a small number of custom fields on the Account object to hold registration data and a Visualforce Page to display information live from Companies House.
The app makes use of the Companies House API and allows the Salesforce Administrator to configure their own key so that they are less encumbered by API govorner limits which would restrict their access using a shared / embedded API key within the package.
AppExchange Launch
In 2020, the package was updated and made available to all Salesforce subscribers on AppExchange. Through a series of releases, additional functionality was introduced.
- Additional custom fields on Account so that users could create workflows, processes, automations and notifications on more Companies House data.
- The creation of Company Officers as Contacts in Salesforce.
- Automated, scheduled background updates to data stored in the custom fields to improve the effect of automations that users created in their own orgs
The primary interface for the app was through a Visualforce component that could be embedded on an Account page layout.
Company Object and Lightning Web Component
Due to field limits in Salesforce, it became impractical to add an ever increasing number of custom fields to the standard Account object. So, a new Company object was introduced to the package.
All of Reg.Direct’s functionality on the Account object was replicated to the Company object and a series of related objects, such as Company Officers and Prior Names.
The primary interface to the Company object (and its related objects) was two new Lightning Web Components. One to search for a company and create a Company record (and related records). The other, to display information from the Company record.
The LWCs were made extensible such that they could be added to any Lightning Record Page for any object and perform the same search and display function as on the Account object.
The extensible LWCs meant that ANY object in Salesforce could now be connected to and interact with Company data.
When run on an Account Lightning Record Page, the LWC is aware of the Reg.Direct custom fields on Account and keeps these in sync with the Company record.
The (now legacy) Visualforce page does not interact with the Company object at all. Its behaviour is unchanged with the introduction of the Company object.

