Using start message events

If you want a process or event subprocess to start when a message is received, use a Start Message Event in your process or your event subprocess. Incoming messages can originate from a message event in a process, from a web service that you create, or from a message that you post to the JMS Listener.

About this task

The general information that applies to all types of message events are covered in Modeling message events.

For example, you might want an employee on-boarding process to start when a record for each new employee is created in your HR system. When the record is created, the system sends an event to the workflow server, which captures the event and starts the follow-on steps for each new employee such as setting up the necessary space and computer equipment, requesting and creating a security badge.

Procedure

  1. Open a process or drill into an event subprocess, then drag a Message Start Event component from the palette onto the diagram.
  2. If the start event is part of an event subprocess, the Start Event section shows the following options.
    1. If receiving and processing the message causes completion of the parent process, make sure that the Interrupt Parent Process option is selected, which is the default setting. When this option is selected, when the subprocess reaches its end, the parent instance is completed. Otherwise, clear the selection so that the parent process is not interrupted or completed when the message is received.
    2. If Interrupt Parent Process is not selected, the Repeatable option is available. If the start message event can be triggered more than once, select the Repeatable option so that the subprocess can receive multiple messages.
  3. Specify the correlation and output mapping.
    1. On the Properties tab, click Data Mapping.
    2. Open the Output Mapping section.
    3. Map each output variable to a local variable in the process.
      For each variable, click the variable selector icon to map each output variable to be passed into a local variable in the process.

    For example, if the start message event starts an instance of an on-boarding process when an employee record is created in your HR system, you can map the employee information from the undercover agent to a local variable in the process.

    If your start message event is inside an event subprocess, you must select a variable to be used for correlating process instances. Correlation is used to identify the process instance that the message is meant for.

    For example, an employee number might be used to uniquely identify an instance of an on-boarding process. Selecting this variable for correlation ensures that when the data related to a specific employee number is passed to the event subprocess, the appropriate instance of the on-boarding process is found.