Show Custom Dialog

Displays a custom message dialog box, with custom text and labels.


General options

  • Title specifies the title of the custom dialog box. You can enter literal text or click Specify to create the dialog box title from a calculation.
  • Message specifies the message of the dialog box. You can enter literal text or click Specify to create the message text from a calculation.
  • Button Labels specifies how many buttons (up to three) to display in the custom dialog box and labels for these buttons. If you leave a button label blank, the button does not appear in the custom dialog box. If you leave all button titles blank, an OK button displays in the lower-right corner of the custom dialog box. To create a button label based on a calculation, click Specify and then specify the calculation.
  • Commit Data checkboxes pass input from the dialog box to the target field or variable according to the action of each button. When a field is the target, if no fields on the layout are active, the data is committed; if a field is active, the data is committed when the record is committed. If the checkbox is not enabled for a button and users enter data in the input field, no data is committed to the record or stored in the variable when users click the button.

Input Field options

  • Show input field <n> activates an input field.
  • Specify selects the target field or variable for input.
  • Use password character (*) masks text as it is entered, or as it is displayed from the database. This option obscures data being input into the custom dialog box or being displayed, but does not alter the actual data as it is stored in the database.
  • Label specifies a label (the text that will identify this input to the user). You can enter literal text or create the label from a calculation.


Product Supported
FileMaker Pro Yes
FileMaker Go Yes
FileMaker WebDirect Yes
FileMaker Server No
FileMaker Cloud No
FileMaker Data API No
Custom Web Publishing No

Originated in version 

6.0 or earlier


The "Show Custom Dialog" Options dialog box allows you to set the dialog box title, message text, and buttons, and specify up to three fields or variables to use for input or display. The script pauses as long as the custom dialog box stays on the screen. Fields used for input can be of type text, number, date, time, timestamp, or container. Variables used for input store values as text. Your custom dialog box can also have up to three buttons, with custom button titles.

Use the Get(LastMessageChoice) function to determine which button the user presses.

  • 1 for the first button (by default, labeled OK)
  • 2 for the second button (by default, labeled Cancel)
  • 3 for the third button


  • If values entered into input fields don't match the target field type, a validation error message displays. The user must resolve validation errors before the dialog box can be closed. See Defining field validation.
  • The target fields you specify don't need to appear on the current layout. Show Custom Dialog input fields are independent of layouts, similar to the Set Field script step.
  • Data can't be inserted into calculation or summary fields.
  • Show Custom Dialog ignores any field entry options. See Allowing or preventing entry into fields.
  • Data entry via the Show Custom Dialog script step is limited by any access privileges criteria that may be in place. (To enable the script for all users, right-click the current script in the scripts pane and choose Grant Full Access Privileges.)
  • (Windows) You can create a keyboard shortcut for a custom dialog box button by placing an ampersand before the shortcut key letter in the button label. For example, to create a keyboard shortcut ‘D' (Alt+D) for a button labeled ‘Done', type the label ‘&Done'.
  • Before you change the data commitment status of a button for a database that's already in use, consider the behavior that users currently expect of the button and how changing its behavior could affect the validity of data committed (or not committed) to the database.
  • To develop more-complex custom dialog boxes, you can use the New Window script step.

Example 1 

Performs a find. If no records were found, displays a custom dialog box.

Perform Find [Restore]
If [Get (FoundCount) = 0]
    Show Custom Dialog ["No records were found."]
End If

Example 2 

Creates a new record, prompts the user to enter information, then goes to the Customer Details layout. The first button is Cancel so that users don't inadvertently create a record by pressing Return or Enter in the custom dialog box.

Freeze Window
New Record/Request
Show Custom Dialog ["New Customer"; "Enter information into the fields below:"; Customers::Company; Customers::Name; Customers::City]
If [Get ( LastMessageChoice ) = 1]
    Delete Record/Request [With dialog: Off]
    Go to Layout ["Customer Details"]
End If

Example 3 

Enters Find mode, prompts the user for find criteria, and performs the find. If the find returns no records, asks if the user wants to find again, and either performs the script again or halts all scripts.

Script: Find

Enter Find Mode [Pause: Off]
Show Custom Dialog ["Find customers by ID, name, or city."; Customers::ID; Customers::Name; Customers::City]
If [Get ( LastMessageChoice ) = 1]
    Perform Find [ ]
    If [Get ( FoundCount ) = 0]
        Show Custom Dialog ["No records were found. Find again?"]
        If [Get ( LastMessageChoice ) = 1]
            #Calls this script as a sub-script
            Perform Script [Specified: From list ; "Find" ; Parameter: ]
            Show All Records
            #Halts all scripts and sub-scripts
            Halt Script
        End If
    End If
Else If [Get ( LastMessageChoice ) = 2]
    Enter Browse Mode [Pause: Off]
End If