diff --git a/composite-envelope-builder/force-app/main/default/classes/DocusignCompositeEnvelopeBuilder.cls b/composite-envelope-builder/force-app/main/default/classes/DocusignCompositeEnvelopeBuilder.cls index c5c26a5..ae8d5a8 100644 --- a/composite-envelope-builder/force-app/main/default/classes/DocusignCompositeEnvelopeBuilder.cls +++ b/composite-envelope-builder/force-app/main/default/classes/DocusignCompositeEnvelopeBuilder.cls @@ -49,21 +49,31 @@ global with sharing class DocusignCompositeEnvelopeBuilder { sortedTemplateIds.sort(); // Query template names for document labels (shows in Docusign Status) + // Uses Short_Name__c if populated, otherwise falls back to Name (with language suffix stripped) Map templateNames = new Map(); + Map templateShortNames = new Map(); for (dfsle__EnvelopeConfiguration__c config : [ - SELECT dfsle__DocuSignId__c, Name + SELECT dfsle__DocuSignId__c, Name, Short_Name__c FROM dfsle__EnvelopeConfiguration__c WHERE dfsle__DocuSignId__c IN :sortedTemplateIds ]) { templateNames.put(config.dfsle__DocuSignId__c, config.Name); + if (String.isNotBlank(config.Short_Name__c)) { + templateShortNames.put(config.dfsle__DocuSignId__c, config.Short_Name__c); + } } List documents = new List(); List docNames = new List(); for (String templateId : sortedTemplateIds) { - String label = templateNames.containsKey(templateId) - ? stripLanguageSuffix(templateNames.get(templateId)) - : templateId; + String label; + if (templateShortNames.containsKey(templateId)) { + label = templateShortNames.get(templateId); + } else if (templateNames.containsKey(templateId)) { + label = stripLanguageSuffix(templateNames.get(templateId)); + } else { + label = templateId; + } documents.add( dfsle.Document.fromTemplate( dfsle.UUID.parse(templateId),