--- title: "Rich Text Control" slug: "rich-text-control" updated: 2025-12-11T02:36:06Z published: 2025-12-11T02:36:06Z canonical: "docs.processmaker.com/rich-text-control" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.processmaker.com/llms.txt > Use this file to discover all available pages before exploring further. # Rich Text Control The Rich Text control displays HTML-formatted text and images. Use the What-You-See-Is-What-You-Get (WYSIWYG) editor to display a variety of text styles for the Request participant. Reference an image to display in the Rich Text control using HTML syntax. See a [design example](/v1/docs/example-disabling-a-button-until-a-toggle-key-is-selected-without-using-custom-scripts). Aside from rich text styles and images, the Rich Text control can display the following information regarding in-progress Requests: - **Request data:** Display the value of another control in the same or different [Screen](/v1/docs/screens) by referencing that control's **Variable Value** setting value using [mustache syntax](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/mustache.5(10).html): encapsulate the **Variable Name** setting value between `{{` and `}}` that represent mustache syntax. In doing so, you are referencing Request data. Spaces surrounding the Request data reference are allowed. During the Request, the Rich Text control references the Request data to locate that control's value to display it in the Rich Text control. Include your own HTML syntax in the Rich Text control along with Request data references. Example: `Full Name: <p>{{ FullName }}</p>` - **Magic Variable values:** Display the value of a [Magic Variable](/v1/docs/magic-variables) by referencing the Magic Variable using mustache syntax. Example: `{{ _user.fullname }}`. Spaces surrounding the Magic Variable reference are allowed. > This control is available for all type of Screens. See [Screen Types](/v1/docs/screens#screen-types). Watch the following product tour to learn how to use a Rich Text control. [Embedded content](https://app.supademo.com/embed/Fe_RMne4-laWz6e8FVTu5) For documented examples of using this control, see: - [Show or Hide Controls Based on Button Selection](/v1/docs/example-show-or-hide-controls-based-on-button-selection). - [Disabling a Button Until a Toggle Key Is Selected Without Using Custom Scripts](/v1/docs/example-disabling-a-button-until-a-toggle-key-is-selected-without-using-custom-scripts) --- ## Add the Control to a Screen **Permissions** Your user account or group membership must have the following permissions to design a Screen unless your user account has the **Make this user a Super Admin** setting selected: - Screens: Edit Screens - Screens: View Screens See the [Screens](/v1/docs/permission-descriptions-for-users-and-groups#screens) permissions or ask your Administrator for assistance. Follow these steps to add this control to the [Screen](/v1/docs/screens): 1. [Create a new Screen](/v1/docs/create-a-new-screen) or [edit an existing one.](/v1/docs/manage-screens#edit-a-screen) 2. From the Controls Menu on the left, expand the **Content Fields** category, and then locate the **Rich Text** icon . 3. Drag and drop the control to the Screen Builder canvas. Existing controls in the Screen will adjust positioning based on where you drag the control.  4. Configure the Rich Text control. See [Settings](/v1/docs/rich-text-control#settings). 5. Validate that the control is configured correctly. See [Validate Your Screen](/v1/docs/validate-and-publish-a-screen#validate-a-processmaker-screen). Below is a Rich Text control where you are embedding a map.  --- ## Settings The Rich Text control has the following configurable settings in the Properties Panel: - [**Configuration** panel](/v1/docs/rich-text-control#configuration-panel-settings) - [**Advanced** panel](/v1/docs/rich-text-control#advanced-panel-settings) --- ### Configuration Panel Settings Expand the **Configuration** panel from the Properties Panel on the right to configure the following properties: #### Content Enter the text and/or image to display in the Rich Text control using HTML syntax (see a [design example](/v1/docs/example-disabling-a-button-until-a-toggle-key-is-selected-without-using-custom-scripts)) and/or [mustache syntax](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/mustache.5(10).html). **Rich text editor** paragraph is the default value. See this [control's description](/v1/docs/rich-text-control#control-description) for information how to use mustache syntax.  Alternatively, use the What-You-See-Is-What-You-Get (WYSIWYG) rich text editor to enter your text. Reference images in your content using HTML syntax. The WYSIWYG rich text editor also supports mustache syntax. Your text and/or images display in the **Content** setting using HTML syntax. Ensure that all Rich Text controls implemented in a [Conversational](/v1/docs/screens#conversational-type-screen)-type Screen contain content in their **Content** settings. See [Controls in Conversational-Type Screens Require Labels](/v1/docs/screen-design-best-practices#controls-in-conversational-type-processmaker-screens-require-labels).  Follow these guidelines to use the WYSIWYG rich text editor to stylize your text: - **Undo changes:** Click on the  icon to undo the last action. - **Redo changes:** Click on the  icon to redo the last undone action. - **Insert/Edit links**: Click on the  icon to convert the selected text into a hyperlink. Follow these steps to create a hyperlink: 1. Select the required text from the Rich Text control. 2. Click on the  icon. The **Insert/Edit Link** screen displays.  3. In the **URL** setting, enter the destination URL. 4. In the **Text to display** setting, edit or enter the text displayed in the Rich Text control. 5. In the **Title** setting, enter the text to display when a user hovers over the displayed text. 6. From **Open link in…** drop-down menu, select one of these options: - **New window**: Select this option to open the destination page in a new browser window. - **Current window**: Select this option to open the destination page in the current browser window. - **Format text**: Follow these guidelines to format text: - **Headings**: From the **Formats** menu, select **Headings** and then select a heading size. - **Bold:** Do one of the following: - From the editor toolbar, select the  icon. - From the **Formats** menu, select **Inline** and then **Bold**. - **Italics:** Do one of the following: - From the editor toolbar, select the  icon. - From the **Formats** menu, select **Inline** and then **Italic**. - **Underline**: From the **Formats** menu, select **Inline** and then **Underline**. - **Strikethrough**: From the **Formats** menu, select **Inline** and then **Strikethrough**. - **Superscript**: From the **Formats** menu, select **Inline** and then **Superscript**. - **Subscript**: From the **Formats** menu, select **Inline** and then **Subscript**. - **Code**: From the **Formats** menu, select Inline and then **Code**. - **Paragraph**: From the **Formats** menu, select **Blocks** and then **Paragraph**. - **Blockquote**: From the **Formats** menu, select **Blocks** and then **Blockquote**. - **Division**: From the **Formats** menu, select **Blocks** and then **Div**. - **Preformatted**: From the **Formats** menu, select **Blocks** and then **Pre**. - **Change text color**: Use the **Text Color** drop-down to change text color. Click on the  icon. The color palette displays. Do one of the following: - Select one of the color swatches from the color palette. The selected text changes to that color. - Click the  icon to select a custom color from the **Color Picker**. - Click the  icon to reset the text to its default color. - **Align text**: Follow these guidelines to align text: - **Left align:** Do one of the following: - From the editor toolbar, use the  icon to left- align text. - From the **Formats** menu, select **Align** and then **Left**. - **Center align:** Do one of the following: - From the editor toolbar, use the  icon to center-align text. - From the **Formats** menu, select **Align** and then **Center**. - **Right align**: Do one of the following: - From the editor toolbar, use the  icon to right-align text. - From the **Formats** menu, select **Align** and then **Right**. - **Justify**: Do one of the following: - From the editor toolbar, use the  icon to justify text. - From the **Formats** menu, select **Align** and then **Justify**. - **Insert a bullet list**: Use the  icon to format text as a bulleted list. - **Insert a numbered list:** Use the  icon to format text as a numbered list. - **Indent text**: Click on the  icon to increase text indenting. - **Outdent text:** Click on the  icon to decrease text indenting. #### Content Example Use the [HTML language syntax](https://www.w3schools.com/html/default.asp) when embedding media such as add videos, images, or iframes. For example, enter the following code to embed a map: ```plaintext
```  > [!WARNING] > Best Practice for Custom CSS in Email Screens > > When designing [Email Screens](/v1/docs/screens-types#email-screens) with Rich Text controls, avoid relying on general HTML tag selectors (e.g., `p { color: red; }`) in your CSS. Many email clients—like Gmail or Outlook—strip or override these styles for security and rendering consistency. As a **best practice**, use inline CSS on HTML elements such as `<p style="color:blue;">` . #### Render HTML from a Variable[](/docs/rich-text-control#render-html-from-a-variable) Select the **Render HTML from a Variable** setting to not show HTML syntax, but instead render the HTML syntax. If the **Render HTML from a Variable** setting is not selected, then the Rich Text control displays the HTML syntax. If a Request variable from which the Rich Text control references its data contains HTML syntax, select this setting to render that HTML.  --- ### Advanced Panel Settings Expand the **Advanced** panel from the Properties Panel on the right to configure the following properties: #### Visibility Rule[](/docs/rich-text-control#visibility-rule) Enter an expression that indicates the condition(s) under which this control displays. See [Expression Syntax Components](/v1/docs/feel-expression-syntax#show-or-hide-screen-builder-controls). If this setting does not have an expression, then this control displays by default.  For example, this control displays if the variable value **tip** is **1**. For a detailed example of the Visibility Rule setting, see [Show or Hide Controls Based on Button Selection](/v1/docs/example-show-or-hide-controls-based-on-button-selection). Note the following regarding how to use visibility rules: - To make this control hidden until another control contains a value, enter the **Variable Name** setting value of that control to this control's **Visibility Rule** setting. - [Visibility rules override custom CSS settings](/v1/docs/screen-design-best-practices#visibility-rules-override-custom-css-settings). - Do not to use visibility rules with Email-type Screens. Some email clients that do not render natively from a web browser, such as Microsoft Outlook or Mozilla Thunderbird for the desktop, alter the HTML during rendering and may break visibility rules. #### Device Visibility Select on which device types this control displays: - **Desktop:** The control displays only on desktop devices. Enable the **Show for Desktop** toggle key. - **Mobile:** The control displays only on mobile devices. Enable the **Show for Mobile** toggle key. - **Both:** The control displays on both desktop and mobile devices. Both toggle keys are enabled by default.  #### CSS Selector Name Enter the value to represent this control in custom CSS syntax when in [Custom CSS](/v1/docs/custom-css#add-custom-css-to-a-processmaker-screen) mode. As a best practice, use the same **CSS Selector Name** value on different controls of the same type to apply the same custom CSS style to all those controls.  Then, use this name in the [Custom CSS](/v1/docs/custom-css#apply-css-to-specific-processmaker-screen-controls) feature to apply CSS styling to this control as follows: ```plaintext [selector='Submit Form'] { color: blueviolet; } ``` See the following best practices regarding custom CSS in Screens: - [Editing a CSS name to represent this control in custom CSS syntax](/v1/docs/screen-design-best-practices#css-selector-naming-best-practice) - [Visibility rules override custom CSS settings](/v1/docs/screen-design-best-practices#visibility-rules-override-custom-css-settings)