adobe-to-docusign-migrator/field-mapping.md

5.6 KiB
Raw Blame History

Field Mapping: Adobe Sign → DocuSign

This doc tracks direct mappings and required transforms between Adobe Sign library document (template) properties and DocuSign template properties.

Field Type Mapping (inputType + contentType + validation → DocuSign tab)

Adobe Sign requires inputType, contentType, and sometimes validation to determine the correct DocuSign tab. Source: Adobe Sign UI "Change field type" dropdown (all 15 types) + API field data.

Adobe UI Label inputType contentType validation DocuSign Tab Notes
Signature SIGNATURE SIGNATURE signHereTabs
Initials SIGNATURE SIGNER_INITIALS initialHereTabs NOT a full signature
Recipient name TEXT_FIELD SIGNER_NAME fullNameTabs Auto-populated from signer profile
Recipient email TEXT_FIELD SIGNER_EMAIL emailAddressTabs Auto-populated from signer profile
Date of signing TEXT_FIELD SIGNATURE_DATE dateSignedTabs Auto-populated on signing
Text TEXT_FIELD DATA STRING textTabs
Date TEXT_FIELD DATA DATE dateTabs User-entered date (not auto-signed date)
Number TEXT_FIELD DATA NUMBER numberTabs
Drop-down menu DROP_DOWN DATA listTabs Options from hiddenOptions array
Attachments FILE_CHOOSER DATA signerAttachmentTabs Manual review recommended
Participation stamp PARTICIPATION_STAMP (skipped) No DocuSign equivalent
Image INLINE_IMAGE DATA (skipped) No DocuSign equivalent
Company TEXT_FIELD COMPANY or SIGNER_COMPANY companyTabs Auto-populated from signer profile. API returns SIGNER_COMPANY when set via UI.
Title TEXT_FIELD TITLE or SIGNER_TITLE titleTabs Auto-populated from signer profile. API returns SIGNER_TITLE when set via UI.
Stamp STAMP (skipped) No DocuSign equivalent
Signature block BLOCK SIGNATURE_BLOCK signHereTabs Composite block — mapped to sign-here

Role/Recipient Mapping

Adobe Field DocuSign Field Notes
recipientSetRole role (signer, etc.) Matching by role name
recipientSetMemberInfos.email role.email

Known Edge Cases & Decision Log

  • [2026-04-14] DocuSign checkboxes must be uniquely tab-labeled and mapped to a recipient; Adobe Sign sometimes groups these differently.
  • [2026-04-14] Date fields on Adobe may include validation Adobe-only, which needs stripping or custom mapping for DocuSigns dateSigned.
  • [2026-04-14] Conditional logic for showing/hiding fields in Adobe is not always supported in DocuSign (needs review for each case).
  • [2026-04-15] numberTabs API bug: DocuSign API accepts numberTabs in the template JSON, but the created template displays as a Text field with "Numbers" validation in the editor. Functionally equivalent at signing time; visual/semantic discrepancy only. No API workaround known.
  • [2026-04-15] Multi-location fields: Adobe Sign fields can have multiple locations (cloned/synced instances). DocuSign equivalent is tab merging — multiple tabs with the same tabLabel sync their value. Our compose script now emits one tab per location for all data-entry types. See PLATFORM-QUIRKS.md for full details.
  • [2026-04-15] Tab width required: DocuSign text-entry tabs render as a vertical line if width is omitted. Always pass width (and height) from the Adobe Sign location. Minimum 120pt enforced.

Workflow Feature Mapping (Rough)

  • Sequential routing → Recipient order
  • Parallel routing → Recipient routing order logic (sequential/parallel in DocuSign)
  • Conditional logic → Needs review, possible via DocuSign conditional tabs/logic

Transform Formulas & Known Mapping Gaps

  • Coordinate translation: If Adobe origin differs from DocuSign, map as: docusign_left = adobe_left // or apply offset, scale, etc.
  • Radio group flattening: Merge Adobe radios with radioGroup into DocuSign radio tab, setting all options explicitly.
  • Missing/ambiguous features:
    • DocuSign formulas (no mapping in Adobe Sign) — flag for manual rewrite
    • Adobe advanced field validations (regex, custom scripts) — usually skipped or mapped to best-effort validation in DocuSign

To Do

  • Add table for conditional logic/rule mapping
  • Add validation/transforms needed for field masks, validation, default values
  • Document more edge cases as they are discovered in real samples
  • Collect pain points/edge cases for high-fidelity migration