salesforce-composite-envelo.../composite-envelope-builder/QUICK_START.md

6.4 KiB

Quick Start Guide

Phase 2 Complete: Code Development

All Apex classes and tests have been created! Here's what you have:

📦 Code Files Created (6 classes)

Main Classes:

  1. DocusignCompositeEnvelopeBuilder.cls (11.5 KB) - Invocable method for Flow integration
  2. DocusignAPIService.cls (10.5 KB) - REST API service layer
  3. DocusignCredentials.cls (5.9 KB) - Credential management

Test Classes: 4. DocusignCompositeEnvelopeBuilderTest.cls (13.8 KB) - 12 test methods 5. DocusignAPIServiceTest.cls (11.7 KB) - 14 test methods 6. DocusignCredentialsTest.cls (8.0 KB) - 13 test methods

Total: 39 test methods for comprehensive coverage!

Metadata:

  • Custom Setting: Docusign_Configuration__c with Account_Id__c and Base_URL__c fields
  • All .cls-meta.xml files (API version 61.0)

🚀 Next Steps (Deployment)

Step 1: Open Project in VS Code

cd ~/.openclaw/workspace/projects/salesforce-composite-envelope-builder/composite-envelope-builder
code .

Step 2: Install Salesforce Extension Pack (if not already installed)

In VS Code:

  1. Open Extensions (Ctrl+Shift+X)
  2. Search for "Salesforce Extension Pack"
  3. Click Install

Step 3: Authorize Your Salesforce Org

For Sandbox:

sf org login web --alias my-sandbox --instance-url https://test.salesforce.com

For Production:

sf org login web --alias my-production --instance-url https://login.salesforce.com

This will open a browser window. Log in with your Salesforce credentials.

Step 4: Set Default Org

sf config set target-org my-sandbox

Step 5: Deploy to Sandbox

sf project deploy start --target-org my-sandbox

Expected output:

Deploying v61.0 metadata to my-sandbox
Status: Succeeded

Component Deployed:
  ApexClass DocusignCompositeEnvelopeBuilder
  ApexClass DocusignAPIService
  ApexClass DocusignCredentials
  ApexClass DocusignCompositeEnvelopeBuilderTest
  ApexClass DocusignAPIServiceTest
  ApexClass DocusignCredentialsTest
  CustomObject Docusign_Configuration__c

Step 6: Run Unit Tests

sf apex run test --wait 10 --result-format human --code-coverage --target-org my-sandbox

Expected output:

=== Test Summary ===
Outcome: Passed
Tests Ran: 39
Passing: 39
Failing: 0
Skipped: 0
Pass Rate: 100%
Code Coverage: 85%+

Step 7: Configure Docusign Credentials

  1. Create Named Credential (see docs/deployment-guide.md section 3.1)

    • Setup → Named Credentials → New Named Credential
    • Name: DocusignAPI
    • URL: https://na3.docusign.net/restapi/v2.1 (or your data center)
  2. Configure Custom Settings

    • Setup → Custom Settings → Docusign Configuration → Manage
    • Click "New" (organization-wide default)
    • Account Id: {Your Docusign Account GUID}
    • Base URL: callout:DocusignAPI
    • Save
  3. Add Remote Site Settings

    • Setup → Remote Site Settings → New Remote Site
    • Name: Docusign_API
    • URL: https://na3.docusign.net
    • Active: ✓

Step 8: Update Screen Flow

See docs/deployment-guide.md section 5 for detailed Flow configuration steps.

Summary:

  1. Open your existing form selection Flow
  2. Add Apex Action element (after template selection)
  3. Select action: Send Composite Docusign Envelope
  4. Map inputs:
    • templateIds{!SelectedTemplateIds} (from checkboxes)
    • recordId{!recordId}
    • language{!SelectedLanguage}
    • emailSubject → "Please review and sign these forms"
  5. Store outputs:
    • envelopeId{!EnvelopeId}
    • success{!Success}
    • errorMessage{!ErrorMessage}
  6. Add Decision element for success/error handling
  7. Save & Activate

Step 9: Test Integration

  1. Navigate to Salesforce record
  2. Launch Screen Flow
  3. Select language: English
  4. Check 2-3 templates
  5. Click Send
  6. Verify:
    • Success message shown
    • Envelope ID displayed
    • Check Docusign: envelope created with multiple documents
    • Recipients receive ONE email

📚 Documentation

All docs are in the docs/ folder:

  • requirements.md - What we're building and why
  • design.md - Architecture, sequence diagrams, data flow
  • api-reference.md - Docusign REST API details
  • deployment-guide.md - Complete deployment instructions

🧪 Test Coverage Details

DocusignCompositeEnvelopeBuilderTest (12 methods):

  • Success with 3 templates
  • Single template (minimum)
  • 14 templates (maximum)
  • Duplicate template handling
  • Custom fields support
  • Validation: no templates
  • Validation: too many templates (>14)
  • Validation: missing record ID
  • API error 400 (bad request)
  • API error 401 (unauthorized)
  • JSON builder test

DocusignAPIServiceTest (14 methods):

  • Successful envelope creation
  • Parse envelope ID
  • Parse envelope ID missing
  • Handle errors: 400, 401, 403, 404, 429, 500
  • Retry logic (transient failures)
  • Build HTTP request
  • Execute with retry (non-retryable error)

DocusignCredentialsTest (13 methods):

  • Singleton pattern
  • Load from Custom Settings
  • Get access token, account ID, base URL
  • Validate success
  • Validate failures: missing account ID, base URL, token
  • Set test credentials
  • Reset instance
  • Missing Custom Settings error
  • Named Credential format

Total: 39 test methods across 6 classes


🎯 Project Status

Phase Status
Requirements & Design Complete
Apex Code Development Complete
Unit Tests Complete (39 tests)
Documentation Complete (56+ KB)
Deployment Ready to deploy
Flow Integration Awaiting deployment
Production Testing Next

💡 Tips

Before Deploying:

  • Review docs/deployment-guide.md sections 2-3 for Docusign setup
  • Have your Docusign Integration Key ready
  • Know your Docusign Account ID

After Deploying:

  • Run all tests to verify 100% pass rate
  • Check debug logs for any issues
  • Test with 1 template first, then multiple

Flow Modification:

  • Keep your existing template selection UI
  • Replace the loop that sends individual envelopes
  • Add the Apex Action in place of the loop

Need Help?

Check the troubleshooting section in docs/deployment-guide.md (section 10) for common issues and solutions.


Project Created: February 23, 2026
Developer: Paul Huliganga
Ready to Deploy: YES! 🚀