# DocuSign CLM Template Mapping Snippet This document reflects an older JSON-oriented payload experiment and is retained only as historical reference. The current working implementation uses `Appraiser_Case__c` and `Appraiser_Case_Deficiency__c` through the XML merge path. ## Suggested Merge Payload ```json { "templateKey": "APPRAISER_REVIEW_LETTER", "recordId": "a01XXXXXXXXXXXX", "sourceObject": "Appraiser_Case__c", "mergeData": { "appraiserCaseNumber": "AC-000123", "appraiserFieldReviewDate": "2026-04-01", "propertyStreet": "123 Main St", "propertyCity": "Ottawa", "propertyStateProvince": "ON", "propertyPostalCode": "K1A 0A1", "propertyCountry": "Canada", "propertyAddressSingleLine": "123 Main St | Ottawa, ON, K1A 0A1 | Canada", "deficiencies": [ { "deficiencyNumber": "1", "description": "Missing comparable sale analysis", "resolution": "Provide updated comparable sales section", "sortOrder": 1 } ] } } ``` ## Suggested Template Tokens Use the actual DocuSign CLM token syntax used in your tenant, but the field model should be equivalent to: - `{{mergeData.appraiserCaseNumber}}` - `{{mergeData.appraiserFieldReviewDate}}` - `{{mergeData.propertyStreet}}` - `{{mergeData.propertyCity}}` - `{{mergeData.propertyStateProvince}}` - `{{mergeData.propertyPostalCode}}` - `{{mergeData.propertyCountry}}` - `{{mergeData.propertyAddressSingleLine}}` ### Deficiency Repeat Block ```handlebars {{#each mergeData.deficiencies}} | {{deficiencyNumber}} | {{description}} | {{resolution}} | {{/each}} ``` ## Recommended Letter Sections 1. Header / logo block 2. Review metadata - Case number - Field review date - Property address 3. Deficiency table - Deficiency number - Description - Resolution 4. Closing / signature block ## Notes - Keep deficiency rows as repeatable child data, not a flattened text blob. - The active implementation in this repo now uses `AppraiserCasePayloadBuilder` plus `CLMDocGenCallout` rather than `AppraiserCaseDocGenService`.