# CKEditor Samples » Using CKEditor Dialog API

This sample shows how to use the CKEditor Dialog API to customize CKEditor dialog windows without changing the original editor code. The following customizations are being done in the example below:

For details on how to create this setup check the source code of this sample page.

A custom dialog is added to the editors using the `pluginsLoaded` event, from an external dialog definition file:

1. Creating a custom dialog window – "My Dialog" dialog window opened with the "My Dialog" toolbar button.
2. Creating a custom button – Add button to open the dialog with "My Dialog" toolbar button.

<p>This is some <strong>sample text</strong>. You are using <a href="https://ckeditor.com/">CKEditor</a>.</p>

The below editor modify the dialog definition of the above added dialog using the `dialogDefinition` event:

1. Adding dialog tab – Add new tab "My Tab" to dialog window.
2. Removing a dialog window tab – Remove "Second Tab" page from the dialog window.
3. Adding dialog window fields – Add "My Custom Field" to the dialog window.
4. Removing dialog window field – Remove "Select Field" selection field from the dialog window.
5. Setting default values for dialog window fields – Set default value of "Text Field" text field.
6. Setup initial focus for dialog window – Put initial focus on "My Custom Field" text field.

<p>This is some <strong>sample text</strong>. You are using <a href="https://ckeditor.com/">CKEditor</a>.</p>