You can take any action (open a modal, make an HTTP API call, redirect to another page... etc) by writing your custom code. You can also access the current entity in your code.
## How to Set Up
In this example, we will add a "Click Me!" action and alert the current row's `userName` in the user management page of the [Identity Module](../../Modules/Identity.md).
### Step 1. Create Entity Action Contributors
The following code prepares a constant named `identityEntityActionContributors`, ready to be imported and used in your root module:
```js
// src/app/entity-action-contributors.ts
import {
  eIdentityComponents,
  IdentityEntityActionContributors,
  IdentityUserDto,
} from '@abp/ng.identity';
import { EntityAction, EntityActionList } from '@abp/ng.theme.shared/extensions';
const alertUserName = new EntityAction
1. Create a folder at this path: `src/app/identity-extended`
2. Add an entity action similar to this:
  ```js
  // src/app/identity-extended/entity-action-contributors.ts
  import {
    eIdentityComponents,
    IdentityEntityActionContributors,
    IdentityUserDto,
  } from '@abp/ng.identity';
  import { EntityAction, EntityActionList } from '@abp/ng.theme.shared/extensions';
  import { IdentityExtendedComponent } from './identity-extended.component';
  const quickViewAction = new EntityAction| {%{{{ 'AbpIdentity::DisplayName:Name' | abpLocalization }}}%} | {%{{{ user.name }}}%} | 
|---|---|
| {%{{{ 'AbpIdentity::DisplayName:Surname' | abpLocalization }}}%} | {%{{{ user.surname }}}%} | 
| {%{{{ 'AbpIdentity::EmailAddress' | abpLocalization }}}%} | {%{{{ user.email }}}%} | 
| {%{{{ 'AbpIdentity::PhoneNumber' | abpLocalization }}}%} | {%{{{ user.phoneNumber }}}%} |