Getting Started with Salesforce Quick Action APIs – Part 2 (Automatically populate fields with custom data values)

This is the 2nd post on Salesforce Quick Action APIs - Part 2. For Part 1 Please refer to this link Getting Started with Quick Action APIs – Part 1

This Quick Action APIs – Part 2 where we will focus on how to set default values while calling a quick action so that some fields where data should come from the current custom screen will be auto-populated upon execution. 

Note: For Quick Action APIs to work the requested component should be present on the record current screen from where this action will invoke else system will through error ☹️

Below is simple Lightning Aura Component - Screen and ControllerJS
<aura:component controller="QuickActionAPIScreenController" implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction" access="global" >
<!-- Attribute defination -->
<lightning:quickActionAPI aura:id="quickActionAPI" />
<!-- Screen defination -->
<div>
<!- Add required screen components here..... -->
</div>
<br/>
<div>
<lightning:button label="Submit Quote" onclick="{!c.callCaseCloseAction}"/>
</div>
</aura:component>
({
callCaseCloseAction : function( component, event, helper ) {
var actionAPI = component.find("quickActionAPI");
var fields = {
Status : {value : 'Closed'},
Subject : { value : 'Case Ticket Resolved and Closed' },
};
var args = {actionName : "CloseCase",
entityName : "Case",
targetFields : fields };
actionAPI.setActionFieldValues(args).then(function() {
// Call this if you donot want any other User interaction. This will automatically Submit the action.
actionAPI.invokeAction(args);
}).catch(function(e) {
console.log('Error upon calling Email Action: ', JSON.stringify(e));
});
},
})

The key items are: 
  • lightning:quickActionAPI - Used for including Quick Action API in a component
  • setActionFieldValues - Promise function used for calling and setting default values. Here for setting values the syntax will be in this formate- field API name with a JSON object with the key will be "Value" and value will be either String or Array separated by a colon ":"

Comments

Popular posts from this blog

Getting Started with Salesforce Quick Action APIs – Part 1 (Invoke using custom button)

Getting Started with Salesforce Quick Action APIs – Part 3 (Email Action with file attachment)

Getting Started with Salesforce Quick Action APIs – Part 4 (Email Action with email template)