---
schema_version: "1"
id: 7012f76d60f30c56726d27aca8d36a0cf40cdfee2d00e43bfe6c652227d67f4c
title: Create an Execution Procedure for Actionable Events for Connected Assets
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/ca_aeo_execution_procedure.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.ca_aeo_execution_procedure.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 31940d608e367648f569ed848456b0179372c985e32b9cc8396a35fc1504fec8
description: An execution procedure outlines the set of actions to be performed for an asset event. For example, an execution procedure for an Overheating Asset event can create a Case record, an Asset Milestone of type Critical Recall, and a record alert of the type Error. Use expression sets or flows as execution procedures. Using the standard and custom elements in the expression set builder, users create a series of filters, calculation conditions, aggregation conditions, and eligibility parameters to define the type of action for a specific event. Using the elements in a Flow Builder and custom Apex actions, users can create complex business rules to trigger actions.
products:
  - Industry Solutions
  - Cross Cloud
release: "264"
---
# Create an Execution Procedure for Actionable Events for Connected Assets

An execution procedure outlines the set of actions to be performed for an asset event. For example, an execution procedure for an Overheating Asset event can create a Case record, an Asset Milestone of type Critical Recall, and a record alert of the type Error. Use expression sets or flows as execution procedures. Using the standard and custom elements in the expression set builder, users create a series of filters, calculation conditions, aggregation conditions, and eligibility parameters to define the type of action for a specific event. Using the elements in a Flow Builder and custom Apex actions, users can create complex business rules to trigger actions.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Automotive Cloud, Communications Cloud, Consumer Goods, Energy and Utilities Cloud, Manufacturing Cloud, and Media Cloud. <a href="https://help.salesforce.com/s/articleView?id=xcloud.ca_editions.htm&amp;release=264.0.0&amp;type=5" title="Review the supported products and editions for Connected Assets features.">View edition availability</a>.</td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d7963e67">User Permissions
              Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d7963e67 ">To create an execution procedure:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d7963e67 ">Design Actionable Event Orchestration Processes</td>

          </tr>
        </tbody>
      </table>

An execution procedure is associated with an actionable event orchestration. Based on an event's type and subtype, an actionable event orchestration is triggered. In turn, the actionable event orchestration triggers the associated execution procedure.

In a flow or an expression set, add elements to define the operations to be performed, such as creating a record or performing a calculation. Add resources as placeholders for values. You can use the context tags of the context definition that's associated with the actionable event orchestration as variables in the execution procedure.

1. Open an actionable event orchestration record and select **Open Procedure** from the quick actions menu.
    
    You can also click the record hyperlink on the Execution Procedure field.
    
    - For expression set-based orchestrations, the expression set builder opens with the most current active version.
    - For flow-based orchestrations, the Flow record page opens and you can click **Open Flow** to open the flow builder.
2. For resources within each element of a flow or expression set, use context tags, local variables, and constants as placeholders for input and output values.
3. Click **Save**.
4. To test your execution procedure, click **Simulate**.
5. To start using the execution procedure, click **Activate**.
    
    You can activate the related actionable event orchestration record only after you activate the execution procedure.

![Example](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-connected_assets-264-0-0-production-enus/eb4c6dd7-4aef-4e97-9c56-46929d5b166e/images/icon_example.png)

Example

Thaler Motors wants to create an execution procedure that automatically creates a work order and a record for Critical Issues event type, which originate from its hydraulic motor assets. The event type is related to multiple diagnostic codes. On the asset record page, service managers and agents receive alerts about critical issues in assets. Service agents use work orders to collaborate with field service technicians and perform the necessary onsite services on the assets.

Here are the diagnostic codes for critical issues in hydraulic motors.

- P0800: Hydraulic fluid contamination detected
- P1000: Hydraulic motor overload detected
- P1101: External leakage in hydraulic motor
- PP1300: Hydraulic system electrical failure

Thaler Motors wants to only process events with the P0800 and PP1300 codes. They create an execution procedure that creates record alerts and work orders for events with Critical Issue type and the P0800 or PP1300 codes.

They add a filter to the procedure so that alerts and work orders are only created for the codes P0800 and PP1300. Here’s how they create the procedure.

- Drag the List Group element to the canvas.
- Drag the List Filter element to the canvas and place it inside the list container.
- In the List Filter element, add these values.
    
      
    | Field | Value | Details |
    | --- | --- | --- |
    | Filter Condition Requirements | Any Condition Is Met (OR) | A condition is created with two clauses. |
    | Resource | code | The diagnostic code is used as the filter condition. |
    | Operator | Equals | Exact code values are used to filter events. |
    | Value | P0800 | Contamination in the hydraulic fluid qualifies as an event. |
    | Resource | code | The diagnostic code is used as the filter condition. |
    | Operator | Equals | Exact code values are used to filter events. |
    | Value | PP1300 | Failure in the electrical system qualifies as an event. |
- Drag the Record Action element to the canvas and place it inside the list container after the list filter.
- In the Record Action element, add these values.
    
      
    | Field | Value | Details |
    | --- | --- | --- |
    | Operation | Create | Creates a record. |
    | Object | Record Alert | A record alert record is created. |
    | EffectiveDate | eventTriggeredDate | A context variable is created as part of the context definition mapping. The eventTriggeredDate is populated as the value. |
    | IsActive | isActive | A local variable created within the builder with the default value as True. |
    | ValidUntilDate | validUntilDate | A local variable created within the builder with the default value as a date two years in the future. |
    | WhatId | assetId | A context variable is created as part of the context definition mapping. The assetId is populated as the What ID. |
    | Subject | recordAlertSubject | A context variable is created as part of the context definition mapping. The recordAlertSubject is populated as the value. |
    | Description | recordAlertDescription | A context variable is created as part of the context definition mapping. The recordAlertDescription is populated as the value. |
- Drag another Record Action element to the canvas and place it inside the list container after the first record action.
- In the Record Action element, add these values.
    
      
    | Field | Value | Details |
    | --- | --- | --- |
    | Operation | Create | Creates a record. |
    | Object | Work Order | A work order record is created. |
    | Status | status | A local variable created within the builder with the default value as New. |
    | Subject | subject | A local variable created within the builder with the default value as Critical Issue in Asset. |
    | Description | description | A context variable is created as part of the context definition mapping. The fault description is populated as the work order description. |
    | Asset | assetId | A context variable is created as part of the context definition mapping. The fault code is populated as the case subject. |