# Building a rule: apply actions

The Action section is **where you decide what action is to be performed** on the records that are returned from the search.

![](/files/lChnU1UQil61hqbr1JCh)

1. **Select from the list of fields by picking an item from the drop-down.** The list can be filtered by typing the Bullhorn field name or field label directly into the box.
2. **Once a field has been selected a list of appropriate actions will be displayed.** These are listed below.
3. **Once an action has been selected it may be necessary to select another field**, such as when copying or swapping. Alternatively, the action may require new text to be added, such as when replacing the value. In either case this additional drop-down or text box will appear and need to be populated.
4. **Add Action:** Clicking the '*Add Action*' button will add additional actions to a rule. For example, within a single rule you could:
   1. Copy values from one field to another.
   2. Nullify a different field.
   3. Move the contents of one field to another.
   4. Replace the contents of a field with some specified text/value.

{% hint style="info" %}
Not all fields are available for all actions. Multi fields (picker or dropdown) are not supported for every action.
{% endhint %}

#### Actions list

The following list includes all the currently available actions, along with a brief description of their functionality.

1. **Add values** only applies to fields which can accept multiple values (ToMany fields), such as Skills.
2. **Append value** lets you add text to an existing text field.<br>

   <mark style="background-color:yellow;">NOTE: You can append text to any text-based field within Bullhorn, which includes Mini-Picker fields. If you are appending to a mini-picker then you must add a comma before every entry.</mark>\ <mark style="background-color:yellow;">An example would be ',English,French' to add two languages to a mini-picker. Always include the comma, even if it is for a single addition, e.g. ',Spanish'.</mark><br>
3. **Change value** lets you assign records to a specific Bullhorn user.
4. **Copy value** allows you to select two fields. For every record returned in the search the value stored in the first field will be copied into the second field. The original field will be untouched.
5. **Count values** will count the number of related entries in a to-many field and then store this value in an integer field.
6. **Format value** this allows you to format the case of a text field. The options are:
   1. Lower case : This will set all the text in the field to lower case.
   2. Upper case : This will set all the text in the field to upper case.
   3. Capitalise : This will set the first letter of each word to upper case and the remaining letter to lower case.
7. **Maths: Set equal to** allows you to perform mathematical operations between two fields or a mixture of fields and fixed values. Available math functions on numeric fields
   * \+ (add)
   * \- (subtract)
   * \* (multiply)
   * / (divide)
8. **Move value** allows you to select two fields. The value in the first field will be copied into the second field and then the first field will be cleared.
9. **NULL value** lets you clear any value stored in the selected field.
10. **Prepend value** adds the provided text value to the beginning of an existing text value.
11. **Replace value** lets you overwrite any value stored in the selected field with specified contents.<br>

    <mark style="background-color:yellow;">NOTE: When updating file attachment records it is possible to set the isDeleted flag to 'true' (a checked box). This will</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">**permanently delete the file from Bullhorn**</mark><mark style="background-color:yellow;">. Reverting this rule after updating Bullhorn</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">**will not restore the deleted file**</mark><mark style="background-color:yellow;">.</mark><br>
12. **Remove values** is the exact opposite of the previous options and only applies to fields which can accept multiple values.\
    \ <mark style="background-color:yellow;">NOTE: When using the</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">**Remove values**</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">action on the 'Categories' field in order to ensure the Category is removed as expected, it is advised to</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">**double-up**</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">your action, like below:</mark><br>

    <figure><img src="/files/iP7Txh8zf7t9P2jtUyyB" alt=""><figcaption></figcaption></figure>

    \ <mark style="background-color:yellow;">Removing the</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">**last**</mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">Bullhorn category from a candidate, for example, will trigger the addition of the default category. This is standard Bullhorn functionality.</mark>
13. **Substitute value** will search a text string for a specified value and replace it with another (including blank).
14. **Swap value** allows you to swap the values of two fields, providing the fields are of the same type.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.kyloepartners.com/kyloe-datatools/datarules/building-a-rule-apply-actions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
