---
schema_version: "1"
id: a956dd710145047ff4b5fcca57e2393ae8c9e80669031cc54adc44307fe4dd1e
title: Actions in Rules
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/analytics/bi_dev_guide_wave_templates/guides/concept/bi-templatesdev-actions-in-rules.md
canonical_url: https://developer.salesforce.com/docs/analytics/bi-dev-guide-wave-templates/guide/bi-templatesdev-actions-in-rules.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: ce272be96070a3f2a021524d8fab8c7e57a607ede4398f5dedbbc88c83ab29d1
products:
  - Analytics Templates Developer Guide
  - analytics
---

# Actions in Rules

Actions define what a rule does. Use constants to make it easier to perform any action.

## Actions

Actions define the way rules change an app’s JSON files. Valid actions are:

- `delete`: Delete a node in the document.
- `put`: Add a node to an object.
- `set`: Set the value of an existing node in the document.
- `add`: Add an element to an array
- `eval`: Evaluate a specified expression and assign results to a variable.
- `replace`: Search and replace a text string globally.

Each action has a path attribute, which is a [JsonPath](http://goessner.net/articles/JsonPath/) that points to a node in the document. JsonPath is to JSON as XPath is to XML. Practice it in the [Jayway JsonPath Evaluator](http://jsonpath.herokuapp.com).

**note:** If a template is updated to change the `assetVersion`, it can impact the JsonPath. Always test the rules for app creation after a template update.

Actions can be conditionally applied to a document. Set the condition on a set of actions or on a collection of actions.
