Actions By Email Connector

Request participants can make decisions via email with the click of a button.

Overview

The Actions By Email connector is part of the Actions By Email package. Use the Actions By Email connector in your Process models to automate emails to Request participants that allow them make decisions via email.

When the Actions By Email connector triggers during an in-progress Request, ProcessMaker Platform sends an email from the "no-reply@processmaker.net" email address to one email recipient so that this Request participant can make a decision as part of the Request. For example, this Request participant must make a decision to approve or deny a vacation request or for a purchase. The email recipient receives an email with buttons in the email to easily indicate the decision.

Email design is subject to email client limitations and may not fully support HTML5 or CSS3 specifications. Test your emails in your supported client applications.

While the Actions by Email connector can send the email to multiple email recipients, ProcessMaker Platform registers only the first response. The emails are sent using the Email Default settings, while the response is received using the Actions By Email settings.

After the email recipient clicks a button to indicate the decision, the email client creates an email reply to be delivered to the ProcessMaker Platform instance that used the Actions By Email connector. As indicated in the email reply, do not change anything below the automatically generated response because this response notifies the ProcessMaker Platform instance of the email recipient's decision for Request routing.

After the email recipient sends the reply email, ProcessMaker Platform receives the response and uses the indicated decision as part of the Request routing. For example, if you grant a leave request, the Request routes differently than if you deny that leave request.

The comment in the email reply above the indicated line is not preserved when the email reply is sent. This comment displays only for the benefit of the email recipient prior to sending the email reply.

The Actions By Email connector adds the Actions By Email connector below the BPMN 2.0 elements in the panel to the left of the Process Modeler canvas. See the following sections in this topic:

The recipient's email address and/or subject can be specified in one of the following ways when configuring the Actions By Email connector:

  • Plain text

  • A Variable Name setting value using mustache syntax, for example {{ email_recipient }} and {{ email_address }}, respectively

  • A Magic Variable value, specifically {{ _user.fullname }} and {{ _user.email }}, respectively

The Actions By Email connector can send the email to multiple recipients. These email recipients and their email addresses may be referenced from Request data or entered into connector settings.

When an Actions By Email connector triggers during an in-progress Request, ProcessMaker Platform automatically creates an asynchronous child Process: the Actions By Email connector sends the email (the child Process) while simultaneously the in-progress Request continues (the parent Process). In doing so, one of the following occurs:

  • An error occurs in the email delivery: While attempting to send the email, the Actions By Email connector receives an error. For example, your organization's email server or the email recipient's email server may be down. The child Process receives and sends the error to the parent Process. The child Process ends. Reference the child Process's error from the in-progress Request.

  • The Actions by Email connector sends the email: The email recipient receives the email while the in-progress Request continues (the parent Process). The child Process ends, but the email recipient may not have responded to the email. If the in-progress Request routes to an Exclusive Gateway element that requires the email recipient's response to evaluate routing, then the in-progress Request remains indefinitely active on the Exclusive Gateway element.

To ensure that Requests do not remain indefinitely active on an Exclusive Gateway element while the Request waits for the email recipient's response, design your Process model to use an Event-Based Gateway element preceding the Exclusive Gateway element that checks the following:

  • If an Intermediate Timer Event element triggers (after 72 hours, for example), the email recipient has not responded to the email. Thereafter, design in the Process model how to address this, such as sending a subsequent email using the Send Email connector.

  • If an Intermediate Message Catch Event element triggers instead of the Intermediate Timer Event element, the email recipient sent the response within the allotted time period.

Package and Permissions Required

The Actions By Email Email package must be installed to use the Actions By Email connector.

Furthermore, your user account or group membership must have the following permissions to configure an Actions By Email connector to the Process model unless your user account has the Make this user a Super Admin setting selected:

  • Processes: Edit Processes

  • Processes: View Processes

See the Process permissions or ask your Administrator for assistance.

Add an Actions By Email Connector to the Process Model

Follow these steps to add an Actions By Email connector to the Process model:

  1. View your Processes. The Processes page displays.

  2. Drag the connector into the Process model canvas where you want to place it. If a Pool element is in your Process model, the Actions By Email connector cannot be placed outside of the Pool element.

After adding the Actions By Email connector, consider adding the following Boundary-type Process model elements to design business solutions when your best-case scenarios don't happen:

After the connector is placed into the Process model, you may adjust its location in the following ways:

Moving an Actions By Email connector has the following limitations in regards to the following Process model elements:

  • Pool element: If the Actions By Email connector is inside of a Pool element, it cannot be moved outside of the Pool element. If you attempt to do so, Process Modeler places the Actions By Email connector inside the Pool element closest to where you attempt to move it.

  • Lane element: If the Actions By Email connector is inside of a Lane element, it can be moved to another Lane element in the same Pool element. However, the Actions By Email connector cannot be moved outside of the Pool element.

Customize the Appearance of an Actions By Email Connector

See Customize the Appearance of an Element or Connector.

Copy an Actions By Email Connector

See Copy Elements and Connectors into the Clipboard.

Clone an Actions By Email Connector

See Clone Elements and Connectors Without the Clipboard.

Delete an Actions By Email Connector

See Delete Elements and Connectors.

Settings

The Actions by Email connector has the following panels that contain settings:

Configuration Panel Settings

Follow these steps to configure an Actions By Email connector:

  1. In the Name setting, edit the selected connector's name and then press Enter.

  2. From the Email Server drop-down menu, select which email server that sends the email to the recipient(s). The Default Email Server option is the default. If additional email servers are configured from the Email Default Settings tab in Settings, then additional email server options display in the Email Server drop-down menu.

  3. In the Email setting, enter the email address(es) to which the Actions By Email connector sends an email when this Actions By Email control triggers. You may use the value from a Screen's Variable Name setting as a variable in this setting. For example, if your Process model references a Screen that contains a Line Input control with the Variable Name setting value of EmailAddress that the Request participant enters an email address, use mustache syntax {{EmailAddress}} to use that Line Input control's value in the Email setting. Email addresses may be referenced from Request data or entered into the Email setting by using commas (,) between email addresses. You may also use mustache syntax to reference Magic Variables.

  4. From the Language drop-down, select one of the following options to specify in which supported natural language the email recipient receives the email:

    • English (en): The email is in English.

    • German (de): The email is in German.

    • Spanish (es): The email is in Spanish.

    • French (fr): The email is in French.

    • Use Variable: Use a Request variable to specify which supported language to send the email.

  5. In the Subject setting, enter the subject of the email the Actions By Email connector sends. For example, enter the decision that the email recipient must make in this email.

  6. From the Body setting, select one of the following options:

    • Text: From the Body drop-down menu, select the Text option to enter the email body text. The Email body setting displays. In the Email body setting, enter the email body text.

    • Screen: From the Body drop-down menu, select the Screen option to use a Screen to display the email body. The Email body setting displays. From the Email body drop-down menu, select the Display-type Screen to display the email body.

  7. In the Key name setting, enter the name of the key that stores the Actions By Email connector response within the JSON data model of the Request.

  8. Follow these steps to add an option:

    1. In the Button Text setting, enter the button label displayed to the email.

    2. In the Value setting, enter the internal data name for the option that only the Process Owner views at design time.

    3. In the Button Style setting, select a button style:

      • Primary: Displays a button with a blue-colored background and white-colored text.

      • Secondary: Displays a button with a gray-colored background and white-colored text.

      • Success: Displays a button with a green-colored background and white-colored text.

      • Info: Displays a button with a teal-colored background and white-colored text.

      • Warning: Displays a button with a yellow-colored background and black-colored text.

      • Danger: Displays a button with a red-colored background with white-colored text.

      • Dark: Displays a button with a black-colored background with white-colored text.

      • Light: Displays a button with a white-colored background with black-colored text.

    4. Click Add.

Email design is subject to email client limitations and may not fully support HTML5 or CSS3 specifications. Test your emails in your supported client applications.

Loop Characteristics Panel Settings

Specify Characteristics to Perform Multiple Instances of the Task

Use the Loop Characteristics panel settings to specify how to perform multiple instances of this element. The following loop modes are available for this element:

  • No Loop Mode: Select the No Loop Mode option to perform this element's Task only once.

  • Loop: Select the Loop option to sequentially repeat this element's Task multiple times until an exit condition is True. This is useful when a Task should be performed multiple times with the same set of data, such as, processing a credit card payment. This loop mode has the following characteristics:

    • The element's Task is repeated until the exit condition is True or the maximum iterations limit is reached.

    • At any given time, only one instance of the Task is active. The subsequent instance does not begin until the current instance completes.

    • The same exit condition evaluates at the end of each instance; however, value(s) of the Request variable(s) used in the exit condition can change during an instance resulting in the exit condition to eventually evaluate as True.

    • If any one instance of that Task does not complete, workflow pauses.

    • All active instances are terminated if an interrupting boundary-type event element triggers.

  • Multi-instance (Parallel): Select the Multi-instance (Parallel) option to perform this element's Task multiple times in parallel a fixed number of times. This is useful when performing any action in bulk, such as sending an email to several people. This loop mode has the following characteristics:

    • Instances of the Task are governed by the size of an array-type Request variable where a new instance is created for each item in this variable. For example, an array with 10 items will create 10 parallel instances of this Task that each contains data from its respective array index.

    • All instances begin simultaneously when this element triggers; however, they perform their Task independently of each other.

    • The Task as a whole completes when all instances are complete.

    • The output from each instance can either be saved in the source Request variable or a new array-type Request variable.

    • All active instances terminate if an interrupting boundary-type event element triggers.

  • Multi-instance (Sequential): Select the Multi-instance (Sequential) option to perform this element's Task multiple times sequentially a fixed number of times or until an exit condition is True. This is useful when sequentially repeating a Task multiple times but with a different set of data each time. This loop mode has the following characteristics:

    • Instances of the Task are governed by the size an array-type Request variable where a new instance is created for each item in this variable. For example, an array with 10 items will create 10 parallel instances of this Task that each contains data from its respect array index.

    • At any given time, only one instance of the Task is active. The subsequent instance does not begin until the current instance completes.

    • At the end of each instance an exit condition evaluates and the loop activity halts if the exit condition is True.

    • The Task as a whole completes when all instances are complete.

    • The output from each instance can either be saved in the source Request variable or a new array-type Request variable.

    • All active instances terminate if an interrupting boundary-type event element triggers.

‌Follow these steps to specify characteristics to perform multiple instances of the Task:‌

  1. Select the element from the Process model in which to specify multiple instance characteristics. Panels to configure this element display.

  2. Expand the Loop Characteristics panel. The Loop Characteristics setting displays. By default, Loop Activity is set to No Loop Mode and the Task is performed only once.

  3. From the Loop Mode setting, select one of the following options to perform this element's Task more than once.

    • Loop: Select the Loop option. The settings for this loop mode display:

      Follow these steps:

      1. In the Maximum Iterations setting, enter an integer value representing the maximum number of times this Task should be performed.

      2. In the Exit Condition setting, enter a condition in FEEL syntax. When this condition is True the loop activity is halted.

    • Multi-instance (Parallel): Select the Multi-instance (Parallel) option. The settings for this loop mode display:

      Follow these steps:

      1. In the Request Variable Array setting, enter the name of an array-type Request Variable. The size of this array will determine how many times this loop iterates.

      2. In the Output Data Variable setting, enter the name of an array-type Request variable in which to store the results of all instances. Each instance of the loop saves to a separate JSON object within the array of the specified Request variable. If the Output Data Variable setting is not configured, then the output data replaces the source data in the Request Variable Array.

    • Multi-instance (Sequential): Select the Multi-instance (Sequential) option. The settings for this loop mode display:

      Follow these steps:

      1. In the Request Variable Array setting, enter the name of an array-type Request Variable. The size of this array will determine how many times this loop iterates.

      2. In the Exit Condition setting, enter a condition in FEEL syntax. When this condition is True the loop activity is halted.

      3. In the Output Data Variable setting, enter the name of an array-type Request variable in which to store the results of all instances. Each instance of the loop saves to a separate JSON object within the array of the specified Request variable. If the Output Data Variable setting is not configured, then the output data replaces the source data in the Request Variable Array.

Documentation Panel Settings

Edit the Connector's Description Displayed in Process Documentation

If the Documentation package is installed, describe the connector's purpose and how it functions in the Process. This description does not affect Requests for the Process, but may be useful for Process model maintenance such as how the connector is configured. Edit information by using the What-You-See-Is-What-You-Get (WYSIWYG) rich text editor.

A Process's entered documentation displays by selecting the View Documentation icon for that Process.

Package Required

The Documentation package must be installed to view or edit the documentation for a Process element or connector. Use the Documentation package to view documentation for Processes that includes an image of the Process map and entered description of its elements and connectors.

Follow these steps to edit the description for a connector:

  1. Select the connector from the Process model in which to edit its description. Panels to configure this connector display.

  2. Follow these guidelines to use the WYSIWYG rich text editor to stylize your text:

      1. Select the required text from the Rich Text control.

      2. In the URL setting, enter the destination URL.

      3. In the Text to display setting, edit or enter the text displayed in the Rich Text control.

      4. In the Title setting, enter the text to display when a user hovers over the displayed text.

      5. From Open link in… drop-down menu, select one of these options:

        • New window: Select this option to open the destination page in a new browser window.

        • Current window: Select this option to open the destination page in the current browser window.

      1. In the Source setting, enter a URL for the image.

      2. In the Alternative Description setting, enter the text to display if the source URL of the image is not accessible.

      3. In the Width setting, enter the maximum width for the image.

      4. In the Height setting, enter the maximum height for the image.

      5. Click Save.

    • Format text: Follow these guidelines to format text:

      • Headings: From the Paragraph/Formats menu, select Headings and then select a heading size.

      • Bold: Do one of the following:

        • From the Paragraph/Formats menu, select Inline and then Bold.

      • Italics: Do one of the following:

        • From the Paragraph/Formats menu, select Inline and then Italic.

      • Underline: From the Paragraph/Formats menu, select Inline and then Underline.

      • Strikethrough: From the Paragraph/Formats menu, select Inline and then Strikethrough.

      • Superscript: From the Paragraph/ Formats menu, select Inline and then Superscript.

      • Subscript: From the Paragraph/Formats menu, select Inline and then Subscript.

      • Code: From the Paragraph/Formats menu, select Inline and then Code.

      • Paragraph: From the Paragraph/Formats menu, select Blocks and then Paragraph.

      • Blockquote: From the Paragraph/Formats menu, select Blocks and then Blockquote.

      • Division: From the Paragraph/Formats menu, select Blocks and then Div.

      • Preformatted: From the Paragraph/Formats menu, select Blocks and then Pre.

        • Select one of the color swatches from the color palette. The selected text changes to that color.

      • Align text: Follow these guidelines to align text:

        • Left align: Do one of the following:

          • From the Paragraph/Formats menu, select Align and then Left.

        • Center align: Do one of the following:

          • From the Paragraph/Formats menu, select Align and then Center.

        • Right align: Do one of the following:

          • From the Paragraph/Formats menu, select Align and then Right.

        • Justify: Do one of the following:

          • From the Paragraph/Formats menu, select Align and then Justify.

pageActions By Email PackagepageWhat is a Connector?pageWhat is a Package?

Last updated

© Copyright 2000-2024 ProcessMaker Inc. All rights reserved.