Conga Product Documentation

Welcome to the new doc site. Some of your old bookmarks will no longer work. Please use the search bar to find your desired topic.

Code Sample

// ===================================================================================
//	Step 1 - select process
// ===================================================================================
// agreement id
ID agmtId = 'a013l00000vbQaPAAU';
// content document id
ID contentDocId = '0693l00000HookC';
// get content version
List<ContentVersion> contentVersions = [SELECT Id, VersionNumber, Title, PathOnClient, ContentDocumentId, ContentDocument.Title									    	FROM ContentVersion
					WHERE ContentDocumentId = :contentDocId];
system.debug('contentVersions[0]='+contentVersions[0]);
ID contentVersionId = contentVersions[0].Id;
system.debug('contentVersionId='+contentVersionId);
// select process
ID processId = Apttus_Approval.ApprovalsWebService.selectApprovalProcess('Apttus__APTS_Agreement__c', agmtId);
system.debug('processId='+processId);
// ===================================================================================
//	Step 2 - clone email templates
// ===================================================================================
// get email templates for process
// Apttus My Approvals Notification (Assignment)
ID asTemplateId = '00X1N000000jwAr';
// Apttus My Approvals Notification (Reassignment)
ID reTemplateId = '00X1N000000jwAv';
// Apttus My Approvals Notification (Escalation)
ID esTemplateId = '00X1N000000jwAt';
// Apttus My Approvals Notification (NotifyOnly)
ID noTemplateId = '00X1N000000jwAu';
// clone templates
ID asClonedTemplateId = Apttus_Approval.ApprovalsWebService.cloneEmailTemplate(asTemplateId);
ID reClonedTemplateId = Apttus_Approval.ApprovalsWebService.cloneEmailTemplate(reTemplateId);
ID esClonedTemplateId = Apttus_Approval.ApprovalsWebService.cloneEmailTemplate(esTemplateId);
ID noClonedTemplateId = Apttus_Approval.ApprovalsWebService.cloneEmailTemplate(noTemplateId);
system.debug('asClonedTemplateId='+asClonedTemplateId);
system.debug('reClonedTemplateId='+reClonedTemplateId);
system.debug('esClonedTemplateId='+esClonedTemplateId);
system.debug('noClonedTemplateId='+noClonedTemplateId);
// ===================================================================================
//	Step 3 - copy attachments to cloned email templates
// ===================================================================================
// have to do this in separate execution thread otherwise get error:
ID processId = 'a0v3l00000Lp9S1AAJ';
ID contentVersionId = '0683l00000IlB4xAAF';
ID asClonedTemplateId = '00X3l000001qRAHEA2';
ID reClonedTemplateId = '00X3l000001qRAIEA2';
ID esClonedTemplateId = '00X3l000001qRAJEA2';
ID noClonedTemplateId = '00X3l000001qRAKEA2';
// copy attachments to cloned templates
Boolean copyAs = Apttus_Approval.ApprovalsWebService.copyAttachment(asClonedTemplateId, contentVersionId);
Boolean copyRe = Apttus_Approval.ApprovalsWebService.copyAttachment(reClonedTemplateId, contentVersionId);
Boolean copyEs = Apttus_Approval.ApprovalsWebService.copyAttachment(esClonedTemplateId, contentVersionId);
Boolean copyNo = Apttus_Approval.ApprovalsWebService.copyAttachment(noClonedTemplateId, contentVersionId);
// ===================================================================================
//	Step 4 - submit with attachments
// ===================================================================================
ID agmtId = 'a013l00000vbQaPAAU';
ID processId = 'a0v3l00000Lp9S1AAJ';
ID asClonedTemplateId = '00X3l000001qRAHEA2';
ID reClonedTemplateId = '00X3l000001qRAIEA2';
ID esClonedTemplateId = '00X3l000001qRAJEA2';
ID noClonedTemplateId = '00X3l000001qRAKEA2';
// get cloned template names
List<ID> clonedTemplateIds = new List<ID>();
clonedTemplateIds.add(asClonedTemplateId);
clonedTemplateIds.add(reClonedTemplateId);
clonedTemplateIds.add(esClonedTemplateId);
clonedTemplateIds.add(noClonedTemplateId);
List<EmailTemplate> templates = [SELECT Id, DeveloperName
                                 FROM EmailTemplate
                                 WHERE Id IN :clonedTemplateIds];
system.debug('templates='+templates);
String asClonedTemplateName = 'TEMPpEUFEwzmOwGmG7gMTwMn4MQPd';
String reClonedTemplateName = 'TEMPkBT6h3HbJSvkNn2jN2aYGDv7A';
String esClonedTemplateName = 'TEMPlDvMQ2epmJpk33IhrJUxDkCpG';
String noClonedTemplateName = 'TEMPlMgrRErwNI7ZnJrajTZrdP4Du';
// create process properties map containing cloned template names
Map<String,String> templateFldName2NameMap = new Map<String,String>();
templateFldName2NameMap.put('Apttus_Approval__AssignmentEmailTemplate__c', asClonedTemplateName);
templateFldName2NameMap.put('Apttus_Approval__ReassignmentEmailTemplate__c', reClonedTemplateName);
templateFldName2NameMap.put('Apttus_Approval__EscalationEmailTemplate__c', esClonedTemplateName);
templateFldName2NameMap.put('Apttus_Approval__NotifyOnlyEmailTemplate__c', noClonedTemplateName);
system.debug('templateFldName2NameMap='+templateFldName2NameMap);
// submit with attachments
Apttus_Approval.ApprovalsWebService.submitForApprovalsWithAttachments('Apttus__APTS_Agreement__c', 
                                                      			agmtId, 
                                                      			processId,
                                                      			templateFldName2NameMap);