---
title: "Feature: #90168 - Introduce Modal Actions"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:feature-90168"
source: "Changelog/10.3/Feature-90168-IntroduceModalActions.rst"
typo3-version: "10.3"
typo3-major: 10
type: "feature"
issue: 90168
forge: "https://forge.typo3.org/issues/90168"
tags: ["Backend", "JavaScript", "ext:backend"]
rendered: "2026-09-23T19:53:57+00:00"
---

# Feature: #90168 - Introduce Modal Actions {#feature-90168}

See [forge#90168](https://forge.typo3.org/issues/90168)

## Description {#description}

Action buttons in modals created by the `TYPO3/CMS/Backend/Modal` module may
now make use of `TYPO3/CMS/Backend/ActionButton/ImmediateAction` and
`TYPO3/CMS/Backend/ActionButton/DeferredAction`.

As an alternative to the existing `trigger` option, the new option
`action` may be used with an instance of the previously mentioned modules.

Example:

```js
Modal.confirm('Header', 'Some content', Severity.error, [
  {
    text: 'Based on trigger()',
    trigger: function () {
      console.log('Vintage!');
    }
  },
  {
    text: 'Based on action',
    action: new DeferredAction(() => {
      return new AjaxRequest('/any/endpoint').post({});
    })
  }
]);
```

## Impact {#impact}

Activating any action disables all buttons in the modal. Once the action is
done, the modal disappears automatically.

Buttons of the type `DeferredAction` render a spinner on activation into the
button.
