feat(sms): SMS delivery via dfsle withSmsDelivery() for recipients without email
- Add recipientSmsPhone InvocableVariable to DocusignEnvelopeRequest - Add SMS_PLACEHOLDER_EMAIL constant to DocusignCompositeEnvelopeBuilder - Update resolveRecipients() and buildRecipient() to accept smsPhone param - Chain .withSmsDelivery(smsPhone) on recipient when smsPhone is provided - Substitute placeholder email when recipient has no email and SMS phone given - Add Flow V4 with Get_Recipient_Contact lookup, Is_Recipient_Email_Blank decision, and SMS_Phone_Screen to collect phone for no-email recipients - V3 left untouched for existing Salesforce deployments
This commit is contained in:
parent
86e7d2fb62
commit
e41e43cabd
|
|
@ -29,6 +29,17 @@ global with sharing class DocusignCompositeEnvelopeBuilder {
|
||||||
@TestVisible
|
@TestVisible
|
||||||
private static final String MULTI_COPY_TEMPLATE_NAME = 'Authorization to Release Information';
|
private static final String MULTI_COPY_TEMPLATE_NAME = 'Authorization to Release Information';
|
||||||
|
|
||||||
|
// ============================================================
|
||||||
|
// SMS DELIVERY: Placeholder email used when the primary recipient
|
||||||
|
// (Docusign Recipient #1) has no email address and SMS delivery is
|
||||||
|
// requested via recipientSmsPhone. Docusign requires an email on
|
||||||
|
// every recipient even when dfsle.Recipient.withSmsDelivery() is used;
|
||||||
|
// this placeholder satisfies that requirement without routing any
|
||||||
|
// actual email — delivery occurs entirely via SMS.
|
||||||
|
// ============================================================
|
||||||
|
@TestVisible
|
||||||
|
private static final String SMS_PLACEHOLDER_EMAIL = 'placeholder_email@docusign.com';
|
||||||
|
|
||||||
@InvocableMethod(
|
@InvocableMethod(
|
||||||
label='Send Composite Docusign Envelope'
|
label='Send Composite Docusign Envelope'
|
||||||
description='Combines multiple Docusign templates into a single envelope using dfsle Apex Toolkit'
|
description='Combines multiple Docusign templates into a single envelope using dfsle Apex Toolkit'
|
||||||
|
|
@ -188,7 +199,7 @@ global with sharing class DocusignCompositeEnvelopeBuilder {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Resolve recipients from Client_Case__c lookup fields
|
// Resolve recipients from Client_Case__c lookup fields
|
||||||
List<dfsle.Recipient> recipients = resolveRecipients(req.recordId);
|
List<dfsle.Recipient> recipients = resolveRecipients(req.recordId, req.recipientSmsPhone);
|
||||||
myEnvelope = myEnvelope.withRecipients(recipients);
|
myEnvelope = myEnvelope.withRecipients(recipients);
|
||||||
|
|
||||||
// Set envelope subject to combined display names (deduplicated, with copy counts).
|
// Set envelope subject to combined display names (deduplicated, with copy counts).
|
||||||
|
|
@ -256,9 +267,13 @@ global with sharing class DocusignCompositeEnvelopeBuilder {
|
||||||
* @description Resolves recipients from Client_Case__c lookup fields.
|
* @description Resolves recipients from Client_Case__c lookup fields.
|
||||||
* Queries the case record and related contacts to get name/email.
|
* Queries the case record and related contacts to get name/email.
|
||||||
* @param recordId The Client_Case__c record ID
|
* @param recordId The Client_Case__c record ID
|
||||||
|
* @param smsPhone Optional SMS phone for the primary recipient. When provided,
|
||||||
|
* the Docusign Recipient #1 is configured for SMS delivery via
|
||||||
|
* dfsle.Recipient.withSmsDelivery() and a placeholder email is
|
||||||
|
* substituted if the recipient has no email address.
|
||||||
* @return List of dfsle.Recipient objects with role mappings
|
* @return List of dfsle.Recipient objects with role mappings
|
||||||
*/
|
*/
|
||||||
private static List<dfsle.Recipient> resolveRecipients(String recordId) {
|
private static List<dfsle.Recipient> resolveRecipients(String recordId, String smsPhone) {
|
||||||
// Query the Client_Case__c record with recipient lookup fields
|
// Query the Client_Case__c record with recipient lookup fields
|
||||||
// NOTE: Adjust field API names if they differ in your org
|
// NOTE: Adjust field API names if they differ in your org
|
||||||
String query = 'SELECT Id, '
|
String query = 'SELECT Id, '
|
||||||
|
|
@ -271,16 +286,16 @@ global with sharing class DocusignCompositeEnvelopeBuilder {
|
||||||
List<dfsle.Recipient> recipients = new List<dfsle.Recipient>();
|
List<dfsle.Recipient> recipients = new List<dfsle.Recipient>();
|
||||||
Integer routingOrder = 1;
|
Integer routingOrder = 1;
|
||||||
|
|
||||||
// Recipient 1: Service Coordinator
|
// Recipient 1: Service Coordinator (always email delivery)
|
||||||
Id serviceCoordinatorId = (Id) caseRecord.get(FIELD_SERVICE_COORDINATOR);
|
Id serviceCoordinatorId = (Id) caseRecord.get(FIELD_SERVICE_COORDINATOR);
|
||||||
if (serviceCoordinatorId != null) {
|
if (serviceCoordinatorId != null) {
|
||||||
recipients.add(buildRecipient(serviceCoordinatorId, ROLE_SERVICE_COORDINATOR, routingOrder++, recordId));
|
recipients.add(buildRecipient(serviceCoordinatorId, ROLE_SERVICE_COORDINATOR, routingOrder++, recordId, null));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Recipient 2: Docusign Recipient #1
|
// Recipient 2: Docusign Recipient #1 (SMS delivery when smsPhone is provided)
|
||||||
Id docusignRecipientId = (Id) caseRecord.get(FIELD_DOCUSIGN_RECIPIENT);
|
Id docusignRecipientId = (Id) caseRecord.get(FIELD_DOCUSIGN_RECIPIENT);
|
||||||
if (docusignRecipientId != null) {
|
if (docusignRecipientId != null) {
|
||||||
recipients.add(buildRecipient(docusignRecipientId, ROLE_DOCUSIGN_RECIPIENT, routingOrder++, recordId));
|
recipients.add(buildRecipient(docusignRecipientId, ROLE_DOCUSIGN_RECIPIENT, routingOrder++, recordId, smsPhone));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (recipients.isEmpty()) {
|
if (recipients.isEmpty()) {
|
||||||
|
|
@ -292,14 +307,20 @@ global with sharing class DocusignCompositeEnvelopeBuilder {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description Builds a dfsle.Recipient from a Contact/User lookup ID
|
* @description Builds a dfsle.Recipient from a Contact/User lookup ID.
|
||||||
|
* When smsPhone is provided the recipient is configured for SMS
|
||||||
|
* delivery via dfsle.Recipient.withSmsDelivery(). If the recipient
|
||||||
|
* has no email address and SMS delivery is requested, SMS_PLACEHOLDER_EMAIL
|
||||||
|
* is substituted — Docusign requires an email field on every recipient
|
||||||
|
* even when delivery is via SMS.
|
||||||
* @param recipientId The Contact or User record ID
|
* @param recipientId The Contact or User record ID
|
||||||
* @param roleName The Docusign template role name
|
* @param roleName The Docusign template role name (must match exactly)
|
||||||
* @param routingOrder Signing order
|
* @param routingOrder Signing order
|
||||||
* @param sourceRecordId The source Client_Case__c record ID
|
* @param sourceRecordId The source Client_Case__c record ID
|
||||||
|
* @param smsPhone Optional phone number for SMS delivery. Null for email delivery.
|
||||||
* @return dfsle.Recipient configured for the role
|
* @return dfsle.Recipient configured for the role
|
||||||
*/
|
*/
|
||||||
private static dfsle.Recipient buildRecipient(Id recipientId, String roleName, Integer routingOrder, String sourceRecordId) {
|
private static dfsle.Recipient buildRecipient(Id recipientId, String roleName, Integer routingOrder, String sourceRecordId, String smsPhone) {
|
||||||
// Determine if this is a Contact or User
|
// Determine if this is a Contact or User
|
||||||
String objectType = recipientId.getSObjectType().getDescribe().getName();
|
String objectType = recipientId.getSObjectType().getDescribe().getName();
|
||||||
|
|
||||||
|
|
@ -320,17 +341,30 @@ global with sharing class DocusignCompositeEnvelopeBuilder {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (String.isBlank(recipientEmail)) {
|
if (String.isBlank(recipientEmail)) {
|
||||||
|
if (String.isNotBlank(smsPhone)) {
|
||||||
|
// SMS delivery requested — substitute placeholder email so the dfsle
|
||||||
|
// Toolkit can create the recipient. Actual delivery is via SMS only.
|
||||||
|
recipientEmail = SMS_PLACEHOLDER_EMAIL;
|
||||||
|
} else {
|
||||||
throw new IllegalArgumentException('No email found for ' + roleName + ' (' + recipientName + '). '
|
throw new IllegalArgumentException('No email found for ' + roleName + ' (' + recipientName + '). '
|
||||||
+ 'Please ensure the recipient has a valid email address.');
|
+ 'Please ensure the recipient has a valid email address.');
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return dfsle.Recipient.fromSource(
|
dfsle.Recipient recipient = dfsle.Recipient.fromSource(
|
||||||
recipientName,
|
recipientName,
|
||||||
recipientEmail,
|
recipientEmail,
|
||||||
null, // phone (optional)
|
null, // phone (not used — SMS delivery set below)
|
||||||
roleName, // must match template role exactly
|
roleName, // must match template role exactly
|
||||||
new dfsle.Entity(sourceRecordId) // source record for merge fields
|
new dfsle.Entity(sourceRecordId) // source record for merge fields
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Enable SMS delivery when a phone number is provided
|
||||||
|
if (String.isNotBlank(smsPhone)) {
|
||||||
|
recipient = recipient.withSmsDelivery(smsPhone);
|
||||||
|
}
|
||||||
|
|
||||||
|
return recipient;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void logResult(Integer templateCount, String envelopeId, String status, String errorMessage) {
|
private static void logResult(Integer templateCount, String envelopeId, String status, String errorMessage) {
|
||||||
|
|
|
||||||
|
|
@ -39,4 +39,11 @@ global class DocusignEnvelopeRequest {
|
||||||
required=false
|
required=false
|
||||||
)
|
)
|
||||||
global Integer authReleaseFormCopies;
|
global Integer authReleaseFormCopies;
|
||||||
|
|
||||||
|
@InvocableVariable(
|
||||||
|
label='Recipient SMS Phone'
|
||||||
|
description='Mobile phone number for SMS delivery when the primary recipient (Docusign Recipient #1) has no email address. Uses dfsle Recipient.withSmsDelivery(). A placeholder email is substituted automatically so the envelope can be created. Format: +15551234567 (E.164 preferred).'
|
||||||
|
required=false
|
||||||
|
)
|
||||||
|
global String recipientSmsPhone;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,765 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Flow xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<actionCalls>
|
||||||
|
<name>Send_Composite_Envelope</name>
|
||||||
|
<label>Send Composite Envelope</label>
|
||||||
|
<locationX>182</locationX>
|
||||||
|
<locationY>1082</locationY>
|
||||||
|
<actionName>DocusignCompositeEnvelopeBuilder</actionName>
|
||||||
|
<actionType>apex</actionType>
|
||||||
|
<connector>
|
||||||
|
<targetReference>Check_Envelope_Result</targetReference>
|
||||||
|
</connector>
|
||||||
|
<flowTransactionModel>Automatic</flowTransactionModel>
|
||||||
|
<inputParameters>
|
||||||
|
<name>templateIds</name>
|
||||||
|
<value>
|
||||||
|
<elementReference>compositeTemplateIds</elementReference>
|
||||||
|
</value>
|
||||||
|
</inputParameters>
|
||||||
|
<inputParameters>
|
||||||
|
<name>recordId</name>
|
||||||
|
<value>
|
||||||
|
<elementReference>recordId</elementReference>
|
||||||
|
</value>
|
||||||
|
</inputParameters>
|
||||||
|
<inputParameters>
|
||||||
|
<name>language</name>
|
||||||
|
<value>
|
||||||
|
<elementReference>Get_Records.Docusign_Envelope_Language__c</elementReference>
|
||||||
|
</value>
|
||||||
|
</inputParameters>
|
||||||
|
<inputParameters>
|
||||||
|
<name>authReleaseFormCopies</name>
|
||||||
|
<value>
|
||||||
|
<elementReference>authReleaseFormCopies</elementReference>
|
||||||
|
</value>
|
||||||
|
</inputParameters>
|
||||||
|
<inputParameters>
|
||||||
|
<name>recipientSmsPhone</name>
|
||||||
|
<value>
|
||||||
|
<elementReference>recipientSmsPhone</elementReference>
|
||||||
|
</value>
|
||||||
|
</inputParameters>
|
||||||
|
<nameSegment>DocusignCompositeEnvelopeBuilder</nameSegment>
|
||||||
|
<offset>0</offset>
|
||||||
|
<outputParameters>
|
||||||
|
<assignToReference>envelopeId</assignToReference>
|
||||||
|
<name>envelopeId</name>
|
||||||
|
</outputParameters>
|
||||||
|
<outputParameters>
|
||||||
|
<assignToReference>envelopeSuccess</assignToReference>
|
||||||
|
<name>success</name>
|
||||||
|
</outputParameters>
|
||||||
|
<outputParameters>
|
||||||
|
<assignToReference>envelopeErrorMessage</assignToReference>
|
||||||
|
<name>errorMessage</name>
|
||||||
|
</outputParameters>
|
||||||
|
</actionCalls>
|
||||||
|
<apiVersion>60.0</apiVersion>
|
||||||
|
<areMetricsLoggedToDataCloud>false</areMetricsLoggedToDataCloud>
|
||||||
|
<assignments>
|
||||||
|
<name>Add_Template_ID</name>
|
||||||
|
<label>Add Template ID</label>
|
||||||
|
<locationX>270</locationX>
|
||||||
|
<locationY>1106</locationY>
|
||||||
|
<assignmentItems>
|
||||||
|
<assignToReference>compositeTemplateIds</assignToReference>
|
||||||
|
<operator>Add</operator>
|
||||||
|
<value>
|
||||||
|
<elementReference>Build_Template_ID_Collection.dfsle__DocuSignId__c</elementReference>
|
||||||
|
</value>
|
||||||
|
</assignmentItems>
|
||||||
|
<connector>
|
||||||
|
<targetReference>Build_Template_ID_Collection</targetReference>
|
||||||
|
</connector>
|
||||||
|
</assignments>
|
||||||
|
<assignments>
|
||||||
|
<name>Flag_Auth_Release_Selected</name>
|
||||||
|
<label>Flag Authorization to Release Template Selected</label>
|
||||||
|
<locationX>270</locationX>
|
||||||
|
<locationY>1000</locationY>
|
||||||
|
<assignmentItems>
|
||||||
|
<assignToReference>authReleaseTemplateSelected</assignToReference>
|
||||||
|
<operator>Assign</operator>
|
||||||
|
<value>
|
||||||
|
<booleanValue>true</booleanValue>
|
||||||
|
</value>
|
||||||
|
</assignmentItems>
|
||||||
|
<connector>
|
||||||
|
<targetReference>Scan_For_Auth_Release_Template</targetReference>
|
||||||
|
</connector>
|
||||||
|
</assignments>
|
||||||
|
<assignments>
|
||||||
|
<name>Store_Auth_Release_Copies</name>
|
||||||
|
<label>Store Authorization to Release Copies Selection</label>
|
||||||
|
<locationX>182</locationX>
|
||||||
|
<locationY>1160</locationY>
|
||||||
|
<assignmentItems>
|
||||||
|
<assignToReference>authReleaseFormCopies</assignToReference>
|
||||||
|
<operator>Assign</operator>
|
||||||
|
<value>
|
||||||
|
<elementReference>authReleaseFormCopies_Radio</elementReference>
|
||||||
|
</value>
|
||||||
|
</assignmentItems>
|
||||||
|
<connector>
|
||||||
|
<targetReference>Build_Template_ID_Collection</targetReference>
|
||||||
|
</connector>
|
||||||
|
</assignments>
|
||||||
|
<decisions>
|
||||||
|
<name>Check_Envelope_Result</name>
|
||||||
|
<label>Check Envelope Result</label>
|
||||||
|
<locationX>182</locationX>
|
||||||
|
<locationY>1190</locationY>
|
||||||
|
<defaultConnector>
|
||||||
|
<targetReference>Error_Screen</targetReference>
|
||||||
|
</defaultConnector>
|
||||||
|
<defaultConnectorLabel>Default Outcome</defaultConnectorLabel>
|
||||||
|
<rules>
|
||||||
|
<name>Envelope_Sent_Successfully</name>
|
||||||
|
<conditionLogic>and</conditionLogic>
|
||||||
|
<conditions>
|
||||||
|
<leftValueReference>envelopeSuccess</leftValueReference>
|
||||||
|
<operator>EqualTo</operator>
|
||||||
|
<rightValue>
|
||||||
|
<booleanValue>true</booleanValue>
|
||||||
|
</rightValue>
|
||||||
|
</conditions>
|
||||||
|
<connector>
|
||||||
|
<targetReference>Success_Screen</targetReference>
|
||||||
|
</connector>
|
||||||
|
<label>Envelope Sent Successfully</label>
|
||||||
|
</rules>
|
||||||
|
</decisions>
|
||||||
|
<decisions>
|
||||||
|
<name>Check_Row_Selection</name>
|
||||||
|
<label>Check Row Selection</label>
|
||||||
|
<locationX>380</locationX>
|
||||||
|
<locationY>674</locationY>
|
||||||
|
<defaultConnector>
|
||||||
|
<targetReference>Row_not_selected</targetReference>
|
||||||
|
</defaultConnector>
|
||||||
|
<defaultConnectorLabel>Default Outcome</defaultConnectorLabel>
|
||||||
|
<rules>
|
||||||
|
<name>Is_Row_Selected</name>
|
||||||
|
<conditionLogic>and</conditionLogic>
|
||||||
|
<conditions>
|
||||||
|
<leftValueReference>data.firstSelectedRow.Id</leftValueReference>
|
||||||
|
<operator>IsNull</operator>
|
||||||
|
<rightValue>
|
||||||
|
<booleanValue>false</booleanValue>
|
||||||
|
</rightValue>
|
||||||
|
</conditions>
|
||||||
|
<connector>
|
||||||
|
<targetReference>Scan_For_Auth_Release_Template</targetReference>
|
||||||
|
</connector>
|
||||||
|
<label>Is Row Selected?</label>
|
||||||
|
</rules>
|
||||||
|
</decisions>
|
||||||
|
<decisions>
|
||||||
|
<name>Is_Auth_Release_Selected</name>
|
||||||
|
<label>Is Authorization to Release Info Selected?</label>
|
||||||
|
<locationX>380</locationX>
|
||||||
|
<locationY>890</locationY>
|
||||||
|
<defaultConnector>
|
||||||
|
<targetReference>Build_Template_ID_Collection</targetReference>
|
||||||
|
</defaultConnector>
|
||||||
|
<defaultConnectorLabel>No - Proceed</defaultConnectorLabel>
|
||||||
|
<rules>
|
||||||
|
<name>Auth_Release_Template_Found</name>
|
||||||
|
<conditionLogic>and</conditionLogic>
|
||||||
|
<conditions>
|
||||||
|
<leftValueReference>authReleaseTemplateSelected</leftValueReference>
|
||||||
|
<operator>EqualTo</operator>
|
||||||
|
<rightValue>
|
||||||
|
<booleanValue>true</booleanValue>
|
||||||
|
</rightValue>
|
||||||
|
</conditions>
|
||||||
|
<connector>
|
||||||
|
<targetReference>Authorization_Copies_Screen</targetReference>
|
||||||
|
</connector>
|
||||||
|
<label>Yes - Ask for copies</label>
|
||||||
|
</rules>
|
||||||
|
</decisions>
|
||||||
|
<decisions>
|
||||||
|
<name>Is_Language_Selected</name>
|
||||||
|
<label>Is Language Selected?</label>
|
||||||
|
<locationX>611</locationX>
|
||||||
|
<locationY>458</locationY>
|
||||||
|
<defaultConnector>
|
||||||
|
<targetReference>Language_Not_Added_Screen</targetReference>
|
||||||
|
</defaultConnector>
|
||||||
|
<defaultConnectorLabel>Default Outcome</defaultConnectorLabel>
|
||||||
|
<rules>
|
||||||
|
<name>Language_Selected</name>
|
||||||
|
<conditionLogic>and</conditionLogic>
|
||||||
|
<conditions>
|
||||||
|
<leftValueReference>Get_Records.Docusign_Envelope_Language__c</leftValueReference>
|
||||||
|
<operator>IsNull</operator>
|
||||||
|
<rightValue>
|
||||||
|
<booleanValue>false</booleanValue>
|
||||||
|
</rightValue>
|
||||||
|
</conditions>
|
||||||
|
<connector>
|
||||||
|
<targetReference>Language_Warning_Screen</targetReference>
|
||||||
|
</connector>
|
||||||
|
<label>Language Selected?</label>
|
||||||
|
</rules>
|
||||||
|
</decisions>
|
||||||
|
<decisions>
|
||||||
|
<name>Does_Row_Contain_Auth_Release</name>
|
||||||
|
<label>Does This Row Contain Authorization to Release Info?</label>
|
||||||
|
<locationX>270</locationX>
|
||||||
|
<locationY>890</locationY>
|
||||||
|
<defaultConnector>
|
||||||
|
<targetReference>Scan_For_Auth_Release_Template</targetReference>
|
||||||
|
</defaultConnector>
|
||||||
|
<defaultConnectorLabel>No</defaultConnectorLabel>
|
||||||
|
<rules>
|
||||||
|
<name>Row_Is_Auth_Release_Template</name>
|
||||||
|
<conditionLogic>and</conditionLogic>
|
||||||
|
<conditions>
|
||||||
|
<leftValueReference>Scan_For_Auth_Release_Template.Name</leftValueReference>
|
||||||
|
<operator>Contains</operator>
|
||||||
|
<rightValue>
|
||||||
|
<stringValue>Authorization to Release Information</stringValue>
|
||||||
|
</rightValue>
|
||||||
|
</conditions>
|
||||||
|
<connector>
|
||||||
|
<targetReference>Flag_Auth_Release_Selected</targetReference>
|
||||||
|
</connector>
|
||||||
|
<label>Yes</label>
|
||||||
|
</rules>
|
||||||
|
</decisions>
|
||||||
|
<recordLookups>
|
||||||
|
<name>Get_Recipient_Contact</name>
|
||||||
|
<label>Get Recipient Contact</label>
|
||||||
|
<locationX>611</locationX>
|
||||||
|
<locationY>242</locationY>
|
||||||
|
<assignNullValuesIfNoRecordsFound>true</assignNullValuesIfNoRecordsFound>
|
||||||
|
<connector>
|
||||||
|
<targetReference>Is_Recipient_Email_Blank</targetReference>
|
||||||
|
</connector>
|
||||||
|
<filterLogic>and</filterLogic>
|
||||||
|
<filters>
|
||||||
|
<field>Id</field>
|
||||||
|
<operator>EqualTo</operator>
|
||||||
|
<value>
|
||||||
|
<elementReference>Get_Records.Docusign_Recipient_1__c</elementReference>
|
||||||
|
</value>
|
||||||
|
</filters>
|
||||||
|
<getFirstRecordOnly>true</getFirstRecordOnly>
|
||||||
|
<object>Contact</object>
|
||||||
|
<queriedFields>Id</queriedFields>
|
||||||
|
<queriedFields>Email</queriedFields>
|
||||||
|
<queriedFields>Name</queriedFields>
|
||||||
|
<storeOutputAutomatically>true</storeOutputAutomatically>
|
||||||
|
</recordLookups>
|
||||||
|
<decisions>
|
||||||
|
<name>Is_Recipient_Email_Blank</name>
|
||||||
|
<label>Is Recipient Email Blank?</label>
|
||||||
|
<locationX>611</locationX>
|
||||||
|
<locationY>350</locationY>
|
||||||
|
<defaultConnector>
|
||||||
|
<targetReference>Is_Language_Selected</targetReference>
|
||||||
|
</defaultConnector>
|
||||||
|
<defaultConnectorLabel>Has Email - Continue</defaultConnectorLabel>
|
||||||
|
<rules>
|
||||||
|
<name>Recipient_Has_No_Email</name>
|
||||||
|
<conditionLogic>or</conditionLogic>
|
||||||
|
<conditions>
|
||||||
|
<leftValueReference>Get_Recipient_Contact.Email</leftValueReference>
|
||||||
|
<operator>IsNull</operator>
|
||||||
|
<rightValue>
|
||||||
|
<booleanValue>true</booleanValue>
|
||||||
|
</rightValue>
|
||||||
|
</conditions>
|
||||||
|
<conditions>
|
||||||
|
<leftValueReference>Get_Recipient_Contact.Email</leftValueReference>
|
||||||
|
<operator>EqualTo</operator>
|
||||||
|
<rightValue>
|
||||||
|
<stringValue></stringValue>
|
||||||
|
</rightValue>
|
||||||
|
</conditions>
|
||||||
|
<connector>
|
||||||
|
<targetReference>SMS_Phone_Screen</targetReference>
|
||||||
|
</connector>
|
||||||
|
<label>No Email - Collect SMS Phone</label>
|
||||||
|
</rules>
|
||||||
|
</decisions>
|
||||||
|
<screens>
|
||||||
|
<name>SMS_Phone_Screen</name>
|
||||||
|
<label>Recipient Mobile Phone for SMS Delivery</label>
|
||||||
|
<locationX>842</locationX>
|
||||||
|
<locationY>458</locationY>
|
||||||
|
<allowBack>false</allowBack>
|
||||||
|
<allowFinish>true</allowFinish>
|
||||||
|
<allowPause>false</allowPause>
|
||||||
|
<connector>
|
||||||
|
<targetReference>Is_Language_Selected</targetReference>
|
||||||
|
</connector>
|
||||||
|
<fields>
|
||||||
|
<name>SMS_Instructions_Text</name>
|
||||||
|
<fieldText><p>The selected recipient ({!Get_Recipient_Contact.Name}) does not have an email address on file. The envelope will be delivered via <strong>SMS text message</strong> instead.</p><p>Please enter the recipient&apos;s mobile phone number in E.164 format (e.g. <strong>+15551234567</strong>).</p></fieldText>
|
||||||
|
<fieldType>DisplayText</fieldType>
|
||||||
|
</fields>
|
||||||
|
<fields>
|
||||||
|
<name>recipientSmsPhone_Input</name>
|
||||||
|
<dataType>String</dataType>
|
||||||
|
<fieldText>Recipient Mobile Phone Number</fieldText>
|
||||||
|
<fieldType>InputField</fieldType>
|
||||||
|
<isRequired>true</isRequired>
|
||||||
|
<outputParameters>
|
||||||
|
<assignToReference>recipientSmsPhone</assignToReference>
|
||||||
|
<name>value</name>
|
||||||
|
</outputParameters>
|
||||||
|
<scale>0</scale>
|
||||||
|
</fields>
|
||||||
|
<nextOrFinishButtonLabel>Next</nextOrFinishButtonLabel>
|
||||||
|
<showFooter>true</showFooter>
|
||||||
|
<showHeader>true</showHeader>
|
||||||
|
</screens>
|
||||||
|
<environments>Default</environments>
|
||||||
|
<interviewLabel>Docusign Envelope Templates V4 {!$Flow.CurrentDateTime}</interviewLabel>
|
||||||
|
<label>Docusign Envelope Templates V4</label>
|
||||||
|
<loops>
|
||||||
|
<name>Build_Template_ID_Collection</name>
|
||||||
|
<label>Build Template ID Collection</label>
|
||||||
|
<locationX>182</locationX>
|
||||||
|
<locationY>1214</locationY>
|
||||||
|
<collectionReference>data.selectedRows</collectionReference>
|
||||||
|
<iterationOrder>Asc</iterationOrder>
|
||||||
|
<nextValueConnector>
|
||||||
|
<targetReference>Add_Template_ID</targetReference>
|
||||||
|
</nextValueConnector>
|
||||||
|
<noMoreValuesConnector>
|
||||||
|
<targetReference>Send_Composite_Envelope</targetReference>
|
||||||
|
</noMoreValuesConnector>
|
||||||
|
</loops>
|
||||||
|
<loops>
|
||||||
|
<name>Scan_For_Auth_Release_Template</name>
|
||||||
|
<label>Scan For Authorization to Release Template</label>
|
||||||
|
<locationX>380</locationX>
|
||||||
|
<locationY>782</locationY>
|
||||||
|
<collectionReference>data.selectedRows</collectionReference>
|
||||||
|
<iterationOrder>Asc</iterationOrder>
|
||||||
|
<nextValueConnector>
|
||||||
|
<targetReference>Does_Row_Contain_Auth_Release</targetReference>
|
||||||
|
</nextValueConnector>
|
||||||
|
<noMoreValuesConnector>
|
||||||
|
<targetReference>Is_Auth_Release_Selected</targetReference>
|
||||||
|
</noMoreValuesConnector>
|
||||||
|
</loops>
|
||||||
|
<processMetadataValues>
|
||||||
|
<name>BuilderType</name>
|
||||||
|
<value>
|
||||||
|
<stringValue>LightningFlowBuilder</stringValue>
|
||||||
|
</value>
|
||||||
|
</processMetadataValues>
|
||||||
|
<processMetadataValues>
|
||||||
|
<name>CanvasMode</name>
|
||||||
|
<value>
|
||||||
|
<stringValue>AUTO_LAYOUT_CANVAS</stringValue>
|
||||||
|
</value>
|
||||||
|
</processMetadataValues>
|
||||||
|
<processMetadataValues>
|
||||||
|
<name>OriginBuilderType</name>
|
||||||
|
<value>
|
||||||
|
<stringValue>LightningFlowBuilder</stringValue>
|
||||||
|
</value>
|
||||||
|
</processMetadataValues>
|
||||||
|
<processType>Flow</processType>
|
||||||
|
<recordLookups>
|
||||||
|
<name>DocuSign_Envelope_Templates</name>
|
||||||
|
<label>DocuSign Envelope Templates</label>
|
||||||
|
<locationX>380</locationX>
|
||||||
|
<locationY>458</locationY>
|
||||||
|
<assignNullValuesIfNoRecordsFound>false</assignNullValuesIfNoRecordsFound>
|
||||||
|
<connector>
|
||||||
|
<targetReference>Envelope_template_records</targetReference>
|
||||||
|
</connector>
|
||||||
|
<filterLogic>and</filterLogic>
|
||||||
|
<filters>
|
||||||
|
<field>Envelope_Template_Language__c</field>
|
||||||
|
<operator>EqualTo</operator>
|
||||||
|
<value>
|
||||||
|
<elementReference>Get_Records.Docusign_Envelope_Language__c</elementReference>
|
||||||
|
</value>
|
||||||
|
</filters>
|
||||||
|
<filters>
|
||||||
|
<field>Short_Name__c</field>
|
||||||
|
<operator>IsNull</operator>
|
||||||
|
<value>
|
||||||
|
<booleanValue>false</booleanValue>
|
||||||
|
</value>
|
||||||
|
</filters>
|
||||||
|
<getFirstRecordOnly>false</getFirstRecordOnly>
|
||||||
|
<object>dfsle__EnvelopeConfiguration__c</object>
|
||||||
|
<queriedFields>Id</queriedFields>
|
||||||
|
<queriedFields>Name</queriedFields>
|
||||||
|
<queriedFields>dfsle__DocuSignId__c</queriedFields>
|
||||||
|
<sortField>Name</sortField>
|
||||||
|
<sortOrder>Asc</sortOrder>
|
||||||
|
<storeOutputAutomatically>true</storeOutputAutomatically>
|
||||||
|
</recordLookups>
|
||||||
|
<recordLookups>
|
||||||
|
<name>Get_Records</name>
|
||||||
|
<label>Get Records</label>
|
||||||
|
<locationX>611</locationX>
|
||||||
|
<locationY>134</locationY>
|
||||||
|
<assignNullValuesIfNoRecordsFound>false</assignNullValuesIfNoRecordsFound>
|
||||||
|
<connector>
|
||||||
|
<targetReference>Get_Recipient_Contact</targetReference>
|
||||||
|
</connector>
|
||||||
|
<filterLogic>and</filterLogic>
|
||||||
|
<filters>
|
||||||
|
<field>Id</field>
|
||||||
|
<operator>EqualTo</operator>
|
||||||
|
<value>
|
||||||
|
<elementReference>recordId</elementReference>
|
||||||
|
</value>
|
||||||
|
</filters>
|
||||||
|
<getFirstRecordOnly>true</getFirstRecordOnly>
|
||||||
|
<object>Client_Case__c</object>
|
||||||
|
<queriedFields>Id</queriedFields>
|
||||||
|
<queriedFields>Docusign_Envelope_Language__c</queriedFields>
|
||||||
|
<queriedFields>Docusign_Recipient_1__c</queriedFields>
|
||||||
|
<storeOutputAutomatically>true</storeOutputAutomatically>
|
||||||
|
</recordLookups>
|
||||||
|
<screens>
|
||||||
|
<name>Envelope_template_records</name>
|
||||||
|
<label>Envelope template records</label>
|
||||||
|
<locationX>380</locationX>
|
||||||
|
<locationY>566</locationY>
|
||||||
|
<allowBack>true</allowBack>
|
||||||
|
<allowFinish>true</allowFinish>
|
||||||
|
<allowPause>false</allowPause>
|
||||||
|
<backButtonLabel>Back</backButtonLabel>
|
||||||
|
<connector>
|
||||||
|
<targetReference>Check_Row_Selection</targetReference>
|
||||||
|
</connector>
|
||||||
|
<fields>
|
||||||
|
<name>data</name>
|
||||||
|
<dataTypeMappings>
|
||||||
|
<typeName>T</typeName>
|
||||||
|
<typeValue>dfsle__EnvelopeConfiguration__c</typeValue>
|
||||||
|
</dataTypeMappings>
|
||||||
|
<extensionName>flowruntime:datatable</extensionName>
|
||||||
|
<fieldType>ComponentInstance</fieldType>
|
||||||
|
<inputParameters>
|
||||||
|
<name>label</name>
|
||||||
|
<value>
|
||||||
|
<stringValue>Select Templates for Composite Envelope</stringValue>
|
||||||
|
</value>
|
||||||
|
</inputParameters>
|
||||||
|
<inputParameters>
|
||||||
|
<name>selectionMode</name>
|
||||||
|
<value>
|
||||||
|
<stringValue>MULTI_SELECT</stringValue>
|
||||||
|
</value>
|
||||||
|
</inputParameters>
|
||||||
|
<inputParameters>
|
||||||
|
<name>minRowSelection</name>
|
||||||
|
<value>
|
||||||
|
<numberValue>0.0</numberValue>
|
||||||
|
</value>
|
||||||
|
</inputParameters>
|
||||||
|
<inputParameters>
|
||||||
|
<name>tableData</name>
|
||||||
|
<value>
|
||||||
|
<elementReference>DocuSign_Envelope_Templates</elementReference>
|
||||||
|
</value>
|
||||||
|
</inputParameters>
|
||||||
|
<inputParameters>
|
||||||
|
<name>columns</name>
|
||||||
|
<value>
|
||||||
|
<stringValue>[{"apiName":"Name","guid":"column-6d57","editable":false,"hasCustomHeaderLabel":true,"customHeaderLabel":"Envelope Template Name","wrapText":true,"order":0,"label":"Name","type":"text"}]</stringValue>
|
||||||
|
</value>
|
||||||
|
</inputParameters>
|
||||||
|
<inputsOnNextNavToAssocScrn>UseStoredValues</inputsOnNextNavToAssocScrn>
|
||||||
|
<isRequired>true</isRequired>
|
||||||
|
<storeOutputAutomatically>true</storeOutputAutomatically>
|
||||||
|
<styleProperties>
|
||||||
|
<verticalAlignment>
|
||||||
|
<stringValue>top</stringValue>
|
||||||
|
</verticalAlignment>
|
||||||
|
<width>
|
||||||
|
<stringValue>12</stringValue>
|
||||||
|
</width>
|
||||||
|
</styleProperties>
|
||||||
|
</fields>
|
||||||
|
<nextOrFinishButtonLabel>Send</nextOrFinishButtonLabel>
|
||||||
|
<showFooter>true</showFooter>
|
||||||
|
<showHeader>true</showHeader>
|
||||||
|
</screens>
|
||||||
|
<screens>
|
||||||
|
<name>Authorization_Copies_Screen</name>
|
||||||
|
<label>Authorization to Release Info - Number of Copies</label>
|
||||||
|
<locationX>182</locationX>
|
||||||
|
<locationY>1106</locationY>
|
||||||
|
<allowBack>true</allowBack>
|
||||||
|
<allowFinish>true</allowFinish>
|
||||||
|
<allowPause>false</allowPause>
|
||||||
|
<backButtonLabel>Back</backButtonLabel>
|
||||||
|
<connector>
|
||||||
|
<targetReference>Store_Auth_Release_Copies</targetReference>
|
||||||
|
</connector>
|
||||||
|
<fields>
|
||||||
|
<name>AuthCopiesHeader</name>
|
||||||
|
<fieldText><p>The <strong>Authorization to Release Information</strong> form was selected.</p><p>How many copies of this form should be included in the envelope?</p></fieldText>
|
||||||
|
<fieldType>DisplayText</fieldType>
|
||||||
|
<styleProperties>
|
||||||
|
<verticalAlignment>
|
||||||
|
<stringValue>top</stringValue>
|
||||||
|
</verticalAlignment>
|
||||||
|
<width>
|
||||||
|
<stringValue>12</stringValue>
|
||||||
|
</width>
|
||||||
|
</styleProperties>
|
||||||
|
</fields>
|
||||||
|
<fields>
|
||||||
|
<name>authReleaseFormCopies_Radio</name>
|
||||||
|
<choiceReferences>AuthCopies_1</choiceReferences>
|
||||||
|
<choiceReferences>AuthCopies_2</choiceReferences>
|
||||||
|
<choiceReferences>AuthCopies_3</choiceReferences>
|
||||||
|
<dataType>Number</dataType>
|
||||||
|
<defaultSelectedChoiceReference>AuthCopies_1</defaultSelectedChoiceReference>
|
||||||
|
<fieldText>Number of Copies</fieldText>
|
||||||
|
<fieldType>RadioButtons</fieldType>
|
||||||
|
<isRequired>true</isRequired>
|
||||||
|
<scale>0</scale>
|
||||||
|
<styleProperties>
|
||||||
|
<verticalAlignment>
|
||||||
|
<stringValue>top</stringValue>
|
||||||
|
</verticalAlignment>
|
||||||
|
<width>
|
||||||
|
<stringValue>12</stringValue>
|
||||||
|
</width>
|
||||||
|
</styleProperties>
|
||||||
|
</fields>
|
||||||
|
<nextOrFinishButtonLabel>Next</nextOrFinishButtonLabel>
|
||||||
|
<showFooter>true</showFooter>
|
||||||
|
<showHeader>true</showHeader>
|
||||||
|
</screens>
|
||||||
|
<screens>
|
||||||
|
<name>Error_Screen</name>
|
||||||
|
<label>Error Screen</label>
|
||||||
|
<locationX>314</locationX>
|
||||||
|
<locationY>1298</locationY>
|
||||||
|
<allowBack>true</allowBack>
|
||||||
|
<allowFinish>true</allowFinish>
|
||||||
|
<allowPause>false</allowPause>
|
||||||
|
<backButtonLabel>Back</backButtonLabel>
|
||||||
|
<fields>
|
||||||
|
<name>ErrorDisplayMessage</name>
|
||||||
|
<fieldText><p><span style="font-size: 16px; color: rgb(255, 0, 0);">❌ Failed to send composite envelope.</span></p><p><br></p><p><strong>Error:</strong> {!envelopeErrorMessage}</p><p><br></p><p>Please try again or contact your administrator.</p></fieldText>
|
||||||
|
<fieldType>DisplayText</fieldType>
|
||||||
|
<styleProperties>
|
||||||
|
<verticalAlignment>
|
||||||
|
<stringValue>top</stringValue>
|
||||||
|
</verticalAlignment>
|
||||||
|
<width>
|
||||||
|
<stringValue>12</stringValue>
|
||||||
|
</width>
|
||||||
|
</styleProperties>
|
||||||
|
</fields>
|
||||||
|
<showFooter>true</showFooter>
|
||||||
|
<showHeader>false</showHeader>
|
||||||
|
</screens>
|
||||||
|
<screens>
|
||||||
|
<name>Language_Not_Added_Screen</name>
|
||||||
|
<label>Language Not Added Screen</label>
|
||||||
|
<locationX>842</locationX>
|
||||||
|
<locationY>350</locationY>
|
||||||
|
<allowBack>false</allowBack>
|
||||||
|
<allowFinish>true</allowFinish>
|
||||||
|
<allowPause>false</allowPause>
|
||||||
|
<fields>
|
||||||
|
<name>LanguageNotSelected</name>
|
||||||
|
<fieldText><p>The <strong>DocuSign Envelope Language</strong> is not populated on the record. Please add the language first and then proceed.</p></fieldText>
|
||||||
|
<fieldType>DisplayText</fieldType>
|
||||||
|
<styleProperties>
|
||||||
|
<verticalAlignment>
|
||||||
|
<stringValue>top</stringValue>
|
||||||
|
</verticalAlignment>
|
||||||
|
<width>
|
||||||
|
<stringValue>12</stringValue>
|
||||||
|
</width>
|
||||||
|
</styleProperties>
|
||||||
|
</fields>
|
||||||
|
<showFooter>true</showFooter>
|
||||||
|
<showHeader>true</showHeader>
|
||||||
|
</screens>
|
||||||
|
<screens>
|
||||||
|
<name>Language_Warning_Screen</name>
|
||||||
|
<label>Language Warning Screen</label>
|
||||||
|
<locationX>380</locationX>
|
||||||
|
<locationY>350</locationY>
|
||||||
|
<allowBack>false</allowBack>
|
||||||
|
<allowFinish>true</allowFinish>
|
||||||
|
<allowPause>false</allowPause>
|
||||||
|
<connector>
|
||||||
|
<targetReference>DocuSign_Envelope_Templates</targetReference>
|
||||||
|
</connector>
|
||||||
|
<fields>
|
||||||
|
<name>LangWarningText</name>
|
||||||
|
<fieldText><p>The current selected language is <strong>{!Get_Records.Docusign_Envelope_Language__c}. </strong>On the next screen you will be able to see form names of {!Get_Records.Docusign_Envelope_Language__c} language only. If you want to switch the language, please go back to record and select another language form <strong>DocuSign Envelope Language</strong>.</p></fieldText>
|
||||||
|
<fieldType>DisplayText</fieldType>
|
||||||
|
<styleProperties>
|
||||||
|
<verticalAlignment>
|
||||||
|
<stringValue>top</stringValue>
|
||||||
|
</verticalAlignment>
|
||||||
|
<width>
|
||||||
|
<stringValue>12</stringValue>
|
||||||
|
</width>
|
||||||
|
</styleProperties>
|
||||||
|
</fields>
|
||||||
|
<nextOrFinishButtonLabel>Next</nextOrFinishButtonLabel>
|
||||||
|
<showFooter>true</showFooter>
|
||||||
|
<showHeader>true</showHeader>
|
||||||
|
</screens>
|
||||||
|
<screens>
|
||||||
|
<name>Row_not_selected</name>
|
||||||
|
<label>Row not selected</label>
|
||||||
|
<locationX>578</locationX>
|
||||||
|
<locationY>782</locationY>
|
||||||
|
<allowBack>true</allowBack>
|
||||||
|
<allowFinish>true</allowFinish>
|
||||||
|
<allowPause>false</allowPause>
|
||||||
|
<backButtonLabel>Back</backButtonLabel>
|
||||||
|
<fields>
|
||||||
|
<name>ErrorMessage</name>
|
||||||
|
<fieldText><p><strong style="background-color: rgb(255, 255, 255); color: rgb(68, 68, 68);"><em>You have not selected any of the forms. Please go back and select the form first and then proceed.</em></strong></p></fieldText>
|
||||||
|
<fieldType>DisplayText</fieldType>
|
||||||
|
<styleProperties>
|
||||||
|
<verticalAlignment>
|
||||||
|
<stringValue>top</stringValue>
|
||||||
|
</verticalAlignment>
|
||||||
|
<width>
|
||||||
|
<stringValue>12</stringValue>
|
||||||
|
</width>
|
||||||
|
</styleProperties>
|
||||||
|
</fields>
|
||||||
|
<showFooter>true</showFooter>
|
||||||
|
<showHeader>false</showHeader>
|
||||||
|
</screens>
|
||||||
|
<screens>
|
||||||
|
<name>Success_Screen</name>
|
||||||
|
<label>Success Screen</label>
|
||||||
|
<locationX>50</locationX>
|
||||||
|
<locationY>1298</locationY>
|
||||||
|
<allowBack>false</allowBack>
|
||||||
|
<allowFinish>true</allowFinish>
|
||||||
|
<allowPause>false</allowPause>
|
||||||
|
<fields>
|
||||||
|
<name>SuccessMessage</name>
|
||||||
|
<fieldText><p><span style="font-size: 16px; color: rgb(0, 128, 0);">✅ Composite envelope sent successfully!</span></p><p><br></p><p><strong>Envelope ID:</strong> {!envelopeId}</p><p><strong>Templates combined:</strong> All selected templates were merged into a single envelope.</p></fieldText>
|
||||||
|
<fieldType>DisplayText</fieldType>
|
||||||
|
<styleProperties>
|
||||||
|
<verticalAlignment>
|
||||||
|
<stringValue>top</stringValue>
|
||||||
|
</verticalAlignment>
|
||||||
|
<width>
|
||||||
|
<stringValue>12</stringValue>
|
||||||
|
</width>
|
||||||
|
</styleProperties>
|
||||||
|
</fields>
|
||||||
|
<showFooter>true</showFooter>
|
||||||
|
<showHeader>false</showHeader>
|
||||||
|
</screens>
|
||||||
|
<start>
|
||||||
|
<locationX>485</locationX>
|
||||||
|
<locationY>0</locationY>
|
||||||
|
<connector>
|
||||||
|
<targetReference>Get_Records</targetReference>
|
||||||
|
</connector>
|
||||||
|
</start>
|
||||||
|
<status>Draft</status>
|
||||||
|
<variables>
|
||||||
|
<name>compositeTemplateIds</name>
|
||||||
|
<dataType>String</dataType>
|
||||||
|
<isCollection>true</isCollection>
|
||||||
|
<isInput>false</isInput>
|
||||||
|
<isOutput>false</isOutput>
|
||||||
|
</variables>
|
||||||
|
<variables>
|
||||||
|
<name>envelopeErrorMessage</name>
|
||||||
|
<dataType>String</dataType>
|
||||||
|
<isCollection>false</isCollection>
|
||||||
|
<isInput>false</isInput>
|
||||||
|
<isOutput>false</isOutput>
|
||||||
|
</variables>
|
||||||
|
<variables>
|
||||||
|
<name>envelopeId</name>
|
||||||
|
<dataType>String</dataType>
|
||||||
|
<isCollection>false</isCollection>
|
||||||
|
<isInput>false</isInput>
|
||||||
|
<isOutput>false</isOutput>
|
||||||
|
</variables>
|
||||||
|
<variables>
|
||||||
|
<name>envelopeSuccess</name>
|
||||||
|
<dataType>Boolean</dataType>
|
||||||
|
<isCollection>false</isCollection>
|
||||||
|
<isInput>false</isInput>
|
||||||
|
<isOutput>false</isOutput>
|
||||||
|
</variables>
|
||||||
|
<variables>
|
||||||
|
<name>recordId</name>
|
||||||
|
<dataType>String</dataType>
|
||||||
|
<isCollection>false</isCollection>
|
||||||
|
<isInput>true</isInput>
|
||||||
|
<isOutput>false</isOutput>
|
||||||
|
</variables>
|
||||||
|
<variables>
|
||||||
|
<name>authReleaseFormCopies</name>
|
||||||
|
<dataType>Number</dataType>
|
||||||
|
<isCollection>false</isCollection>
|
||||||
|
<isInput>false</isInput>
|
||||||
|
<isOutput>false</isOutput>
|
||||||
|
<scale>0</scale>
|
||||||
|
<value>
|
||||||
|
<numberValue>1.0</numberValue>
|
||||||
|
</value>
|
||||||
|
</variables>
|
||||||
|
<variables>
|
||||||
|
<name>authReleaseTemplateSelected</name>
|
||||||
|
<dataType>Boolean</dataType>
|
||||||
|
<isCollection>false</isCollection>
|
||||||
|
<isInput>false</isInput>
|
||||||
|
<isOutput>false</isOutput>
|
||||||
|
<value>
|
||||||
|
<booleanValue>false</booleanValue>
|
||||||
|
</value>
|
||||||
|
</variables>
|
||||||
|
<choices>
|
||||||
|
<name>AuthCopies_1</name>
|
||||||
|
<choiceText>1 copy</choiceText>
|
||||||
|
<dataType>Number</dataType>
|
||||||
|
<value>
|
||||||
|
<numberValue>1.0</numberValue>
|
||||||
|
</value>
|
||||||
|
</choices>
|
||||||
|
<choices>
|
||||||
|
<name>AuthCopies_2</name>
|
||||||
|
<choiceText>2 copies</choiceText>
|
||||||
|
<dataType>Number</dataType>
|
||||||
|
<value>
|
||||||
|
<numberValue>2.0</numberValue>
|
||||||
|
</value>
|
||||||
|
</choices>
|
||||||
|
<choices>
|
||||||
|
<name>AuthCopies_3</name>
|
||||||
|
<choiceText>3 copies</choiceText>
|
||||||
|
<dataType>Number</dataType>
|
||||||
|
<value>
|
||||||
|
<numberValue>3.0</numberValue>
|
||||||
|
</value>
|
||||||
|
</choices>
|
||||||
|
<variables>
|
||||||
|
<name>recipientSmsPhone</name>
|
||||||
|
<dataType>String</dataType>
|
||||||
|
<isCollection>false</isCollection>
|
||||||
|
<isInput>false</isInput>
|
||||||
|
<isOutput>false</isOutput>
|
||||||
|
</variables>
|
||||||
|
</Flow>
|
||||||
Loading…
Reference in New Issue