create_form_screenAdmin-only MCP tool.
Create a new form screen for an existing form. Forms are created with the create_form tool. Each form can have one or more form screens, which are different versions of the form that users interact with to create and edit entries. Form screens are organized into one or more pages of elements, with optional tabs, navigation buttons, and per-page display conditions. Use this tool to create a new form screen that presents form elements in a certain way. Use get_form_details to find the element handles to specify for the pages. The order of elements on the page is not controlled here; you must control element order using the ‘placement’ parameter of the create element and update element tools. To modify an existing screen use update_form_screen (which can add/remove individual elements on a page without redefining the whole screen). Use get_screen_details or list_screens to inspect screens.
| Property | Type | Required? | Description |
|---|---|---|---|
| form_id | integer | Required | Required. The id of the form this screen belongs to. |
| title | string | Required | Required. The name of the screen. |
| handle | string | Optional | Optional. A short name for this screen, unique across every screen in the system. Spaces and hyphens become underscores, anything else that is not a letter, number or underscore is stripped, and capitals are lowered. If the name you ask for is already in use by another screen, it is adjusted until it is unique. Leave it out and the handle is made from the screen’s title, which is usually what you want. |
| anonymous_access_needs_passcode | boolean | Optional | Optional. When anonymous visitors can reach this screen, require them to enter a passcode that they will have received prior, in order to open a particular entry. On by default. Turning it off means anyone with the link can open the entry, so only do it for truly public access situations. The Anonymous Users group (group 3) will also need permission for the form, use the set_form_permissions tool to do that. |
| is_default_form_screen | boolean | Optional | Optional. Make this the default form screen. When a menu item or URL leads to the form without naming a screen, and the user is limited to only interacting with a single entry in the form, Formulize will default to showing this screen. The default form screen is also used by most list screens when users click on entries to display or edit them. Setting true replaces whatever form screen held the position before - a form only has one default form screen at a time. If you are updating, setting false will remove the default ‘.form.’ screen, but only if this screen is currently the one holding it; on any other screen false does nothing, so it cannot displace a different screen by accident. |
| pages | array of object | Required | The ordered list of pages in the form screen. Users move between pages using tabs and/or navigation buttons. Most pages contain a list of form elements, but a page can instead contain custom PHP code or embed pages from another form screen. Each page can also have display conditions that control whether it is shown. |
| show_navigation_tabs | boolean | Optional | Optional. Show page-navigation tabs across the top of the form, one per page. Default is true. On an exceptionally long form with many pages, or a form where jumping to an arbitrary page is not desired, you may want to set this to false. |
| show_navigation_buttons | boolean | Optional | Optional. Show the page-navigation buttons at the bottom of the form. Default is false. On an exceptionally long form with many pages, or a form where jumping to an arbitrary page is not required, you may want to set this to true. This setting controls only the previous and next navigation buttons. It does NOT affect the Save button or the Close button, both of which always appear at the bottom of the form regardless of this setting; to hide the Save button or the Close button, set their label to an empty string via button_text. |
| show_page_indicator | boolean | Optional | Optional. Show a ‘page X of Y’ indicator. Default is false. |
| show_page_selector | boolean | Optional | Optional. Show a drop-down menu for jumping directly to a page. Default is false. |
| show_page_titles | boolean | Optional | Optional. Show each page title as a heading at the top of the page. Default is false. If navigation tabs are turned off, this is the only way for the user to see the page titles. |
| columns | integer (one of: 1, 2) | Optional | Optional. Lay out each page in one or two columns. In two-column layout the element captions go in column one and the inputs in column two, collapsing to one column on phones. Default is 2. |
| column1_width | string | Optional | Optional. CSS width of the first column (eg ‘20%’, ‘200px’, ‘auto’). In a one-column layout this is the width of the whole form and defaults to ‘auto’. In a two-column layout it defaults to ‘20%’. |
| column2_width | string | Optional | Optional. CSS width of the second column in a two-column layout. Default is ‘auto’. |
| button_text | object | Optional | Optional. Custom labels for the form buttons. Only include the ones you want to change; the rest keep their existing/default labels. Hide buttons by setting an empty string as the value. |
| previous_page | string | Optional | Button to save and go back to the previous page. This is one of the page-navigation buttons, so it only appears when show_navigation_buttons is true. Default is “Save and Go Back”. |
| next_page | string | Optional | Button to save and go on to the next page. This is one of the page-navigation buttons, so it only appears when show_navigation_buttons is true. Default is “Save and Continue”. |
| save | string | Optional | Button to save without changing page or closing. Always shown at the bottom of the form (regardless of show_navigation_buttons) if the user can save; set to an empty string to hide it. Default is “Save”. |
| close | string | Optional | Button to close the screen without saving. Always shown at the bottom of the form (regardless of show_navigation_buttons); set to an empty string to hide it. Default is “Close”. |
| save_and_close | string | Optional | When show_navigation_buttons is true, this is the previous_page label when on the first page, and clicking it will save and close the form. When show_navigation_tabs is true, this text is used for a special leftmost tab which the user can click to save and close the form. Default is “Save and Close”. |
| save_and_finish | string | Optional | When show_navigation_buttons is true, this is the next_page label when on the last page. Used to save and finish (which will either close the screen, or take the user to the Thanks page if show_thanks_page is true). Default is “Save and Finish”. |
| printable_view | string | Optional | Button to open the printable version of the form. Default is “Printable Version”. |
| thankyou_link | string | Optional | Text of the link on the Thanks page that leaves the form. Default is “Leave this form and continue browsing the site”. |
| show_thanks_page | boolean | Optional | Optional. When false (default), finishing the form is treated as done and no Thanks page is shown. When true, a Thanks page is shown after the user finishes. |
| thanks_text | string | Optional | Optional. The message shown to the user on the Thanks page after they finish the form (only used when show_thanks_page is true). May contain HTML markup. |