--- title: "The Slate WYSIWYG Editor" slug: "the-slate-wysiwyg-editor" status: "new" updated: 2026-06-18T20:20:45Z published: 2026-06-18T20:20:45Z canonical: "knowledge.technolutions.net/the-slate-wysiwyg-editor" --- > ## Documentation Index > Fetch the complete documentation index at: https://knowledge.technolutions.net/llms.txt > Use this file to discover all available pages before exploring further. # The Slate WYSIWYG Editor **The Slate what-you-see-is-what-you-get (WYSIWYG) editor** appears in content-building areas throughout Slate, including communications, snippets, content blocks, portals, dashboards, and report static content. The standard editor creates formatted content without HTML. The source editor provides direct control over HTML, Liquid markup, and merge-field syntax. Because the editor appears in multiple Slate tools, the available toolbar controls, merge fields, and testing options vary by context. Confirm dynamic content in the same area where it will render.  ## Where the editor appears Slate uses WYSIWYG editors in areas where users create rich text, HTML, or dynamic content. - **Communications:** [Deliver mailings](/v1/docs/deliver-overview), [form communications](/v1/docs/form-communications), and other message editors can use editor content with merge fields and Liquid markup. - **Snippets and signatures:** [Inbox snippets](/v1/docs/inbox-snippets) and [signatures](/v1/docs/managing-staff-signatures-with-content-blocks) use an editor so reusable text can be inserted into messages. - **Content blocks:** [Content blocks](/v1/docs/content-blocks) are created in the editor and can later be inserted as merge fields. - **Portals and dashboards:** Static content blocks and dashboard content can use formatted content, HTML, merge fields, and Liquid markup. - **Reports:** [Data Explorer](/v1/docs/reports-data-explorer) static content widgets use an HTML WYSIWYG editor for supporting content in a report. - **Deliver Designer:** [Components](/v1/docs/portal-components) can use source HTML and Liquid variables to create reusable template pieces. ## Working with merge fields **Merge fields** allow editor content to display data from a record, query, recipient list, or portal method query. When the editor includes a merge field tool, use it to insert the field where the value should appear. Merge fields can also be written directly in Liquid object syntax by placing the export name inside double curly braces, such as `{{Person-Preferred}}`. The export name in the content must match the export made available to that context. For example, a Deliver mailing must include the needed exports in the recipient list, and a portal static content block must use exports available from the method query. Export names should be computer friendly. In Liquid contexts, spaces in an export name are represented with hyphens. ## Editing source HTML Select **Source** to edit the HTML behind the formatted content. Source editing supports advanced HTML, copied HTML layouts, Liquid markup, and template variables that cannot be created with the standard toolbar controls. > [!WARNING] > 📝 Use source editing carefully. HTML, merge fields, and Liquid markup must be valid for the area where the content will render. ## Using Liquid markup Liquid markup creates dynamic content in areas of Slate that support merge fields, including Deliver mailings, portals, dashboards, and other content areas. Liquid uses objects to display values, tags to create logic, and filters to modify output. Liquid changes content based on record data. For example, a portal static content block can use exports from the method query to show different text to different records. Deliver content can use recipient list exports to personalize a message. A Liquid object displays a value: ```xml {{Person-Preferred}} ``` A Liquid tag can conditionally display content: ```xml {% if Program == "Biology" %}
Review the Biology program requirements.
{% endif %} ``` 📖 [Getting Started with Liquid Markup](https://knowledge.technolutions.net/docs/en/getting-started-with-liquid-markup) ## Testing dynamic content Test dynamic content before using it with live audiences. The appropriate test depends on where the editor content is used. - For [Deliver mailings](/v1/docs/deliver-send-ad-hoc), use **Display Sample Message** to review sample output. - For [form communications](/v1/docs/form-communications), use **Submit Form Test** to confirm the rendered communication. - For [portals](/v1/docs/using-liquid-markup-in-portals), impersonate records that should and should not meet the Liquid conditions. - For [dashboards](/v1/docs/records-dashboards) and [reports](/v1/docs/reports), review the rendered content with records or query results that represent the expected output. When testing, confirm that required exports are present, merge field names match the available exports, and conditional Liquid displays the expected content.