DocusignEnvelopeRequest:
- Add authReleaseFormCopies InvocableVariable (Integer, optional, 1-3)
DocusignCompositeEnvelopeBuilder:
- Add MULTI_COPY_TEMPLATE_NAME constant (single place to update if the
template is renamed; matched via LIKE '%...%' covering both languages)
- Before building the document list, query for template IDs matching the
multi-copy template name and append (copies-1) additional IDs so the
envelope contains the correct number of distinct documents
- Duplicate-safe label builder: appends '(Copy N)' suffix to keep
document labels unique within the envelope
- Build deduplicated displayNames list for email subject/body:
collapses multi-copy entries to a single line with a '(N)' count
suffix, e.g. 'Authorization to Release Information (3)'
- Email body: each template's message text is included only once even
when the same template ID appears multiple times (bodyIdsAdded guard)
- Log and Status label use displayNames (deduplicated) not raw docNames
- Created DocusignEnvelopeRequest.cls (separate global class for input)
- Created DocusignEnvelopeResult.cls (separate global class for output)
- Updated DocusignCompositeEnvelopeBuilder to use standalone classes
- Updated DocusignEnvelopeRequestHandler to reference standalone classes
- Updated all test classes to use new class references
- Fixes Flow Builder visibility issues with nested inner classes
- Better API design with clear input/output types
- Easier to extend and reuse across other classes