**Source URL:** https://general.veevavault.dev/safety/mdl/component-types/recordaction.md

# Recordaction

**Class: ** `code`

Custom actions for records, called record actions, are invoked by a user on a specific record from the UI or API. You create record actions with the `RecordAction` interface in the Vault Java SDK.

Learn about <a href="https://platform.veevavault.help/en/lr/43127" target="_blank">Defining User Actions for Objects</a>.

| Attribute | Metadata | Description |
| --- | --- | --- |
| label | Type: StringMax length: 60 | UI-friendly string in the Vault's base language. Only the first 40 characters are displayed in the Vault UI. |
| active | Type: Boolean | Indicates whether the component is active. |
| checksum | Type: StringMax length: 1500 | Used to check data for errors. |
| icon | Type: StringMax length: 1500 | Specifies the icon to display for your action in the Vault UI Actions menu. If omitted, no icon is displayed and the action is not eligible to appear in the the most frequently used section of the Action Bar. See the Vault Java SDK Documentation for a list of allowed values. |
| object | Type: Component | The object this record action is associated to, for example, product__v. |
| source_code | Type: SdkCodeMax length: 1048576 | The source of this record action code used to create and edit metadata. For example, Custom means this is a custom action developed with the Vault Java SDK. |
| type | Type: StringMax length: 1500 | The type of record action, for example, Object. |
| usages | Type: StringMax length: 1500Multi-value | If specified, the action is available for configuring in the specified usages only. For example, USER_ACTION. If omitted, the action is available across all supported usages. |
| user_input_object | Type: Component | If your action takes user input, identifies the user input object. |
| user_input_object_type | Type: Component | If your action takes user input, identifies the user input object type. |

### Supported Operations {#supported-operations}

| Operation | Support |
| --- | --- |
| Create | No |
| Recreate | No |
| Alter | No |
| Drop | No |
| Rename | No |
| Describe | No |
| Generate Recreate | No |
| Queryable | No |


---

**Previous:** [Queue](/safety/mdl/component-types/queue)  
**Next:** [Recordmergeeventhandler](/safety/mdl/component-types/recordmergeeventhandler)