Intermediate Message Catch Event

An Intermediate Message Catch Event object pauses a Request until that object receives a specific message. The purpose of the message transfer is to send data between Requests running from the same Process model since each Pool object represents its own Request with its own distinct Request data.

The message may originate from any of the following:

  • Intermediate Message Throw Event object: An Intermediate Message Throw Event object sends a message to the Intermediate Message Catch Event object that has paused its in-progress Request until the Intermediate Message Catch Event object receives its message. Use this functionality to resume workflow to the Request using the Intermediate Message Catch Event object from another Request. If the Intermediate Message Catch Event object is in the same Process model as the Intermediate Message Throw Event object for which it listens for its message, these objects must be in separate Pool objects since each Pool object has its own Request.

  • Message End Event object: A Message End Event object sends a message to the Intermediate Message Catch Event. Use this functionality to resume workflow to the Process Request using the Intermediate Message Catch Event object when the Request that sends the message completes. If the Intermediate Message Catch Event object is in the same Process model as the Message End Event object for which it listens for its message, these objects must be in separate Pool objects.

  • Third-party service: A third-party service such as a CRM may send a message via our API to the Intermediate Message Catch Event, thereby resuming workflow for that Request.

A Message Flow object can connect from the object sending the message to the Intermediate Message Catch Event object. Ensure that Intermediate Message Catch Event object and its triggering object are in different Pool objects. When configuring the Intermediate Message Catch Event object during Process modeling, select which message from the triggering object sends to the Intermediate Message Catch Event object.

An Intermediate Message Catch Event object functions as follows during a Request:

  1. Workflow in the Request using the Intermediate Message Catch Event object pauses when it reaches this event. The Intermediate Message Catch Event object waits for a message based on that message's name. The message name is a placeholder for the message.

  2. The Intermediate Message Throw Event object or Message End Event object triggers.

  3. That triggering object sends its message containing Request data to the Intermediate Message Catch Event object.

  4. If the message name matches that for which the Intermediate Message Catch Event object is listening, then that object triggers; workflow resumes in that Request. Otherwise, the Intermediate Message Catch Event object ignores the message.

Consider the following example how the Intermediate Message Catch Event object functions. This example uses the Intermediate Message Throw Event object in an overly simple purchase request and order fulfillment Process model. The Process model contains two Processes, each within its own Pool object. Each Process may potentially run its own Request.

Simple Process model example to demonstrate how an Intermediate Message Catch Event functions

The Intermediate Message Catch Event object (labeled "Catch from Order") is in the second Pool, "Purchase Fulfillment."

After the "Purchase Fulfillment" Request starts, the following occurs:

  1. Workflow delays after the "Preparation" Form Task object.

  2. When the Intermediate Message Throw Event object triggers from the "Purchase Order" Request (labeled "Throw to Fulfillment"), it sends its message to the Intermediate Message Catch Event object in the "Purchase Fulfillment" Request. Workflow continues in the "Purchase Order" Request to the End Event object.

  3. In the "Purchase Fulfillment" Request, the Intermediate Message Catch Event object triggers and receives the Intermediate Message Throw Event object's message.

  4. Workflow resumes in the "Purchase Fulfillment" Request.


Add an Intermediate Message Catch Event to a Process

Permissions

Your user account or group membership must have the following permissions to configure an Intermediate Message Catch Event object in 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 Intermediate Message Catch Event object from one of the following locations in Process Modeler:

  • Object Panel: Located to the left of the Process Modeler, the Object Panel contains various process modeling objects.

  • Object Bar: Located at the bottom of the Process Modeler, the Object Bar contains pinned Process modeling objects for quick access.

Follow these steps to add an Intermediate Message Catch Event from the Object panel to the Process model:

  1. Ensure that the Object panel is visible. If not, click the Add icon from the Object bar at the bottom.

  2. Click the Intermediate Event object from the Object panel to select it.

  3. Click the location in the Process model to place this object. Follow these guidelines when placing this object:

    • If your process has a Pool object, the object cannot be placed outside of the Pool.

    • To place this object between two existing objects, follow these instructions.

  4. Click the Objects drop-down menu, and then select the Intermediate Message Catch Event option.

    The Intermediate Message Catch Event object displays.

Follow these steps to add an Intermediate Message Catch Event object from the Object bar to the Process model:

  1. Ensure that the object is pinned to the Object bar. If not, see instructions to pin it.

  2. In the Object bar at the bottom center, click the object's icon.

  3. Click the location in the Process model to place this object. Follow these guidelines when placing this object:

    • If your process has a Pool object, the object cannot be placed outside of the Pool.

    • To place this object between two existing objects, follow these instructions.

  4. Click the Objects drop-down menu, and then select the Intermediate Message Catch Event option.

    The Intermediate Message Catch Event object displays.

Replace an Intermediate Message Catch Event Object with a Different Intermediate Request Event Object

After an Intermediate Message Catch Event object is added to a Process model, you may replace it with a different intermediate Request event object:

The selected Intermediate Message Catch Event object is replaced by the default settings and color of the replacing object.

Follow these steps to replace an Intermediate Message Catch Event object with a different intermediate Request event object:

  1. Select the Intermediate Message Catch Event object to change to another intermediate Request event object. Available options display above the selected object.

  2. Click the Objects icon. The Objects drop-down menu displays the intermediate Request event objects.

  3. Select the object to replace the Intermediate Message Catch Event object. The Change Type screen displays to confirm replacing the currently selected object.

  4. Click Confirm. The new object replaces the Intermediate Message Catch Event object with its default settings and color.


Settings

The Intermediate Message Catch Event object has the following panels that contain settings:


Configuration Panel Settings

The Intermediate Message Catch Event object has the following settings in the Properties panel:

Edit the Object Name

An object name is a human-readable reference for a Process object. Process Modeler automatically assigns the name of a Process object with its object type. However, an object's name can be changed.

Follow these steps to edit the name for an Intermediate Message Catch Event object:

  1. Select the Intermediate Message Catch Event object from the Process model in which to edit its name.

  2. Ensure that the Configuration panel displays. If not, show it. The Name setting displays. This is a required setting.  

  3. In the Name setting, edit the selected object's name and then press Enter.

Select the Object from Which to Listen for a Message

An Intermediate Message Catch Event object pauses a Request until that object receives a message from either an Intermediate Message Throw Event object or a Message End Event object (but not both) located in a different Pool object than the Intermediate Message Catch Event object receiving the message. After the Intermediate Message Catch Event object receives its message, that object triggers. Select from which object to listen for a message based on the Intermediate Message Throw Event or Message End Event object's Message Name setting value.

Follow these steps to select the object from which to listen for a message:

  1. Select the Intermediate Message Catch Event object from the Process model in which to configure how it is triggered.

  2. Ensure that the Configuration panel displays. If not, show it. Panels to configure this object display.

  3. Expand the Configuration panel if it is not presently expanded, and then locate the Listen For Message setting.

  4. From the Listen For Message drop-down menu, select from which Intermediate Message Throw Event object or End Event object triggers the Intermediate Message Catch Event object.


Documentation Panel Settings

Describe the object'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 object 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.

Edit the Object's Description Displayed in Process Documentation

Follow these steps to edit the description for an object:

  1. Select the object from the Process model in which to edit its description.

  2. Ensure that the Configuration panel displays. If not, show it. Panels to configure this object display.

  3. Expand the Documentation panel if it is not presently expanded. The Description setting displays.

  4. In the Description setting, edit the information to display when viewing documentation for this object and then press Enter. Alternatively, use the What-You-See-Is-What-You-Get (WYSIWYG) rich text editor to stylize your text by clicking the More icon.

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

    • Undo changes: Click on theicon to undo the last action.

    • Redo changes: Click on theicon to redo the last undone action.

    • Insert/Edit Link: Click on theicon to convert the selected text into a hyperlink. Follow these steps to create a hyperlink:

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

      2. Click on theicon. The Insert/Edit Link screen displays.  

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

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

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

      6. 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.

    • Insert/Edit Image: Click on the Insert/Edit Image iconto insert an image. Follow these guidelines:

      1. Click on the Insert/Edit Image icon.

      2. The Insert/Edit Image screen displays:

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

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

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

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

      7. Toggle the Constrain Proportions iconto maintain the width-height ratio of the image to its original proportion.

      8. Click Save.

    • Insert Page Break for PDF: Click on the Insert Page Break for PDF iconto insert a page break when a PDF document is created for this documentation if your browser supports this feature.

    • 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 editor toolbar, select theicon.

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

      • Italics: Do one of the following:

        • From the editor toolbar, select theicon.

        • 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.

      • Change text color: Use the Text Color drop-down to change text color. Click on theicon. The color palette displays. Do one of the following:

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

          • Click theicon to select a custom color from the Color Picker.

          • Click theicon to reset the text to its default color.

      • Align text: Follow these guidelines to align text:

        • Left align: Do one of the following:

          • From the editor toolbar, use theicon to left-align text.

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

        • Center align: Do one of the following:

          • From the editor toolbar, use theicon to center-align text.

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

        • Right align: Do one of the following:

          • From the editor toolbar, use theicon to right-align text.

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

        • Justify: Do one of the following:

          • From the editor toolbar, use theicon to justify text.

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

      • Insert a bullet list: Use theicon to format text as a bulleted list.

      • Insert a numbered list:  Use theicon to format text as a numbered list.

      • Indent text: Click on theicon to increase text indenting.

      • Outdent text: Click on theicon to decrease text indenting.


Vocabularies Panel Settings

Vocabularies validate that Request data complies with a specific JSON schema. This is often mandatory for many types of business sectors including banking and healthcare ensuring the quality and compliance of Request data. For example, during a Loan Application process, ensure that all required personal information has been included in the Request.

Use a Vocabulary on a Form Task to validate that Request data complies with the Vocabulary's JSON schema after the Task assignee submits the Task. Multiple Vocabularies can be assigned to a Form Task object. During an in-progress Request, if the Request data no longer complies with all assigned Vocabularies, the Request status changes from In Progress to Error in the Request summary. Vocabularies are cumulative in an in-progress Request: as the Request progresses, if Request data does not conform with any Vocabulary's JSON schema, the request status displays an error. For more information What is a Vocabulary? and Create a New Vocabulary.

Assign Vocabularies That Validate Request Data from This Object

Follow these steps to assign Vocabularies that validate Request data from an Intermediate Message Catch Event object:

  1. Select the Intermediate Message Catch Event object from the Process model in which to assign Vocabularies that validate Request data prior to when this object completes.

  2. Ensure that the Configuration panel displays. If not, show it. Panels to configure this object display.

  3. Expand the Vocabularies panel if it is not presently expanded. The Assigned setting displays.

  4. Click theicon to add a Vocabulary. The Assign Vocabulary option displays.

  5. From the Select Vocabulary drop-down menu, select a Vocabulary from which to validate Request data complies with its JSON schema.

    If no Vocabularies are configured in your ProcessMaker Platform instance, then the following message displays: List is empty. Create at least one Vocabulary. See Create a New Vocabulary.

  6. Click Save.

  7. Repeat Steps 3 through 6 as necessary for each Vocabulary required to validate Request data complies with its JSON schema.

Click the Remove iconfrom the Vocabularies setting to remove a Vocabulary from assignment to this object.

After one or more Vocabularies are assigned to an Intermediate Message Catch Event object, the Vocabulary icon displays above that object.

Advanced Panel Settings

Edit the Node's Identifier Value

Process Modeler automatically assigns a unique value to each Process node added to a Process model. However, a node's identifier value can be changed if it is unique to all other nodes in the Process model, including the Process model's identifier value.

All identifier values for all nodes in the Process model must be unique.

Follow these steps to edit the identifier value for an Intermediate Message Catch Event object:

  1. Select the Intermediate Message Catch Event object from the Process model in which to edit its identifier value.

  2. Ensure that the Configuration panel displays. If not, show it. Panels to configure this object display.

  3. Expand the Advanced panel if it is not presently expanded. The Node Identifier setting displays. This is a required setting.  

  4. In the Node Identifier setting, edit the Intermediate Message Catch Event object's identifier to a unique value from all nodes in the Process model and then press Enter.