We have 4 Action Plan Templates set up in our sandbox with "Criteria Change" in the name, and are trying to assign all 4 of them to a single custom object record. We're running the following script
Map<Id,LabsActionPlans__ActionPlanTemplate__c> actionTemplates = new Map<ID, LabsActionPlans__ActionPlanTemplate__c>([SELECT ID, Name, LabsActionPlans__Description__c, LabsActionPlans__SkipWeekends__c,
LabsActionPlans__SkipDay__c FROM LabsActionPlans__ActionPlanTemplate__c WHERE Name like '%Criteria Change%']);
List<LabsActionPlans.ActionPlanCreateInvocable.CreateActionPlanRequest> requests = new List<LabsActionPlans.ActionPlanCreateInvocable.CreateActionPlanRequest>();
for(LabsActionPlans__ActionPlanTemplate__c ap: actionTemplates.values()) {
LabsActionPlans.ActionPlanCreateInvocable.CreateActionPlanRequest req = new
LabsActionPlans.ActionPlanCreateInvocable.CreateActionPlanRequest();
req.templateNameOrID = ap.Id;
req.relatedRecordID = 'a1e7e000007j37gAAA';
req.daysToActionPlanStart = 1;
requests.add(req);
}
system.debug('requests : ' + requests);
List<Id> resultIDs = LabsActionPlans.ActionPlanCreateInvocable.makeActionPlanFromTemplate(requests);
system.debug('resultIDs : ' + resultIDs);
The first debug statement prints (formatted for readability, note templateNameOrID is unique in each of the 4 cases):
09:55:42:014 USER_DEBUG [14]|DEBUG|requests : (
CreateActionPlanRequest:[daysToActionPlanStart=1, relatedRecordID=a1e7e000007j37gAAA, templateNameOrID=a0I7e000009i8AhEAI],
CreateActionPlanRequest:[daysToActionPlanStart=1, relatedRecordID=a1e7e000007j37gAAA, templateNameOrID=a0I7e000009i8AcEAI],
CreateActionPlanRequest:[daysToActionPlanStart=1, relatedRecordID=a1e7e000007j37gAAA, templateNameOrID=a0I7e000009i8AwEAI],
CreateActionPlanRequest:[daysToActionPlanStart=1, relatedRecordID=a1e7e000007j37gAAA, templateNameOrID=a0I7e000009i8ArEAI])
09:58:22:798 USER_DEBUG [16]|DEBUG|resultIDs : (a0J7e000006bBRHEA2, a0J7e000006bBRHEA2, a0J7e000006bBRHEA2, a0J7e000006bBRHEA2)
Ultimately one 1 Action Plan is ever created on the target custom object record.