Forms-centric AEM Workflows - Step Reference

You use workflow models to convert a business logic to automated repetitive process. A model helps you define and execute a series of steps. You can also define model properties, such as whether the workflow is transient or uses multiple resources. You can include various AEM Workflow steps in a model to achieve the business logic.

Forms-centric steps

Forms-centric workflow steps perform AEM Forms-specific operations in an AEM Workflow. These steps allow you to rapidly build Adaptive Forms based Forms-centric workflow on OSGi. These workflows can be used for developing basic review- and approval-workflows, internal and across- the-firewall business processes. You can also use Forms Workflow steps to:

  • Create business processes, post-submission workflows, and backend workflows to manage enrollment processes.

  • Create and assign tasks to a user or group.

  • Use Adobe Sign in an AEM Workflow to send a document for signing.

  • Generate a Document of Record on-demand or on form submission.

  • Connect a workflow model with various data sources to easily save and retrieve data.

  • Use the email step to send notification emails and other attachments on completion of an action and at the start or completion of a workflow.

Assign task step

The assign task step creates a work item and assigns it to a user or group. Along with assigning the task, the component also specifies the Adaptive Form or non-interactive PDF for the task. The Adaptive Form is required to accept input from users and non-interactive PDF or a read-only Adaptive Form is used for review only workflows.

You can also use the component to control the behavior of the task. For example, creating an automatic Document of Record, assigning the task to a specific user or group, specifying the path of the submitted data, specifying the path of data to be pre-populated, and specifying default actions. The Assign Task step has the following properties:

  • Title: Title of the task. The title is displayed in AEM Inbox.

  • Description: Explanation of the operations being performed in the task. This information is useful for other process developers when you are working in a shared development environment.

  • Thumbnail Path: Path of the task thumbnail. If no path is specified, for an Adaptive Form default thumbnail is displayed and for Document of Record, a default icon is displayed.

  • Workflow Stage: A workflow can have multiple stages. These stages are displayed in the AEM Inbox. You can define these stages in the properties of the model (Sidekick > Page > Page Properties > Stages).

  • Priority: Selected priority is displayed in the AEM Inbox. The available options are High, Medium, and Low. The default value is Medium.

  • Due Date: Specify the number of days or hours after which the task is marked overdue. If you select Off, then the task is never marked overdue. You can also specify a time-out handler to perform specific tasks after the task is overdue.

  • Days: The number of days before which the task is to be completed. The number of days are counted after the task is assigned to a user. If a task is not complete and crosses the number of days specifies in the Days field, then, if selected, a timeout handler is triggered after the due date.

  • Hours: The number of hours before which the task is to be completed. The number of hours are counted after the task is assigned to a user. If a task is not complete and crosses the number of hours specifies in the Hours field, then, if selected, a timeout handler is triggered after the due hours.

  • Time-out after Due Date: Select this option to enable the Timeout Handler selection field.

  • Timeout Handler: Select the script to be executed when the assign task step crosses the due date. Scripts placed in the CRX-repository at [apps]/fd/dashboard/scripts/timeoutHandler are available for selection. The specified path does not exist in crx-repository. An administrator creates the path before using it.

  • Highlight the action and comment from the last task in Task Details: Select this option to display the last action that was taken and comment received on the task details section of a task.

  • Type: Choose the type of document to be filled when the workflow is started. You can choose an Adaptive Form, read-only Adaptive Form, a non-interactive PDF document.

  • Use Adaptive Form: Specify the method to locate the input Adaptive Form. This option is available if you select Adaptive Form or Read-only Adaptive Form from the Type drop-down list. You can use the Adaptive Form submitted to the workflow, available at an absolute path, or available at a path in a variable. You can use a variable of type String to specify the path.
    You can associate multiple Adaptive Forms with a workflow. As a result, you can specify an Adaptive Form on the runtime using the available input methods.

  • Adaptive Form Path: Specify the path of the Adaptive Form. You can use the Adaptive Form that is submitted to the workflow, available at an absolute path, or retrieve the Adaptive Form from a path stored in a variable of string data type.

  • Select input PDF using: Specify the path of a non-interactive PDF document. The field is available when you choose a non-interactive PDF document in the Type field. You can select the input PDF using the path that is relative to the payload, saved at an absolute path, or using a variable of Document data type. For example, [Payload_Directory]/Workflow/PDF/credit-card.pdf. The path does not exist in crx-repository. An administrator creates the path before using it. You require a Document of Record option enabled or form template based Adaptive Forms for using the PDF Path option.

  • For completed task, render the Adaptive Form as: When a task is marked complete, you can render the Adaptive Form as a read-only Adaptive Form or a PDF document. You require a Document of Record option enabled or form template based Adaptive Forms for rendering the Adaptive Form as Document of Record.

  • Pre-populated: The following fields listed below serve as inputs to the task:

    • Select input data file using: Path of input data file (.json, .xml, .doc, or form data model). You can retrieve the input data file using a path that is relative to the payload or retrieve the file stored in a variable of Document, XML, or JSON data type. For example, the file contains the data submitted for the form through an AEM Inbox application. An example path is [Payload_Directory]/workflow/data.
    • Select input attachments using: Attachments available at the location are attached to the form associated with the task. The path is always relative to the payload. An example path is [Payload_Directory]/attachments/. You can specify attachments placed relative to the payload or use a document type (Array list > Document) variable to specify an input attachment for the Adaptive Form
  • Submitted information: The following fields listed below serve as output locations to the task:

    • Save output data file using: Save the data file (.json, .xml, .doc, or form data model). The data file contains information submitted through the associated form. You can save the output data file using a path that is relative to the payload or store it in a variable of Document, XML, or JSON data type. For example, [Payload_Directory]/Workflow/data, where data is a file.
    • Save attachments using: Save the form attachments provide in a task. You can save the attachments using a path that is relative to the payload or store it in a variable of array list of Document data type.
    • Save Document of Record using: Path to save a Document of Record file. For example, [Payload_Directory]/DocumentofRecord/credit-card.pdf. You can save the Document of Record using a path that is relative to the payload or store it in a variable of Document data type. If you select Relative to Payload option, The Document of Record is not generated if the path field is left empty. This option is available only if you select Adaptive Form from the Type drop-down list.
  • Assignee > Assign options: Specify the method to assign the task to a user. You can dynamically assign the task to a user or a group using the Participant Chooser script or assign the task to a specific AEM user or group.

  • Participant Chooser: The option is available when the Dynamically to a user or group option is selected in the Assign options field. You can use an ECMAScript or a service to dynamically select a user or a group. For more information, see Dynamically assign a workflow to the users and Creating a custom Adobe Experience Manager Dynamic Participant step.

  • Participants: The field is available when the com.adobe.granite.workflow.core.process.RandomParticipantChooser option is selected in the Participant Chooser field. The field allows you to select users or groups for the RandomParticipantChooser option.

  • Assignee: The field is available when the com.adobe.fd.workspace.step.service.VariableParticipantChooser is selected in the Participant Chooser field. The field allows you to select a variable of String data type to define the assignee.

  • Arguments: The field is available when a script other than the RandomParticipantChoose script is selected in the Participant Chooser field. The field allows you to provide a list of a comma-separated argument for the script selected in the Participant Chooser field.

  • User or Group: The task is assigned to selected user or group. The option is available when the To a specific user or group option is selected in the Assign options field. The field lists all the users and groups of the workflow-users group.
    The User or Group drop-down menu lists the users and groups that the logged-in user has access to. The username display depends on if you have access permissions on the users node in crx-repository for that particular user.

  • Send Notification Email: Select this option to send email notifications to the assignee. These notifications are sent when a task is assigned to a user or a group. You can use the Recipient Email Address option to specify the mechanism to retrieve the email address.

  • Recipient Email Address: You can store email address in a variable, use a literal to specify a permanent email address, or use default email address of the assignee specified in the profile of the assignee. You can use the literal or a variable to specify email address of a group. The variable option is helpful in dynamically retrieving and using an email address. The Use default email address of the assignee option is only for a single assignee. In this case, email address stored in assignees user profile is used.

  • HTML Email Template: Select email template for the notification email. To edit a template, modify the file located at /libs/fd/dashboard/templates/email/htmlEmailTemplate.txt in crx-repository.

  • Allow Delegation To: AEM Inbox provides an option to the logged in user to delegate the assigned workflow to another user. You are allowed to delegate within the same group or to the workflow user of another group. If the task is assigned to a single user and the allow delegation to members of the assignee group option is selected, then it is not possible to delegate the task to another user or group.

  • Share Settings: AEM Inbox provides options to share a single or all the tasks in the inbox with another users:

    • When the Allow assignee to share explicitly in inbox option is selected, the user can select the task in AEM Inbox and share it with another AEM user.
    • When the Allow assignee to share via inbox sharing option is selected and users share their Inbox items or allows other users to access their Inbox items, only tasks with previously mentioned option enabled are shared with other users.
    • When the Allow assignee to delegate using ‘Out of Office’ settings is selected. The assignee can enable the option to delegate the task to other users along with other Out of Office options. Any new tasks assigned to the out-of-office user are automatically delegated (assigned) to the users mentioned in out-of-office settings.

    It allows other users to pick assignees tasks while is out of office and unable to work on assigned tasks.

  • Actions > Default Actions: Out of the box, Submit, Save, and Reset actions are available. All the default actions are enabled, by default.

  • Route Variable: Name of the route variable. The route variable captures custom actions that a user selects in AEM Inbox.

  • Routes: A task can branch to different routes. When selected in AEM Inbox, the route returns a value and the workflow branches based on the selected route. You can either store routes in a variable of array of String data type or select Literal to add routes manually.

  • Route Title: Specify the title for the route. It is displayed in AEM Inbox.

  • Coral Icon: Specify HTML attribute of a coral icon. Adobe CorelUI library provides a vast set of touch-first icons. You can choose and use an icon for the route. It is displayed along with the title in AEM Inbox. If you store the routes in a variable, the routes use a default ‘Tags’ coral icon.

  • Allow assignee to add comment: Select this option to enable comments for the task. An assignee can add the comments from within AEM Inbox at the time of task submission.

  • Save comment in variable: Save the comment in a variable of String data type. This option displays only if you select the Allow assignee to add comment checkbox.

  • Allow assignee to add attachments to the task: Select this option to enable attachments for the task. An assignee can add the attachments from within AEM Inbox at the time of task submission. You can also limit the maximum size (Maximum File Size) of an attachment. The default size is 2 MB.

  • Save output task attachments using: Specify the location of attachment folder. You can save output task attachments using a path relative to payload or in a variable of array of document data type. This option displays only if you select the Allow assignee to add attachments to the task checkbox and select Adaptive Form, Read-only Adaptive Form, or Non-interactive PDF document from the Type drop-down list in the Form/Document tab.

  • Use custom metadata: Select this option to enable the custom metadata field. Custom metadata is used in email templates.

  • Custom Metadata: Select a custom metadata for the email templates. The custom metadata is available in crx-repository at apps/fd/dashboard/scripts/metadataScripts. The specified path does not exist in crx-repository. An administrator creates the path before using it. You can also use a service for the custom metadata. You can also extend the WorkitemUserMetadataService interface to provide custom metadata.

  • Show Data from Previous Steps: Select this option to enable assignees to view previous assignees, action already taken on the task, comments added to the task, and Document of Record of the completed task, if available.

  • Show Data from Subsequent Steps: Select this option to enable the current assignee to view the action taken and comments added to task by subsequent assignees. It also allows the current assignee to view a Document of Record of the completed task, if available.

  • Visibility of data type: By default, an assignee can view a Document of Record, assignees, action taken, and comments that previous and subsequent assignees have added. Use the visibility of data type option to limit the type of data visible to the assignees.

Send Email Step

Use the email step to send an email, for example an email with a Document of Record, link of an Adaptive Form , or with an attached PDF document. Send Email step supports HTML email. HTML emails are responsive and adapt to the recipients’ email client and screen size. You can use an HTML email template to define appearance, color-scheme, and behavior of the email.

The email step uses Day CQ Mail Service to send emails. Before using the email step, ensure that the email service is configured. Email support only HTTP and HTTPs protocols, by default. Contact the support team to enable ports for sending emails and to enable SMTP protocol for your environment. The restriction helps improve security of the platform.

The email step has the following properties:

Title: Title of the step helps identify the step in the workflow editor.

Description: Explanation is useful for other process developers when you are working in a shared development environment.

Email Subject: Subject can be retrieved from a workflow metadata, specified manually, or retrieved from the value stored in a variable. Select from the following options:

  • Literal Manually specify a subject.
  • Retrieve from Workflow metadata - Retrieve the subject from a metadata property.
  • Variable - Retrieve the subject from the value stored in a variable of string data type.

HTML Email Template: HTML template for the email. You can specify variables in an email template. The Email Step extracts and displays all the variables included in a template for inputs.

Email Template Metadata: Value of the email template variables can be a user-specified value, the path of an asset on the author or the publish server, image, or a workflow metadata property.

  • Literal: Use the option when you know the exact value to specify. For example, example@example.com.

  • Workflow Metadata: Use the option when the value to use is saved in a workflow metadata property. After selecting the option, enter the metadata property name in the empty text box below the Workflow Metadata option. For example, emailAddress.

  • Image: Use the option to embed an image to the email. After selecting the option, browse and choose the image. The image option is available only for the image tags (<img src=“*”/>) available in the email template.

Sender’s / Recipient’s Email Address: Select the Literal option to manually specify an email address or select the Retrieve from Workflow metadata option to retrieve the email address from a metadata property. You can also specify a list of metadata property arrays for the Retrieve from Workflow metadata option. Select the Variable option to retrieve the e-mail address from the value stored in a variable of string data type.

  • File Attachment: The asset available at the specified location is attached to the email. The path of the asset can be relative to the payload or absolute path. An example path is [Payload_Directory]/attachments/.

Select the Variable option to retrieve the file attachment stored in a variable of Document, XML, or JSON data type.

File Name: Name of the email attachment file. The Email Step changes the original file name of the attachment to the specified file name. The name can be specified manually or retrieved from a workflow metadata property or a variable. Use the Literal option when you know the exact value to specify. Use the Variable option to retrieve the file name from the value stored in a variable of string data type. Use the Retrieve from a Workflow Metadata option when the value to use is saved in a workflow metadata property.

Generate Document of Record step

When a form is filled or submitted, you can keep a record of the form, in print or in document format. This record is referred as a Document of Record (DoR). You can use the Generate Document of Record step to create a read-only or interactive PDF version of an Adaptive Form. The PDF version contains information filled-in to the form along with the layout of the Adaptive Form.

The Document of Record step has the following properties:

Use Adaptive Form: Specify the method to locate the input Adaptive Form. You can use the Adaptive Form submitted to the workflow, available at an absolute path, or available at a path in a variable. You can use a variable of String data type to specify the path in the Select variable to resolve field.
You can associate multiple Adaptive Forms with a workflow. As a result, you can specify an Adaptive Form on the runtime using the available input methods.

Adaptive Form Path: Specify the path of the Adaptive Form. The field is available when you select the Available at an absolute path option from the Use Adaptive Form field.

Select Input data using: Path of the input data for the Adaptive Form. You can keep the data at a location relative to the payload, specify an absolute path of the data, or retrieve data stored in a variable of Document, JSON, or XML data type. The input data is merged with the Adaptive Form to create a Document of Record.

Select Input attachment path using: Path of the attachments. These attachments are included in the Document of Record. You can keep the attachments at a location relative to the payload, specify an absolute path of the attachments, or retrieve attachments stored in a variable of array of Document data type.

If you specify the path of a folder, for example, attachments, all the files directly available in the folder are attached to Document of Record. If any files are available in the folders directly available in the specified attachment path, the files are included in Document of Record as attachments. If there are any folders in directly available folders, those folders are skipped.

Save Generated Document of Record using below options: Specify the location to keep a Document of Record file. You can choose to overwrite the payload folder, place Document of Record at a location within the payload directory, or store the Document of Record in a variable of Document data type.

Locale: Specify the language of the Document of Record. Select Literal to select the locale from a drop-down list or select Variable to retrieve the locale from the value stored in a variable of string data type. You must define the locale code while storing the value for the locale in a variable. For example, specify en_US for English and fr_FR for French.

Invoke Form Data Model Service step

You can use AEM Forms Data Integration to configure and connect to disparate data sources. These data sources can be a web service, REST service, OData service, and CRM solution. AEM Forms Data Integration allows you to create a Form Data Model encompassing various services to perform data retrieval, addition, updating operations on the configured database. You can use the Invoke Data Model Service step to select a Form Data Model (FDM) and use the services of the FDM to retrieve, update, or add data to disparate data sources.

To explain inputs for fields of the step, the following database table and JSON file are used as an example :

Sample CustomerDetails table

Property Value
FirstName
Sarah
LastName Rose
Customer ID 1
Email Address
srose@we.info

Sample JSON file

  { 
    customer: { 
     firstName: "Sarah", 
     lastName:"Rose", 
     customerId: "1", 
     emailAddress:"srose@we.info" 
   }, 
    insurance: {
     customerId: "1", 
    policyType: "Premium,
    policyNumber: "Premium-521499",
    customerDetails: { 
     firstName: "Sarah",
     lastName: "Rose",
     customerId: "1",
     emailAddress: "srose@we.info" 
    }
   }
  }

The Invoke Form Data Model Service step has the below listed fields to facilitate Form Data Model operations:

  • Title: Title of the step. It helps identify the step in the workflow editor.

  • Description: Explanation useful for other process developers when you are working in a shared development environment.

  • Form Data Model Path: Browse and select a Form Data Model present on the server.

  • Errors and Validations: The option allows you to capture error messages and specify validation options for data retrieved and sent to data sources. With these changes, you can ensure data passed to Invoke Form Data Model Service step adheres to the data constraints defined by data source. For more details, see Automated validation of input data

  • Validation level: There are three categories of validations: Basic, Full, and OFF:

    • Full: All the constraints are validated.
    • Basic: Only required and nullable constraints
    • OFF: No validation takes place.
  • Terminate Workflow on Failure: When a constraint fails to validate, the workflow is stopped.

  • Store Error Code in Variable: You can store an error code in a String type variable.

  • Store Error Message in Variable: You can store an error message in a String type variable.

  • Store Error Details in Variable: You can store an error detail in a JSON type variable.

  • Service: List of the services that the selected Form Data Model provides.

  • Input for services > Provide input data using literal, variable, or workflow metadata, and a JSON file: A service can have multiple arguments. Select the option to obtain the value of the service arguments from a workflow metadata property, a JSON object, a variable, or directly enter the value in the provided text box:

    • Literal: Use the option when you know the exact value to specify. For example, srose@we.info.

    • Variable: Use the option to retrieve the value stored in a variable.

    • Retrieve from Workflow Metadata: Use the option when the value to use is saved in a workflow metadata property. For example, emailAddress.

    • Relative to Payload: Use the option to retrieve the file attachment saved at a path relative to payload. Select the option and specify either the folder name which includes the file attachment or specify the file attachment name in the text box.

      For example, if the Relative to Payload folder in the CRX repository includes a file attachment at the attachment\attachment-folder location, specify attachment\attachment-folder in the text box after selecting the Relative to Payload option.

    • JSON Dot Notation: Use the option when the value to use is in a JSON file. For example, insurance.customerDetails.emailAddress. The JSON Dot Notation option is available only if Map input fields from input JSON option are selected.

    • Map input fields from input JSON: Specify path of a JSON file to obtain input value of some service arguments from the JSON file. Path of the JSON file can be relative to the payload, an absolute path, or you can select an input JSON document using a variable of JSON or Form Data Model type.

  • Input for services > Provide input data using variable or a JSON file: Select the option to obtain values for all the arguments from a JSON file saved at an absolute path, at a path relative to payload, or in a variable.

  • Select Input JSON document using: The JSON file containing values for all the service arguments. Path of the JSON file can be relative to the payload or an absolute path. You can also retrieve the input JSON document using a variable of JSON or Form Data Model data type.

  • JSON Dot Notation: Leave the field blank to use all the objects of the specified JSON file as input for service arguments. To read a specific JSON object from the specified JSON file as input for service arguments, specify dot notation for the JSON object, for example, If you have a JSON similar to the one listed at the start of the section, specify insurance.customerDetails to provide all the details of a customer as input to the service.

  • Output of service > Map and write output values to variable or metadata: Select the option to save the output values as properties of the workflow instance metadata node in crx-repository. Specify the name of the metadata property and select the corresponding service output attribute to be mapped with metadata property, for example, map the phone_number returned by output service with the phone_number property of workflow metadata. Similarly, you can store the output in a variable of Long data type. When you select a property for the Service output attribute to be mapped option, only variables capable of storing data of the selected property are populated for the Save the output to option.

  • Output of service > Save output to variable or a JSON file: Select the option to save the output values in a JSON file at an absolute path, at a path relative to payload, or in a variable .

  • Save Output JSON document using below options: Save the output JSON file. The path of the output JSON file can be relative to the payload or an absolute path. You can also save the output JSON file using a variable of JSON or Form Data Model data type.

Sign Document step

The Sign Document step enables you to use Adobe Sign to sign documents. When you use Adobe Sign Workflow step to Sign an Adaptive Form, the form can be passed across signers one after another or can be sent to all the signers simultaneously, depending on the configuration of workflow step. Adobe Sign enabled Adaptive Forms are submitted to Experience Manager Forms Server only after all the signers complete the signing process.

By default, the Adobe Sign Scheduler services checks (polls) signer response after every 24 hours. You can change the default interval for your environment.

The Sign Document step has the following properties:

  • Agreement Name: Specify the title of the agreement. The agreement name becomes part of the subject and body text of the email sent to the signers. You can either store the name in a variable of String data type or select Literal to add the name manually.

  • Locale: Specify the language for the email and verification options. You can either store the locale in a variable of String data type or select Literal to choose the locale from the list of available options. You must define the locale code while storing the value for the locale in a variable. For example, specify en_US for English and fr_FR for French.

  • Adobe Sign Cloud Configuration: Choose an Adobe Sign Cloud Configuration. If you have not configured Adobe Sign for AEM Forms, see Integrate Adobe Sign with AEM Forms.

  • Select Document to be signed using: You can choose a document from a location relative to the payload, use payload as the document, specify an absolute path of the document, or retrieve the document stored in a variable of Document data type.

  • Days Until Deadline: A document is marked due (passed deadline) after there is no activity on the task for the number of days specifies in the Days Until Deadline field. The number of days are counted after the documented is assigned to a user for signing.

  • Reminder Email Frequency: You can send a reminder email at daily or weekly interval. The week is counted from the day the documented is assigned to a user for signing.

  • Signature Process: You can choose to sign a document in a sequential or a parallel order. In sequential order, one signer receives the document at a time for signing. After the first signer completes signing the document, then the document is sent to the second signer, and so on. In parallel order, multiple signers can sign a document at a time.

  • Redirection URL: Specify a redirection URL. After the document is signed, you can redirect the assignee to a URL. Usually, this URL contains a thank you message or further instructions.

  • Workflow Stage: A workflow can have multiple stages. These stages are displayed in the AEM Inbox. You can define these stages in the properties of the model ( Sidekick > Page > Page Properties > Stages).

  • Select Signers: Specify the method to choose signers for the document. You can dynamically assign the workflow to a user or a group or manually add details of a signer.

  • Script or service to select signers: The option is available only if the Dynamically option is selected in the Select Signers field. You can specify an ECMAScript or a service to choose signers and verification options for a document.

  • Signer Details: The option is available only if the Manually option is selected in the Select Signers field. Specify email address and choose an optional verification mechanism. Before selecting a 2-step verification mechanism, ensure that the corresponding verification option is enabled for the configured Adobe Sign account. You can use a variable of String data type to define values for Email, Country Code, and Phone Number fields. The Country Code and Phone Number fields display only if you select Phone Verification from the 2-step verification drop-down list.

On this page