function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
shekhar 46shekhar 46 

lightning interface

which lightning interfce is used to make component avaible for all features
Best Answer chosen by shekhar 46
AnkaiahAnkaiah (Salesforce Developers) 
Hi Shekhar,

Ist you need to know, what are all the places you need to make the compoenet avaiable.

I have given below some interfaces where we can use.

lightning:actionOverride
Enables a component to be used as an override for a standard action. You can override the View, New, Edit, and Tab standard actions on most standard and all custom components. This interface has no effect except when used within Lightning Experience, Experience Builder sites, and the Salesforce mobile app.

force:hasRecordId
This interface is used to indicate that a component takes a record (SObject) as an attribute.

force:hasSObjectName
Add the force:hasSObjectName interface to an Aura component to enable the component to be assigned the API name of current record’s sObject type. The sObject name is useful if the component can be used with records of different sObject types, and needs to adapt to the specific type of the current record. This interface has no effect except when used within Lightning Experience, the Salesforce mobile app, and sites based on Experience Builder templates.

force:appHostable
Add the force:appHostable interface to a Lightning component to allow it to be used as a custom tab in Lightning Experience or the Salesforce mobile app. Components that implement this interface can be used to create tabs in both Lightning Experience and the Salesforce mobile app.

force:lightningQuickAction
Add the force:lightningQuickAction interface to a Lightning component to allow it to be used as a custom action in Lightning Experience or the Salesforce mobile app. You can use these components as object-specific or global actions in both Lightning Experience and the Salesforce mobile app.

flexipage:availableForRecordHome
Able to be used inside a Record Home Lightning App Builder page

lightning:availableForFlowActions
Enables a component's controller to be used as an action in a flow.

flexipage:availableForAllPageTypes
Marks a component as being able to be used inside a Lightning App Builder page

lightning:availableForFlowScreens
To make a component available for flow screens, implement the lightning:availableForFlowScreens interface.

forceCommunity:layout
Enables a component to be used as a custom layout for creating pages in the Experience Builder

forceCommunity:availableForAllPageTypes
Enables a component for drag and drop in the Lightning Components panel in Experience Builder.

lightning:utilityItem
This interface is used to denote that a component can be included in the utility bar.

If you want to display your component in the above places then your componet should include like below.

<aura:component implements="lightning:actionOverride,
                            force:hasRecordId,
                            force:hasSObjectName,
                            force:appHostable,
                            force:lightningQuickAction,
                            flexipage:availableForRecordHome,
                            lightning:availableForFlowActions,
                            flexipage:availableForAllPageTypes,
                            lightning:availableForFlowScreens,
                            forceCommunity:layout,
                            forceCommunity:availableForAllPageTypes,
                            lightning:utilityItem
                            
                             ">

for the rest of them refer the below link.
https://developer.salesforce.com/docs/component-library/overview/interfaces

If this information helps, Please mark it as best answer.

Thanks!!

All Answers

AnkaiahAnkaiah (Salesforce Developers) 
Hi Shekhar,

Refer the below help article will have all interfaces and keep which one you wnat.
https://developer.salesforce.com/docs/component-library/overview/interfaces

If this helps, Please mark it as best answer.

Thanks!!
shekhar 46shekhar 46
hi Ankaiah, 
i went though this link, there are so ma y but i dont understood which one will be use to make component avaible for all feature.
thanks
AnkaiahAnkaiah (Salesforce Developers) 
Hi Shekhar,

Ist you need to know, what are all the places you need to make the compoenet avaiable.

I have given below some interfaces where we can use.

lightning:actionOverride
Enables a component to be used as an override for a standard action. You can override the View, New, Edit, and Tab standard actions on most standard and all custom components. This interface has no effect except when used within Lightning Experience, Experience Builder sites, and the Salesforce mobile app.

force:hasRecordId
This interface is used to indicate that a component takes a record (SObject) as an attribute.

force:hasSObjectName
Add the force:hasSObjectName interface to an Aura component to enable the component to be assigned the API name of current record’s sObject type. The sObject name is useful if the component can be used with records of different sObject types, and needs to adapt to the specific type of the current record. This interface has no effect except when used within Lightning Experience, the Salesforce mobile app, and sites based on Experience Builder templates.

force:appHostable
Add the force:appHostable interface to a Lightning component to allow it to be used as a custom tab in Lightning Experience or the Salesforce mobile app. Components that implement this interface can be used to create tabs in both Lightning Experience and the Salesforce mobile app.

force:lightningQuickAction
Add the force:lightningQuickAction interface to a Lightning component to allow it to be used as a custom action in Lightning Experience or the Salesforce mobile app. You can use these components as object-specific or global actions in both Lightning Experience and the Salesforce mobile app.

flexipage:availableForRecordHome
Able to be used inside a Record Home Lightning App Builder page

lightning:availableForFlowActions
Enables a component's controller to be used as an action in a flow.

flexipage:availableForAllPageTypes
Marks a component as being able to be used inside a Lightning App Builder page

lightning:availableForFlowScreens
To make a component available for flow screens, implement the lightning:availableForFlowScreens interface.

forceCommunity:layout
Enables a component to be used as a custom layout for creating pages in the Experience Builder

forceCommunity:availableForAllPageTypes
Enables a component for drag and drop in the Lightning Components panel in Experience Builder.

lightning:utilityItem
This interface is used to denote that a component can be included in the utility bar.

If you want to display your component in the above places then your componet should include like below.

<aura:component implements="lightning:actionOverride,
                            force:hasRecordId,
                            force:hasSObjectName,
                            force:appHostable,
                            force:lightningQuickAction,
                            flexipage:availableForRecordHome,
                            lightning:availableForFlowActions,
                            flexipage:availableForAllPageTypes,
                            lightning:availableForFlowScreens,
                            forceCommunity:layout,
                            forceCommunity:availableForAllPageTypes,
                            lightning:utilityItem
                            
                             ">

for the rest of them refer the below link.
https://developer.salesforce.com/docs/component-library/overview/interfaces

If this information helps, Please mark it as best answer.

Thanks!!
This was selected as the best answer