trigger accTrig2 on Contact (before insert) { for (Contact c : Trigger.new) { if (c.getQuickActionName() == QuickAction.CreateContact) { c.WhereFrom__c = 'GlobaActionl'; } else if (c.getQuickActionName() == Schema.Account.QuickAction.CreateContact) { c.WhereFrom__c = 'AccountAction'; } else if (c.getQuickActionName() == null) { c.WhereFrom__c = 'NoAction'; } else { System.assert(false); } } }
public Id globalCreate(Contact c) { QuickAction.QuickActionRequest req = new QuickAction.QuickActionRequest(); req.quickActionName = QuickAction.CreateContact; req.record = c; QuickAction.QuickActionResult res = QuickAction.performQuickAction(req); return c.id; }
The following are methods for QuickAction. All methods are static.
public static List<QuickAction.DescribeAvailableQuickActionResult> describeAvailableQuickActions(String parentType)
Type: List<QuickAction.DescribeAvailableQuickActionResult>
The metadata information for the available quick actions of the parent object.
// Called for Account entity. List<QuickAction.DescribeAvailableQuickActionResult> result1 = QuickAction.DescribeAvailableQuickActions('Account'); // Called at global level, not entity level. List<QuickAction.DescribeAvailableQuickActionResult> result2 = QuickAction.DescribeAvailableQuickActions('Global');
public static List<QuickAction.DescribeQuickActionResult> describeAvailableQuickActions(List<String> sObjectNames)
Type: List<QuickAction.DescribeQuickActionResult>
The metadata information for the provided quick actions.
// First 3 parameter values are for actions at the entity level. // Last parameter is for an action at the global level. List<QuickAction.DescribeQuickActionResult> result = QuickAction.DescribeQuickActions(new List<String> { 'Account.QuickCreateContact', 'Opportunity.Update1', 'Contact.Create1', 'Global.CreateNewContact' });
public static QuickAction.QuickActionResult performQuickAction(QuickAction.QuickActionRequest quickActionRequest)
public static QuickAction.QuickActionResult performQuickAction(QuickAction.QuickActionRequest quickActionRequest, Boolean allOrNothing)
public static List<QuickAction.QuickActionResult> performQuickActions(List<QuickAction.QuickActionRequest> quickActionRequests)
public static List<QuickAction.QuickActionResult> performQuickActions(List<QuickAction.QuickActionRequest> quickActionRequests, Boolean allOrNothing)