View Categories

Searchable App Contents

App Overview #

Searchable is a 100% Salesforce native managed package built with Lightning Web Components (LWC). It allows users to create reusable, configurable searches across multiple objects with fine-grained control over fields, filters, and results.

Users can share searches with other users, permission sets, or public groups. The app can be used in:

  • Utility Bars
  • Home Pages
  • App Pages
  • Record Pages
  • Screen Flows
  • Tabs

Security #

Searchable respects all org security, including:

  • Object-level access (CRUD)
  • Field-Level Security (FLS)
  • Record-level sharing

Objects, fields, or records users lack access to are automatically excluded from results.

Permission Sets #

  • Searchable User – Base permissions to use the app. Includes CRUD access only to searchable__User_Preference__c, which stores user-specific settings.
  • Searchable Manager – Includes all user permissions plus the ability to share and manage search configurations.

Lightning Web Components #

Component NamePurpose
searchableMain user interface for running searches across multiple objects.
searchableSettingsAdmin and user interface for configuring field mappings, defaults, and search behavior.
searchableLibraryCentral library for saving, sharing, and retrieving search configurations.
searchableAdminAdministrative setup interface for global Searchable configuration.
fieldSelectorDualListBoxUtility LWC for selecting fields across objects.
dropdownUtilityHelper component for dropdown rendering and interactivity.
errorHelperLogs errors and handles user-facing messages.
fieldSelectorSimplified version of field selection control.
jsonObjectUtilsUtility for JSON parsing and manipulation within LWCs.
objectLookupUtility for searching and selecting Salesforce objects dynamically.
queryBuilderVisual interface turning drag and drop field selections into SOQL
sharingSettingsUI for managing sharing visibility and group access.

Apex Classes #

ClassDescription
EntityDefinitionLookupControllerRetrieves object definitions and metadata dynamically.
FieldDefinitionControllerReturns field definitions for selected objects, respecting FLS.
ErrorLoggerControllerCentralized Apex error logging and system diagnostic handling.
SearchableControllerCore business logic for executing dynamic searches.
SearchableSettingsControllerHandles saving, loading, and parsing of configuration metadata.
SearchableAdminControllerAdmin-level methods for global configuration and defaults.
SharingGroupControllerProvides sharing options (users, groups, roles, permission sets).
All *Test ClassesUnit tests for above classes ensuring test coverage and validation.

Custom Metadata #

The following custom metadata settings can be managed from the Searchable Admin Setup page or under Setup → Custom Metadata Types →  Searchable Global Setting

  • Allow base user to create searches
  • Allow user to change Search Mode
  • Auto-search Active
  • Auto-search Delay (Milliseconds)
  • Minimum Characters To Search
  • Open Dropdowns On Hover
  • Output Flow Id Variable Name
  • Output Flow Name
  • Restricted Objects
  • Search Mode Default

Global Config

When in a deployed status, these searches will show in the Library. If building in a sandbox, these can be deployed to production.

Setup → Custom Metadata Types →  Searchable Global Config

These searchable__Searchable_Global_Config__mdt records are installed with the managed package to get you started. These templates can be deleted or hidden by updating the Status or Active fields.

  • Default Search
  • Phone Number
  • Sales Team
  • Service Team
  • Activities

Custom Objects #

ObjectDescription
searchable__User_Preference__cStores each users searches and default search mode
searchable__Error_Log__cLogs system and runtime errors for administrator review. No need to give users access to this object.
searchable__Shared_Search__cStores searches shared between users or with public groups/permission sets

Custom Labels #

Configurable text labels for UI components (supporting translation via Translation Workbench):

Get_Button_Label
Library_Heading
Preview_Button_Label
Open_Library_Label
Search_Field_Description
Search_Button_Text
Search_Field_Description

Save_To_Library_Button_Label
Searchable_Heading
Settings_Title
Sharing_Configuration_Label
Filter_Results_Header
Placeholder_Text_Label

Tabs and Pages #

Tab / PagePurpose
SearchFull tab version of the main app component
Searchable_Admin_SetupAdministrative setup page for configuring defaults.
User_Preference__cTab for user preferences management.

Permission Sets and Custom Permissions #

TypeNameDescription
Permission SetSearchable_UserGrants access to use the Searchable app.
Permission SetSearchable_ManagerGrants sharing and advanced configuration permissions.
Custom PermissionSearchable_UserThe app checks for the presence of this custom permission, which is included in the permission set of the same name.
Custom PermissionSearchable_ManagerTo simplify management, you can add this custom permission to any existing permission set assigned to your users.

Custom Metadata and Configuration Highlights #

  • Global Settings – Define org-wide defaults (auto-search, min chars, restricted objects).
  • Global Configurations – Pre-built search templates for departments or teams.
  • User Preferences – Store individual user search defaults and mode selections.
  • Error Logs – Track and troubleshoot runtime errors from Apex or LWC.

Summary #

Searchable by AppableCRM is a metadata-driven, admin-friendly search framework designed for Salesforce Sales, Service, and Financial Services Clouds. It enables teams to build and reuse powerful searches anywhere in Salesforce—home pages, record pages, or flows—while maintaining full compliance with your org’s security and governance standards.

Updated on November 24, 2025

Leave a Reply

Your email address will not be published. Required fields are marked *