# Execute custom script on specific AcyMailing actions

### Triggers/hooks on specific actions

To be able to use AcyMailing triggers, you first need to create a custom add-on:

{% content-ref url="" %}
[](https://docs.acymailing.com/developers/making-a-custom-add-on)
{% endcontent-ref %}

Once created, you can add the following methods in the **plugin.php** file of your add-on. They will be automatically called by AcyMailing if your add-on is active.

### When a user is created

You can use these methods to execute specific actions before/after a user is created.

```php
public function onAcymBeforeUserCreate(&$user) {
    // Your code here, $user is an object containing the AcyMailing user information
}

public function onAcymAfterUserCreate(&$user) {
    // Your code here, $user is an object containing the AcyMailing user information
} 
```

### When a user is modified

You can use these methods to execute specific actions before/after a user is modified.

<pre class="language-php"><code class="lang-php">public function onAcymBeforeUserModify(&#x26;$user) {
<strong>    // Your code here, $user is an object containing the AcyMailing user information
</strong>}

public function onAcymAfterUserModify(&#x26;$user) {
    // Your code here, $user is an object containing the AcyMailing user information
} 
</code></pre>

### When users are removed

You can use these methods to execute specific actions before/after one or several users are deleted.

```php
public function onAcymBeforeUserDelete(&$users) {
    // Your code here, $users is an array of AcyMailing user IDs
}

public function onAcymAfterUserDelete(&$users) {
    // Your code here, $users is an array of AcyMailing user IDs
}
```

### When the user is confirmed

```php
public function onAcymAfterUserConfirm(&$user) {
    // Your code here, $user is an object containing the AcyMailing user information
} 
```

### When the user subscribes to a list

This method is called after the user subscribes to one or several lists.

```php
public function onAcymAfterUserSubscribe(&$user, $lists) {
    // Your code here, $lists is an array of list IDs
} 
```

### When the user unsubscribes from a list

This method is called after the user unsubscribes from one or several lists.

```php
public function onAcymAfterUserUnsubscribe(&$userID, $lists) {
    // Your code here, $lists is an array of list IDs
} 
```

### When importing users

These two methods are called before users are imported. The first one is called for each user that is imported.

```php
public function onAcymBeforeUserImport(&$oneUser) {
    // Your code here, $oneUser is a user object
}

public function onAcymUserImport(&$users) {
    // Your code here, $users is an array of user objects
} 
```
