The following tables describe and list the properties of the process definition objects.

Process Definition Events

Process definition includes the following event references.

SymbolNameDescriptionProperties
Generic Start Event(default) Process initial state.
  • Name
  • ID
  • Input Type
    • Alert (default)
    • Incident 
    • Resource
    • Service Request
  • Add Custom Input (optional)
    Select or deselect the Add Custom Input toggle.
    Click + to add custom input fields.
Timer Intermediate Catch EventPuts the process on hold until the specified time or duration. Transition to the next process step is triggered with the elapse of time or duration.
  • Name
  • ID
  • Time Definition Type:
    • Duration
    • In - Enter the duration.
    • Select
      • Days
      • Hours
      • Minutes
      • Seconds
  • Time

    Select the time in 24 hour format.

Message Start EventTriggers a workflow automatically when a matching message is received from an external source like Slack.
  • Name
  • ID
  • Task Type:
    • Slack
Timer Start EventProcess initial state. Transition to the next process step is triggered by a time event.
  • Name
  • ID
  • Start Date
  • Ends
    • Never
    • AfternumberOfOccurrences
    • On
  • Recurrence Pattern
    • Minute
    • Hourly
    • Daily
    • Weekly
    • Monthly
  • Repeats Every
Signal Start EventProcess initial state. Transition to the next process step is triggered by an alert, incident, or resource signal event.
  • Name
  • ID
  • Signal type:
    • Alert
    • Incident
    • Resource
    • Service Request
  • Signal event:
    • Created
    • Updated
  • Filter Criteria Start event condition. Example: $attribute1Name =
Timer Boundary EventEnables the task to complete within the specified duration. If the task is not completed within the duration, the process moves to the next step.
  • Name
  • ID
  • Duration
  • In - Enter the duration.
  • Select
    • Days
    • Hours
    • Minutes
    • Seconds
End EventProcess end state.
  • Name
  • ID

Supported Task Types

You must define one of the following task types.

SymbolNameDescriptionProperties
Send TaskSends an email notification to the specified users, user groups, or rosters.
In the Message Recipient field, click Add/Modify to find the recipients.
The recipient list is displayed based on the login authentication such as partner or client.
  • Name
  • ID
  • Service
    • Notification
    • Messaging Apps
      • Slack
  • Input
  • Assigned Recipient
    • Users
    • User Groups
    • Roasters
  • Notification Template
  • Notification Priority
    • VERY_LOW
    • LOW
    • NORMAL (default)
    • HIGH
    • URGENT
Script TaskRuns an agent-based script or agentless script using the Ansible control node.
The agent-based task can be implemented using a Python, PowerShell, or shell script.
See Ansible Integration to learn more about Agentless script tasks.
  • Name
  • ID
  • Platform
    • Agent (default)
    • Agentless
  • Platform Category
  • Script Name
  • Script Parameters
  • Enable Credentials in Script: Passes the selected credentials securely to the script for execution.
  • Resource ID
  • Run As
    • Default user (default) Use the user of the agent service for execution.
    • Other users Use the credential assigned to the resource.
Service TaskRuns an external, REST API, local platform, and utility service.
User TaskA user task models work that requires human intervention. When the task runs, a new service desk entity task is created and is displayed in the assignee/assignee group task list.
In the Assignee Group field, click Add/Modify to select the assignee group. In the Assignee field, click Add/Modify to select the assignee.
The assignee/assignee group is displayed based on the login authentication such as partner or client.
The workflow transitions out of the user task and to the next stage On receipt of a Closed or Resolved indication from the service desk entity.
Any properties you define in Setup > Service Desk > Custom Fields Form are also displayed here as additional properties.
  • Name
  • ID
  • Subject
  • Description
  • Resource Id
  • Priority
    • Low
    • Normal
    • High
    • Urgent
    • Very Low
  • Duration
    • In
    • Interval
      • Days
      • Hours
      • Minutes
      • Seconds
  • Estimated Hours
  • CC
  • Assigned Recipient
    • Users
    • Users Groups
      • Custom Fields
        • A
        • Running Config
        • Remediation Config
        • Baseline Config
        • Assign dates
        • X
        • TextField1
        • Dropdown1
        • dasdas


    Type of Services under Service Tasks

    There are three types of services under Service Task.

    1. REST Web Service: Configure the REST API calls with integration setup.
    2. Platform Service: The platform service tasks are available for the service task.
    3. Utility Server: This service allows you to parse the server.
    4. Jenkins Service: This will help to trigger jenkins operations like trigger build, get build status, get build logs, stop build.

    1. REST Web Service

    REST Web Service task enables your automated workflows to interact with external APIs. This allows your processes to seamlessly integrate with and leverage the capabilities of other web-based services.

    When you incorporate a REST Web Service task into your process definition, you need to configure the following parameters:

    OptionDescription
    NameEnter a name for the REST web service task.
    IDThe ID is populated automatically.
    ServiceSelect the REST Web Service task from the drop-down.
    Asynchronous Service Invocation (optional)Select or deselect the toggle.
    An asynchronous service invocation follows the Request, Acknowledge, and Callback pattern. Once invoked, the process is put on hold on this task until the REST application calls back.
    IntegrationSelect - Choose a custom integration from a list of previously created integrations.
    Only the selected custom integration is triggered during the process workflow.
    To create a custom integration for Process Automation, see the Configure custom automation integration section.
    EventSelect - Choose a custom event from a list of previously created events.
    Only the selected custom event integration is triggered during the process workflow.
    To create a custom event for Process Automation, see EVENTS (after Step 9) in the Configure custom automation integration section.
    InputEnter the input. To provide multiple inputs for different tasks, enter the multiple inputs separated by commas.
    For example, $StartEvent_1bedsev.alert, $Create_SR, $Create_INC

    Note: The input value provided must be the same as the option selected in the On field in the Configuring the event section in Configure custom automation integration section.

    See the Input examples section for information about providing input values.

    - If the event type set is to "Alert" we can configure all properties related to alert and resource along with resource custom attributes from the tokens section to the payload.
    - If the event type is set to "Resource" we can configure all properties related to resource along with resource custom attributes from the tokens section to the payload.

    Input a JSONSelect this checkbox to provide JSON‑formatted input. When enabled, the above input field becomes optional, but providing JSON input is mandatory.

    Input examples

    On field Integration EventREST Web service Input fieldInput Example
    ResourceResource$taskId.alert.resource, $taskId.resource
    AlertAlert$taskId.alert
    TaskTask$taskId.task
    IncidentIncident$taskId.alert.incident, $taskId.incident
    Json ObjectJson Object$taskId

    2. Platform Service

    Platform Service tasks are pre-built actions that allow your automated workflows to interact directly with core OpsRamp functionalities and data. These tasks provide a way to automate common operational procedures within the OpsRamp platform itself, without needing to write custom scripts or integrate with external systems for these specific actions.

    EntityPlatform Service TaskDescription
    AlertClose AlertCloses an alert using the alert ID.
    Create/Update AlertCreates and updates an alert.
    The Create/Update Alert lets you customize the alerts that are inbound through the integrations.
    By configuring a custom process definition for an integration, you can customize the incoming alerts according to the properties defined in the process definition.
    Enter the attribute values. The input text here is provided as an example:
    • Subject - $StartAlert.alert.subject
    • Alert State - $StartAlert.alert.currentState
    • Metric Name - $StartAlert.alert.metric
    • Alert Source - $StartAlert.alert.alertSource

    • Note:
      • When you enter a value in the Alert Source field to create a Process Definition and if the given value is a valid source, then an alert is created with the same source value.
      • When you enter a value in the Alert Source field to create a Process Definition and if the given value is an invalid source, then an alert is created with the default source value as OPSRAMP.
      • When you create a Process Definition by keeping the Alert Source field empty, then an alert is created with the default source value as OPSRAMP.


    • Component - $StartAlert.alert.component
    • Resource Name - Enter the resource name or uuid.
      $StartAlert.alert.resource.name or $StartAlert.alert.resource.uuid
    • Description - Process definition for Integration

    This process definition is available for selection in the Enrich and Create Alert section while creating custom integrations.
    See the Configure the custom integration for webhook section to learn more about the Enrich and Create Alert option.
    Find AlertsFinds a list of alerts that match a PromQL query string.
    Get AlertGets an alert using the alert ID.
    Heal AlertHeals an alert using the alert ID.
    Post Alert CommentPosts a comment using the alert ID.
    Set Alert PrioritySets an alert priority using the alert ID.
    Update Alert Custom TagsUpdates or adds custom tags for a specific alert.
    IncidentFind IncidentsFinds a list of Incidents that match a PromQL query string.
    Get IncidentGets an incident using the incident ID.
    • parentId
    • attachedRequests
      Update IncidentUpdates the following incident attributes using the incident ID.
      • Priority
      • Status
      • Assignee Group
      • Assignee
      • Response
      • Subject
      Service RequestFind Service RequestFinds a service request.
      Get Service RequestFetches a service request.
      Update Service RequestUpdates a service request
      ProblemsFind ProblemsFetches problem records that match the defined search conditions.
      Get ProblemFetches detailed information of a specific problem record using its identifier.
      Update ProblemUpdates the details of an existing problem record.
      Change RequestsFind Change RequestsRetrieves a list of change requests based on specified filters and criteria.
      Get Change RequestRetrieves detailed information of a specific change request using its identifier.
      Update Change RequestUpdates the details of an existing change request.
      ResourcesCreate Maintenance WindowCreates a maintenance window for selected resources based on the specified schedule and duration.
      Find ResourcesFinds a list of resources that match a PromQL query string.

      An example of a Platform Service is provided below:
      To Close Alert Task (see image below).

      patch management

      By default, the default flow was allowed under status change (see image below).

      patch management

      You can configure the status flow at the Partner/Client level if necessary.
      Go to Setup » Service Desk » Status Flow to configure the custom status flow.

      patch management

      3. Utility Service

      The Utility Service in OpsRamp Process Automation helps manage data and control workflow execution, enabling workflows to process, transform, and structure information for downstream tasks.

      The Utility Service includes the following task types:

      • Parser- Processes structured data and extracts values for use in subsequent workflow steps. The Parser task now supports both JSON objects and arrays of JSON objects as input.
      • Text to Json- Converts unstructured or text-based data into JSON objects or arrays of JSON objects based on a defined format. This enables workflows to work with structured data that can be easily processed by other tasks.
      • Format Collection- Organizes and formats data into a structured collection, making it easier to pass information between workflow tasks and use it in automation processes.

      Workflows can use the Text to JSON task to convert text-based resource information into JSON format. The Parser task can then process the JSON data, extract the required values, and dynamically iterate through resources to execute subsequent tasks based on the extracted information.

      A. Parser Task

      The Parser task is a Utility Service task that extracts structured key-value pairs from plain text or dynamic runtime tokens. It is useful when you need to pull specific pieces of information — such as percentages, hostnames, alert IDs, or status descriptions — from large or complex text inputs and pass them as inputs to subsequent tasks in a workflow.

      What you can parse

      The Parser task supports two types of input:

      • Plain text — Any static string containing values you want to extract.
      • Dynamic runtime tokens — Token values that are resolved at runtime, for example:
        • $.alert.uuid
        • $.resource.hostName

      The extracted values can represent metrics, descriptions, numbers, file paths, or any other text-based data needed by downstream tasks.

      To configure the Parser task:

      1. Add a Service task to your workflow canvas.
      2. In the Configuration panel, select Utility Service from the Service drop-down.
      3. Select Parser from the Task drop-down.
      4. Click + Add Condition. A configuration panel opens where you define a single parser condition.
        patch management
      5. Enter a Key name - this is the output variable that will hold the parsed value.
      6. Enter the Input text or token to parse.
      7. Select the Type for the condition - either String or Date.
        patch management

      String operators

      Use the following operators when the condition type is String:

      OperatorDescription
      AfterExtracts all text that appears after a specified word or delimiter.
      BeforeExtracts all text that appears before a specified word or delimiter.
      BetweenExtracts text that appears between a defined start word and end word.
      Pre PendPrepends (inserts) a specified string before the input value.
      Post PendAppends (inserts) a specified string after the input value.
      TrimRemoves leading and trailing whitespace from the input value.
      RegexExtracts text matching a regular expression pattern from the input.
      UppercaseConverts the entire input string to uppercase.
      LowercaseConverts the entire input string to lowercase.
      SplitSplits the input string at a specified delimiter and returns the resulting parts.

      Date operators

      Use the following operators when the condition type is Date:

      OperatorDescription
      AddAdds a specified number of days to the input date.
      SubtractSubtracts a specified number of days from the input date.
      NowReturns the current date and time at the point of execution.
      FormatConverts the input date to a specified format and timezone. Provide both the target date format (for example, `yyyy-MM-dd`) and the timezone (for example, `UTC` or `America/New_York`).
      1. After configuring the key, input, type, and operator, click Add Condition to save the condition.
      2. To add more parsed key-value pairs to the same task, click + Parameters and repeat the steps above for each additional condition.

      Managing existing conditions

      Once a condition is created, you can:

      • Edit — Modify the key, input, or operator.
      • Validate — Test the condition against a sample input to verify the parsed output before running the workflow.
      • Remove — Delete the condition from the parser configuration.
      patch management

      Example:

      The following example demonstrates the validation of a plain text alert input using all the five available parsing operators.

      The Physical Memory Usage on the device is 56%. The Virtual Memory Usage on the device is 43%.

      The following is the parsed text result:

      {  "physical memory": "The Physical Memory Usage on the device",
        "virtual memory": "43%."}
      

      Parsing Dynamic Values in Run Time

      The following example demonstrates providing dynamic values as inputs, parsing dynamic values in run time, and using the parsed values in the next task in the process workflow.

      For example, the first task in the workflow is the Parser utility task and the next task is the Post Alert Comment platform service task.

      Parser Utility Task

      The input query for the Parser task is as follows:

      Alert created # $StartEvent_10g1j00.alert.uuid on device $StartEvent_10g1j00.alert.resource.hostName. Subject: $StartEvent_10g1j00.alert.subject.

      The validation response for this input is:

      {
        "subject": "$StartEvent_10g1j00.alert.subject",
        "alertId": "$StartEvent_10g1j00.alert.uuid",
        "deviceName": "$StartEvent_10g1j00"
      }
      

      The subject, alertId, and deviceName parameters are the outputs of the Parser task. The actual values are replaced with tokens in the run time.

      Note that the values are not yet assigned to these parameters. These are provided as inputs for the Post Alert Comment task.

      Post Alert Comment task

      The following parameters are provided as inputs after parsing the text:

      • Alert Id - The alert id is generated from the parser task. $Parser.alertId
      • Subject - The name of the subject is appended from the parser task. $Parser.subject
      • Device - The name of the device is appended from the parser task. $Parser.deviceName

      The result of the Post Alert Comment task is as follows:

      Alert Id: 24475 Subject: Testing the parser task. Device: Think-pad

      B. Text to Json Task

      The Text to Json task converts unstructured or semi-structured text containing resource information into structured JSON objects or arrays of JSON objects.

      • The enhanced Parser task can then process this JSON data to facilitate dynamic iteration within the workflow.
      • Previously, workflow iteration in Process Automation was limited to static numbers or predefined values. With Text to Json task, you can perform workflow iteration based on multiple resource details provided within the Alert subject or description, often in a comma-separated format.


      Text To Json Limitations and Supported Formats

      The TextToJson utility supports specific special characters to differentiate between:

      • Key and Value: :, =, >, @, #, <
      • Key-Value Pairs: |, ,, &, @, ?

      Supported Key-Value and Pair Separators:

      Key-Value SeparatorPair Separator(s)
      >| , ? , & , @
      :| , @ , ?
      =| , & , @ , ?
      @| , ?
      #| , & , ?
      <| , ?

      Working Format Examples:

      Input TextOutput
      key1=value1|key2=value2|key3=value3|key4=value4|key5=value5,key6=value6|key7=value7
      {result=[{"key1":"value1","key2":"value2","key5":"value5","key3":"value3","key4":"value4"},{"key6":"value6","key7":"value7"}]}
      key1>value1|key2>value2|key3>value3|key4>value4|key5>value5,key6>value6|key7>value7
      {result=[{"key1":"value1","key2":"value2","key5":"value5","key3":"value3","key4":"value4"},{"key6":"value6","key7":"value7"}]}
      key1@value1|key2@value2|key3@value3|key4@value4|key5@value5,key6@value6|key7@value7
      {result=[{"key1":"value1","key2":"value2","key5":"value5","key3":"value3","key4":"value4"},{"key6":"value6","key7":"value7"}]}
      key1#value1|key2#value2|key3#value3|key4#value4|key5#value5,key6#value6|key7#value7
      {result=[{"key1":"value1","key2":"value2","key5":"value5","key3":"value3","key4":"value4"},{"key6":"value6","key7":"value7"}]}
      key1<value1|key2<value2|key3<value3|key4<value4|key5<value5,key6<value6|key7<value7
      {result=[{"key1":"value1","key2":"value2","key5":"value5","key3":"value3","key4":"value4"},{"key6":"value6","key7":"value7"}]}

      C. Format Collection

      The Format Collection task is a utility function that transforms collection-based outputs (such as lists, maps, or JSON arrays) into structured, human-readable formats. This is ideal when workflows generate complex data outputs like alert lists, patch results, or resource inventories.

      Key Benefits:

      • Convert complex data into easy-to-read tables or structured output
      • Extract only relevant fields from large datasets
      • Improve readability for stakeholders (Ops teams, managers, customers)
      • Enable seamless integration with downstream tasks

      Configuration Steps

      1. Add a Service Task
        • Create a new Service Task in your workflow
      2. Configure the Service and Task
        • In the Configuration section, select Utility Service from the Service dropdown
        • Select Format Collection from the Task dropdown
      patch management
      1. Enter the Required Fields
      FieldDescription
      CollectionSpecifies the input collection to be formatted. This is typically the output from a previous task that contains one or more data records.
      ColumnsDefines the fields to extract from each item in the collection. Only the selected fields are included in the formatted output.
      Headers (Optional)Specifies custom column names for the output. If provided, the number and order of headers must match the selected columns.
      FormatSpecifies the output format. Supported formats include HTML Table for email templates and reports, Plain Text for logs and messages, and JSON for downstream processing and integrations.
      patch management

      4. Jenkins Service (Outbound Integration)

      OpsRamp Process Automation supports Jenkins Service Integration through an outbound connector. This enables users to automate Jenkins CI/CD operations directly from OpsRamp without switching between tools. By configuring the Jenkins connector, you can trigger builds, monitor build activity, retrieve build data, and manage job execution all from within an automated workflow.

      Key Benefits

      • Centralized Automation: Run Jenkins jobs as part of broader OpsRamp automation flows such as deployments, remediation, or change management.
      • Faster DevOps Operations: Trigger CI/CD jobs automatically based on alerts, schedules, approvals, or external events.
      • Real-Time Visibility: Retrieve live build statuses, logs, and job information for monitoring and validation inside your workflow.
      • Seamless Integration: Uses standard Jenkins authentication (username + API token) over a secure connection.

      Configuring Jenkins Service

      Follow the steps below to configure the Jenkins Outbound Connector in OpsRamp Process Automation:

      1. Select Jenkins Service
        • While creating an automation task, choose Jenkins Service from the service dropdown menu.
        • A Jenkins icon will appear on the task to indicate the integration is active.

      patch management
      2. Provide Authentication Details
      To connect OpsRamp with your Jenkins instance, enter the following details from your Jenkins account:

      • Server URL
      • Username
      • API Token

      These credentials are required to fetch job and build data from Jenkins.

      1. Validate the Connection
        • Click Get Info to verify and authenticate your Jenkins details.
        • If any information is invalid, an authentication error will be displayed.
      2. Select and Configure Actions
        • After successful authentication, select a Job Name from Jenkins.
        • Choose one of the supported Jenkins operations listed below:

      Supported Jenkins Operations

      Operation TypeDescriptionUse Cases
      Trigger BuildTriggers the specified Jenkins job.Basic job execution, scheduled builds, pipeline kickoff
      Trigger Build with ParametersStarts parameterized build jobs for dynamic and controlled executions.Automated deployments, parameter-based testing, on-demand builds
      Get Build StatusRetrieves the current status of running or completed builds.Progress tracking, error handling, quality gate enforcement
      Get Build InformationFetches detailed build metadata including artifacts, logs, timestamps, and parameters.Release validation, troubleshooting, compliance reporting
      Stop BuildTerminates an active Jenkins build safely.Emergency cancellation, resource optimization, failed pipeline management
      Get Jobs InformationRetrieves details of Jenkins jobs including configuration and execution history.Build discovery, capacity planning, pre-build checks
      1. Save and Deploy
        Once all details and operations are configured, click Save and Deploy to finalize the integration.
        patch management

      Call Activity

      A Call Activity is a set of tasks that is defined and executed independently from the main process definition workflow. It is a reusable process that can be called by multiple process definitions. A call activity performs the defined set of tasks by creating a new process instance, executes the task, and the main process definition continues afterwards.

      Assign a call activity to a process definition

      To assign a call activity to a process definition, do the following:

      1. Create a new process definition by clicking +Add.
      2. In the display canvas, enter a required Name for the process. You can enter an optional process Description.
      3. Add a start event and append a task.
      4. For the task, click the Change type and choose Call Activity.
      patch management
      1. Click the task to view the task properties and enter the following:
        • Name - Enter the name.
        • ID - The ID is auto-generated.
        • Process - Select the specific process definition created for the call activity from the available list.
        • Input - Enter the input.
          When the signal input is triggered, the call activity is also triggered and performs the tasks as defined in the process selected from the Process field and moves to the subsequent tasks in the process definition.

      The following is a sample process definition with call activity. The call activity is indicated by a thicker border and a + sign.

      Assigning Call Activity to a Process Definition

      Sub Process (expanded)

      A Sub Process is a set of tasks that is defined and executed independently within the main process definition workflow. It can contain:

      • Other activities
      • Gateways
      • Events
      Assigning Call Activity to a Process Definition

      The following are some of the points to remember about the Sub Process:

      • Runs only within the main process.
      • Only None start event is available.
      • Must have at least one end event.
      • The outputs of the sub process cannot be used as the inputs of the subsequent tasks.
      • Contains only the Name property. The ID is auto-populated.
      • Additional properties such as Multi-instance is available when it is defined from the previous task.

      The following is a sample sub process definition:

      Sample Sub Process Definition

      The sample sub process definition can be explained in the following way:

      • The list_of_critical_alerts task contains a list of critical alerts.
      • The subProcess is defined within the main process definition. The task of the subprocess is to comment and close the alerts coming from the previous list_of_critical_alerts task.
      • The three vertical lines indicate that a multi-instance loop is added to the sub process. A multi-instance loop indicates that a particular task has to be performed multiple times.
        The following additional properties are available for a sub process when a loop is added:
        • Parallel Multi instance: Indicated by three vertical lines. All tasks are executed concurrently and independently from each other.
        • Sequential Multi instance: Indicated by three horizontal lines. All tasks are executed one after the other.
        • Collection: Enter the array list from the list_of_critical_alerts task. For example: $list_of_critical_alerts.alerts
        • Element Variable: Enter the variable in which the alert will be stored. For example: x So, if five alerts come through the task, each alert will be repeated. For example, the first alert is mapped to the x variable, the action is performed, and then the second alert is mapped until all five alerts go through this process.
        • Loop Cardinality: The number of times a process is iterated. Select the Number of loops from the range. If you select 3, the tasks will be iterated three times either parallely or sequentially based on the multi-instance selection.
        • Accessing Sub-Process Activity Output: To access the output of a sub-process activity in subsequent workflow activities, use the following variables:
          • $subProcess.closeAlert.loopOutput[0] - This will returns the output from the first execution of the Close Alert task.
          • $subProcess.closeAlert.loopOutput[1] - This will returns the output from the second execution of the Close Alert task.

      Multi-Instance Activities

      A multi-instance activity is a process of defining repetition for a task in the sub process. All the following tasks can be used to define a multi-instance activity:

      • Service Task
      • Send Task
      • User Task
      • Business Rule Task
      • Script Task
      • Sub-Process
      • Call Activity

      Gateway Reference

      Process definition includes the following gateway references.

      SymbolNameDescriptionProperties
      Exclusive Gateway(default) Specifies conditional task execution. Use the connector symbol to specify the branching condition.
      • Name
      • ID
      Parallel GatewaySpecifies concurrent task execution.
      • Name
      • ID
      patch management
      patch management

      Connector Reference

      Process definition includes the following connector references.

      SymbolNameDescriptionProperties
      Sequence FlowConnects two components in a directed, sequential workflow.
      • Name
      • ID
      Default FlowConnects two components in a conditional workflow. Default processing continues in the direction of this connector if the specified condition is not satisfied.
      • Name
      • ID
      patch management