Skip to main content

Send Tasks

A "send task" is used to model a specific type of activity that represents the process of sending a message, notification, or request to an external participant or system. They are used to depict a point in the process where information is transmitted to another entity, which may be a human user, another process, a service, or an external system.

SendTasks

Key characteristics of a send task:

Message Sending: Send tasks represent activities where a message, request, or notification is sent to an external participant or system as part of the process.

Asynchronous: Send tasks are typically asynchronous, meaning that the process does not wait for an immediate response but continues its flow.

Message Content: They may involve specifying the content of the message to be sent, which can include data and details relevant to the interaction.

No Direct Response: Unlike "receive tasks," which represent waiting for a response or incoming message, send tasks do not expect a direct response from the external entity.

Integration: Send tasks are often used to model the integration of the business process with external participants, systems, or services through message-based communication.

Attributes:

The following are the attributes associated with the "Send" tasks:

AttributeDescription
ID:The "Id" attribute represents the unique identifier of the send task. It corresponds to the task definition key in the BPMN model.
Name:The "Name" attribute defines the name or label of the send task.

Implementation:

The "Implementation" attribute specifies the method, class, or service that the send task will invoke or execute. It defines the technical implementation behind the task's functionality. Implementation options include:

ImplementationDescription
Java Class:If a Java class is used, the fully qualified class name is specified. This means that a Java class is responsible for executing the task.
Expression:An expression or script can be used to define the task's behavior. This allows for flexible and custom task execution based on the defined expression.

Result Variable: You can specify the name of the variable where the task result will be stored.
Delegate Expression:A delegate expression can be used to dynamically determine the implementation class at runtime. This provides flexibility in choosing the implementation class based on runtime conditions.
External:Configures Send Tasks to interact with external systems or services.

Topic: You need to provide a topic value. Identifies task categories within BPMN, aiding task categorization and external worker subscription.

Task Priority: This allows you to set the "Task Priority" level.
Connector:The "Connector" implementation involves the use of a connector or integration technology to interact with various external systems or services. It encapsulates the communication details and provides a structured way to make the interaction.
(Note: You must define the connector's configuration to have it referenced within the send task.)

Asynchronous Continuations:

Asynchronous continuations are used to specify whether a task is executed asynchronously, they include:

AttributeDescription
Asynchronous Before:The "Asynchronous Before" attribute indicates if the task can be started asynchronously before other tasks or events in the process.
Asynchronous After:Similarly, the "Asynchronous After" attribute denotes whether the send task can be completed asynchronously after other tasks or events in the process.