Conroe ISD Knowledge Base

Page 3: Process Diagram Activities & Configuration

The Process Diagram in Laserfiche Forms uses standard BPMN (Business Process Model and Notation) elements to define how data moves through your organization, who gets assigned tasks, and how automated actions execute.

🚀 Start Events

Start events initiate a new process instance. A process must have at least one start event.

Activity

Description

How to Configure

Start Event

Standard starting point triggered manually when a user presses the start button on the form.

  1. Drag the event out into the canvas.

  2. You can set a name and a Description for the event.

Message Start Event

Triggers a process when the user submits the form

  1. Drag the event out into the canvas.

  2. You can set a name and a Description for the event.

  3. Set a starting form from the dorpdown

  4. Change any optional settings like Submit button label, Saving as a draft or Task Sequence

Timer Start Event

Automatically initiates a process instance on a recurring schedule or specific future date.

  1. Drag the event out into the canvas.

  2. Specify start date, time and time zone you want the process to run

  3. Setup an optional Repeat where you can select an interval and future end date

Error Start Event

Error start events start a process based on a custom error generated from an error end event. Error start events interrupt all activities in a process.

  1. Drag the event out into the canvas.

  2. Under Catch, configure whether to catch any custom errors generated by error end events or to catch a specific custom error.

⏱️ Intermediate Events (Signals & Timers)

Intermediate events occur during process execution to pause, delay, or broadcast signals across process paths.

Activity

Description

How to Configure

Signal Throw and Catch Events

A signal throw event can broadcast a signal that a signal catch event will listen for. Upon receiving the signal from the Signal Throw Event, the signal catch event can act on the signal.

  1. Drag a signal throw event onto the canvas and connect it to a spot in the process flow.

  2. Double-click the signal throw event to configure it.

  3. In the Name text box, provide a descriptive name for the signal.

  4. Under Broadcast signal, choose or create a signal that this event will send out when it's reached. Signals can be created by selecting Create a signal from the menu and typing a name in the dialog box that appears. Existing signals can be edited by selecting them in the menu and clicking Edit.

  5. Right-click the user task or sub-process from which you want a process flow to run when the first signal intermediate event is reached.

  6. Select Attach signal event.

  7. Double-click the attached signal event.

  8. In the Name text box, provide a descriptive name for the event.

  9. Under Listen to signal, select the signal you configured in step 4. This attached signal event will now "listen" for the signal that is "broadcast" when the other signal intermediate event in the process is reached. It will run when it receives that signal.

  10. By default, the user task or sub-process will be interrupted and canceled when the attached signal catch event runs. Select the Do not interrupt the attached activity if you want the user task or sub-process to continue running.

  11. Note: The process flow out of the attached signal catch event will begin running as soon as the broadcast signal is received. It will not wait for the user task or sub-process to finish running.

  12. When you are done, define a process flow that will be taken if this signal intermediate event is run.

  13. Continue to attach signal catch events to any tasks you also want alternate process flows to run from when the first signal throw event "broadcasts" its signal.

Timer Catch Event

A timer catch event helps adjust the amount of time before a process continues, an activity is escalated, or an alternate path is taken. You can use it as an independent event or attach the event to a user task or sub-process.

  1. Drag the event out into the canvas.

  2. Type a name for the event under Name.

  3. Specify the wait conditions under Wait. You can delay the process based on the following options:

    1. Select Date and time to specify a specific date and time until when you want the event to delay the process.

    2. Select After to specify a specific amount of time you want the process to be delayed. You can also Exclude weekends and holidays from the amount of time.

    3. Select Variable to specify a number of days before or after a value in a variable. You can also Exclude weekends and holidays from the amount of time.

🏁 End Events

End events mark the termination of a sequence path or the entire process instance.

Activity

Description

How to Configure

End Event

End events mark the end of a process. Once a process flow reaches an end event, the process flow ends. However, if there are other process flows still in progress, those will continue until they also reach an end event.

No complex configuration required. Connect the incoming sequence flow directly to this node.

Terminate End Event

Once a process reaches a terminate end event, the entire process will be terminated including sub-processes and process flows that do not end in terminate end events.

Connect to paths where a rejection or critical stop requires immediate process cancellation.

Error End Event

Error end events generate a custom error and then end the current process flow. The custom error can be caught by error start events and error catch events.

  1. Drag the event out into the canvas.

  2. Assign an Error Code and Error Message.

  3. Ensure an Error Catch Event or Error Start Event is present to handle it.

👥 Tasks & Sub-Processes

Tasks represent actionable steps performed by either humans or embedded logic structures.

👤 User Task

Assigns a form to a specific user, team, or dynamic recipient for review, editing, or approval.

  • Configuration Steps:

    1. Form Selection: Choose the form assigned to this step.

    2. Assignment: Assign to specific Users, Roles/Groups, or dynamically via variable (e.g., varManagerEmail).

    3. Outcomes/Buttons: Define action buttons (e.g., Approve, Reject, Request Info).

    4. Due Dates & Directives: Set completion time limits and write instructions for the assigned user.

    5. Email Notifications: Enable automated task assignment alerts and reminders.

📦 Sub-Process

Encloses a group of related activities into a reusable, self-contained sub-workflow canvas.

  • Configuration Steps:

    1. Expand the container or open the sub-process canvas.

    2. Choose between Embedded Sub-Process (shares process context) or Call Activity (independent process execution).

    3. Map input and output variables between the parent process and sub-process.

🔀 Gateways (Decision Nodes)

Gateways control process flow branching and merging based on dynamic data or parallel execution.

┌─── Path A (Condition: varAmount < 1000)
       │
───[Gateway]─── Path B (Condition: varAmount >= 1000)
       │
       └─── Path C (Default)

Gateway Type

Behavior

How to Configure

Exclusive Gateway (XOR)

Single Choice: Only one outgoing path is taken based on conditional rules evaluated in order.

  1. Draw sequence flows to destination steps.


  1. Define conditional expressions for each path using variables (e.g., varAmount > 500).


  1. Set one path as the Default Path.

Inclusive Gateway (OR)

Multiple Choices: Evaluates all paths; one or more paths whose conditions evaluate to true will execute simultaneously.

  1. Define conditions for each path.


  1. Ensure a downstream Inclusive Gateway is used to merge/synchronize active paths before proceeding.

Parallel Gateway (AND)

Fork & Join: All outgoing paths execute concurrently. No evaluation conditions are applied.

  1. Connect multiple outgoing paths to split execution.


  1. Use a matching Parallel Gateway downstream to wait for all parallel paths to complete.

🤖 Service Tasks (Automated Operations)

Service tasks execute backend operations automatically without human intervention.

1️⃣ Workflow Service Task

Triggers a Laserfiche Workflow rule running on your Laserfiche Server.

  • How to Configure:

    • Select your Laserfiche Server Connection.

    • Choose the specific Workflow Name.

    • Input Parameters: Map process variables (e.g., varEmployeeID) to workflow parameters.

    • Output Parameters: Map parameters returned by Workflow back to process variables.

2️⃣ Save to Repository Service Task

Archives submitted forms, uploaded attachments, or auto-generated PDFs into the Laserfiche Repository.

  • How to Configure:

    • Repository Connection: Select target repository.

    • Folder Path: Specify destination folder using static text or variables (e.g., /HR/Onboarding/%(varLastName), %(varFirstName)/).

    • Document Name: Define document title syntax (e.g., Onboarding Request - %(varLastName)).

    • Metadata Mapping: Map process variables directly to Laserfiche Repository Metadata Fields/Templates.

3️⃣ Email Service Task

Sends automated email communications directly from the process.

  • How to Configure:

    • Recipients: Set To, CC, or BCC fields using static emails or variables (e.g., varSubmitterEmail).

    • Subject & Body: Compose rich text/HTML body content, embedding token variables (%(varFirstName)).

    • Attachments: Attach uploaded form files (varSupportingDocs) or full form submission PDFs.

4️⃣ Webhook Service Task

Performs HTTP/REST API integrations with third-party web services.

  • How to Configure:

    • HTTP Method: Select GET, POST, PUT, PATCH, or DELETE.

    • Endpoint URL: Input target web service URL (supports dynamic URL parameters).

    • Headers & Authentication: Configure API keys, Bearer tokens, or header key-value pairs.

    • Request Body: Format payload (JSON/XML) with dynamic form variables.

    • Response Mapping: Parse JSON responses into process variables for downstream use.

📌 Annotation

An Annotation is a visual text box placed directly on the diagram canvas to add documentation, instructions, or developer notes.

  • How to Configure:

    1. Drag an Annotation node onto the canvas.

    2. Type descriptive text or operational comments.

    3. (Optional) Drag an Association Line from the annotation to connect it to specific tasks or gateways.