BC Project Match Component
BC Project Match (bcProjectMatch) is the Lightning web component that lets a rep search Baucore’s existing Projects, Project Leads, and Main Projects from a Lead or Opportunity record — and link to a match or create a new one — without leaving that record. It is separate from AI Project Match, which ranks suggested matches automatically; BC Project Match is the manual search-and-link building block that AI Project Match sits on top of.
What it does
- Searches Projects, Project Leads, and Main Projects by name, geolocation radius, and participant overlap.
- Shows a match score (0–100%) for each candidate.
- Lets the rep link the current record to an existing match, or launch project creation if nothing fits.
- Automatically adds participants to a linked project — creating
Beteiligte__crecords for the Accounts/Contacts carried over from the source record. - Opens the linked Project, Project Lead, or Main Project in a new browser tab for quick navigation.
- Lets the rep unlink a record from a Project/Project Lead/Main Project it was previously matched to.
- On the Lead object, doubles as the entry point for converting a Lead into a Project or Project Lead.
Add it to a record page
-
Open Lightning App Builder for the record page (Lead, Opportunity, or another object with the right lookups).
-
Drag BC Project Match onto the page.
-
Configure the three required properties:
Property What to set it to Project Name Field API Name A text field on the host object holding the project name to search on Participant ID Field API Name A lookup or formula field returning an Account, Contact, or Lead Id Address Field API Name An address field used for the geo-search radius -
Enable at least one of Show Projects?, Show Project Leads?, Show Main Projects? — each one you enable requires its matching lookup field API name to be set, and adds that record type as a tab in the search interface.
-
Make sure the lookup fields the component writes to (Project, Project Lead, Main Project) exist on the host object and are on the page layout.
-
Save and activate the page.
Enabling more than one “Show” option lets users switch between searching Projects, Project Leads, and Main Projects from the same component — but a given record can still only end up linked to exactly one of the three at a time.
Extending it to another object
The component isn’t limited to Lead and Opportunity:
- Add lookup fields to
Bauobjekt__c(Project),Bauobjekt_Lead__c(Project Lead), and/orHauptbauobjekt__c(Main Project) on the target object. - Add the component via App Builder as above.
- Set the same three field-API-name properties.
- Confirm users have read/create access to the Project, Project Lead, and Participant objects — the component creates
Beteiligte__crecords for any participants carried over from the source record.
How matching works
Under the hood, bcProjectMatch calls the same matching engine as the Project Check flow (Project_Service.searchMatchingProject): name similarity, geolocation radius (configurable in Baucore Settings), and participant overlap across Accounts, Contacts, and Leads. If AI Project Match is enabled or the org, the ranked list includes an AI scoring layer with match explanations instead of the raw similarity score.
On the Opportunity record page, BC Project Match and the Project Status component behave as a mirror of the Project page whenever Opportunity ↔ Project sync (V1 Sync) is active — the component transparently resolves between Opportunity/OpportunityContactRole Ids and Project/Participant Ids.