Question Most Common
Difference between Subprocess and Start Process Smart Service in Appian?
A
Anonymous
November 5, 2025

Answer

In Appian, both the Subprocess activity and the Start Process Smart Service are used to initiate other process models, but they differ in their execution behavior, resource utilization, and capabilities.


Subprocess:

  1. Execution: Can be configured to run either synchronously or asynchronously.
  2. Synchronous Subprocess: The parent process pauses and waits for the child process to complete before continuing. This allows for activity chaining from the parent into the child process and enables passing data by reference.
  3. Asynchronous Subprocess: The parent process continues its execution immediately after initiating the child process, without waiting for its completion. Data can be passed to the child process, but not back to the parent.
  4. Resource Utilization: Runs on the same process engine as its parent process. This can impact the load on a single engine if the subprocess is resource-intensive or frequently invoked.
  5. Traceability: Offers better traceability as the parent-child relationship is clearly defined within the process model.


Start Process Smart Service:

  1. Execution: Primarily designed for asynchronous execution. It initiates a new process instance independently of the calling process.
  2. Resource Utilization: Designed for load balancing, initiating the target process on a separate process engine than the parent, distributing the workload.
  3. Traceability: Lacks the direct parent-child relationship of a subprocess, making it potentially harder to trace the origin of a started process without additional logging or process variable management.
  4. Use Cases: Ideal for scenarios where the calling process does not need to wait for the initiated process, and where load balancing is a primary concern, such as initiating background tasks or independent workflows.


When to choose which:

  1. Use a Subprocess when:
  2. You require the parent process to wait for the child process to complete (synchronous).
  3. You need to chain activities between the parent and child process.
  4. You need to pass data by reference.
  5. Use a Start Process Smart Service when:
  6. The initiated process can run independently of the calling process (asynchronous).
  7. Load balancing across process engines is a priority.
  8. The calling process does not need to wait for the initiated process's completion.
JuniorProcess Models
Loading comments...