Steps

Prev Next

Steps

This section describes the steps of the signature workflow:

  • Which participants participate in each step. 
  • Which communication entries are sent.

A step is a JSON array, containing JSON objects. Each object corresponds to one step of a sequential workflow. Only once a specific step is completed, the next step is started. Each entry of the array is a JSON object. Table 1 describes the step parameters.

Table 1: Step Parameters

ParameterTypeOptional/Required Discerption
idstringOptionalAn internal random identifier for a step
communication objectRequiredDescribes the set of communication messages (SMS /emails) to be sent for different participants of the workflow. 
NOTE
For additional information about this parameter, see the Steps - Communication section

Steps - Communication

This section describes the set of communication messages (SMS/emails) to be sent to different workflow participants. Each communication is a JSON object. Table 2 describes the communication parameters.

Table 2: Communication Parameters

ParameterTypeOptional/Required Discerption
startarrayRequiredAn array of Communication Entry objects that will be sent at the beginning of the step
NOTE
For additional information about Communication Entry, click here
finish arrayRequiredAn array of Communication Entry objects that will be sent at the end of the step
NOTE
For additional information about Communication Entry, click here
autoReminders arrayRequiredAn array of Communication Entry objects with additional fields related to the auto reminder sent to a specific participant
the end of the step
NOTE
  • For additional information about Communication Entry, click here
  • For additional information about auto-reminders, click here
authProviderobjectOptionalAn object for each Communication Entry step that determines whether or not to include a One-Time Password (OTP)
NOTE
  • For additional information about Communication Entry, click here
  • For additional information about authProvider, click here

Steps - Communication Entry

Table 3 describes the communication entry parameters.

Table 3: Communication Entry Parameters

ParameterTypeOptional/Required Discerption
participantIdstringRequiredThe Id of the participant as specified in the participants section
type stringRequiredSpecifies one of the following preset values:
  • Email - for sending an email
NOTE

For additional information about email parameters, click here

  • SMS - for sending a text message
NOTE

For additional information about SMS parameters, click here

  • None - will not send any message, only a link will be generated and returned via API

Steps - Communication Entry - Email

Table 4 describes the email parameters.

Table 6: Email Parameters

ParameterTypeOptional/Required Discerption
emailstringRequiredThe target email address
NOTE
You can use a comma to add multiple email addresses
subjectstringRequiredThe subject of the email
NOTE
Can include escape sequences, for additional information, click here
bodystringRequiredThe content of the email as an HTML string
NOTE
Can include escape sequences, for additional information, click here
attachModelJsonbooleanOptionalSpecifies whether an additional JSON file containing data fields should be attached to the email
NOTE
  • Only relevant for the finish phase
  • False by default
customModelJsonFileNamestringOptionalEnables you to customize the name of the attached JSON file
ontaining data fields should be attached to the email
NOTE

Only relevant for the finish phase and if the attachModelJson parameter is set to true

Steps - Communication Entry - SMS

Table 5 describes the SMS parameters.

Table 5: SMS Parameters

ParameterTypeOptional/Required Discerption
phonestringRequiredThe target phone number
NOTE
The phone number must include an international prefix starting with the + sign
textstringRequiredThe content of the text message
NOTE
Can include escape sequences, for additional information, click here

Steps - Communication Entry - Escape Sequences

Table 6 describes escape sequences for communication entries.

Table 6: Escape Sequences

ParameterTypeOptional/Required Discerption
{{name}}stringRequiredThe name of the participant as described in the Participants Section
{{link}}stringRequiredThe link used to start the signature process
NOTE

Only relevant for the start phase

Sample Call

"steps": [
        {
            "communication": {
                "start": [
                    {
                        "participantId": "customer1",
                        "type": "email",
                        "email": "example@easysend.io",
                        "subject": "Documents to sign for {{name}}",
                        "body": "hi customer: {{name}}, here is your link: {{link}}"
                    },
                    {
                        "participantId": "agent",
                        "type": "email",
                        "email": "example@easysend.io",
                        "subject": "Documents to sign for {{name}}",
                        "body": "hi agent: {{name}}, here is your link: {{link}}"
                    }
                ],
                "finish": [
                    {
                        "participantId": "customer1",
                        "type": "email",
                        "email": "example@easysend.io",
                        "subject": "Done",
                        "body": "hi {{name}}, Thanks for submitting!"
                    }
                ]

Steps - Auto Reminder

Table 7 describes the auto reminder parameters.

Table 7: Auto Reminder

ParameterTypeOptional/Required Discerption
countdownTriggerstringRequiredThe type of event that triggers the countdown of sending the auto reminder:
  • linkSent
  • lastOpened
maxNumOfSendsintegerRequiredThe maximum number of times a reminder will be sent. 
whentoSendobjectRequired

Defines the time interval, in minutes or days, from the countdown trigger event the auto reminder is sent  

Steps - Auto Reminder - whenToSend

Table 8 describes the whenToSend parameter.

Table 8: whenToSend

ParameterTypeOptional/Required Discerption
typestringRequiredFor the time unit, one of the following preset values must be provided:
  • daysAndTime
NOTE
For additional information about days and time parameters, click here
  • numOfMinutes
NOTE
For additional information about minutes parameters, click here

Steps - Auto Reminder - whenToSend - daysAndTime

Table 9 describes the daysAndTime parameters.

Table 9: daysAndTime

ParameterTypeOptional/Required Discerption
daysintegerRequiredNumber of days to countdown 
timeintegerRequiredThe time of the day the auto reminder is sent
NOTE
Configured in 24H UTC format

Steps - Auto Reminder - whenToSend - numOfMinutes

Table 10 describes the numOfMinutes parameter.

Table 10: numOfMinutes

ParameterTypeOptional/Required Discerption
minutesintegerRequiredNumber of minutes to countdown 

Sample Call

"autoReminders": [
                    {
                        "participantId": "customer1",
                        "type": "email",
                        "countdownTrigger": "linkSent",
                        "subject": "A kind reminder for {{name}}",
                        "body": "hi customer: {{name}}, here is your link reminder: {{link}}",
                        "whenToSend": {
                            "type": "numOfMinutes",
                            "minutes": 1
                        },
                        "maxNumOfSends": 1
                    },
                    {
                        "participantId": "customer1",
                        "type": "email",
                        "countdownTrigger": "lastOpened",
                        "subject": "Another kind reminder for {{name}}",
                        "body": "hi customer: {{name}}, here is your link reminder: {{link}}",
                        "whenToSend": {
                            "type": "daysAndTime",
                            "days": 2,
                            "time": "10:00"
                        },
                        "maxNumOfSends": 1
                    }
                ]

Steps - authProvider

Table 11 describes the authProvider parameters.

Table 11: authProvider

ParameterTypeOptional/Required Discerption
typestringRequiredIf type is set to standardOTPAuthProvider, on player run time, when the participant opens the link, OTP will run
isTwoFactorbooleanRequiredIf true, 2Factor authentication is enabled, the player will ask the end user to insert an email address or phone number, according to otpSendMethod, and verify that the inserted matches the phone/email values of this specific participant, as appear in the participantsOtp listmaximum number of times a reminder will be sent
otpSendMethodstringRequired

specifies how the OTP password is sent to the end user (phone/email /both) if isTwoFactor is set to true, the player will verify the inserted phone/email/both values 

skipNotListedParticipantsbooleanRequiredIndicate the player if all participants from the participants array have to appear in the participantsOtp list 
NOTE
  • If set to true, and not all participants appear in the participantsOtp list, an error message will be generated
  • If set to false, and not all participants appear in the participantsOtp list, the OTP session will continue 
skipOtpInDevbooleanoptionalIndicate the player if the OTP session needs to run in DEV environments
participantsOtparrayRequired

Contains a list of participants with the following string parameters:

  • participantId
  • phone
  • email 

Sample Call

"authProvider": {
               "type": "standardOTPAuthProvider",
               "isTwoFactor": true,
               "otpSendMethod": "email",
               "skipNotListedParticipants": false,
               "skipOtpInDev": false,
               "participantsOtp": [
                   {
                       "participantId": "singerOne",
                       "phone": "0544664034",
                       "email": "r.shoshani@easysend.io"
                   },
                   {
                       "participantId": "singerTwo",
                       "phone": "0544664034",
                       "email": "ronshosh@gmail.com"
                   },
                   {
                       "participantId": "agent",
                       "phone": "0544664034",
                       "email": "ronshosh@gmail.com"
                   }
               ]
           }

Can’t find what you’re looking for?

Let us know what you need and we'll help you as soon as possible.