The Content Snippet Converter is an AI-powered application built on top of the Zeta App Framework that helps implementation and migration teams convert legacy ESP scripting into Zeta Markup Language (ZML) and Liquid syntax. It supports XSLT/XML conversion for Cheetah Digital migrations and is expanding to include AMPscript conversion for Salesforce Marketing Cloud migrations, making it a more generalized migration app rather than a single-purpose conversion tool.
This application addresses a common migration bottleneck: legacy email templates often contain embedded scripting logic that does not map directly to ZML. Rewriting that logic manually is slow, repetitive, and error-prone. The app provides a guided, AI-assisted workspace to accelerate this process while still allowing human review and refinement.
How the Application Works
The app uses a two-pane conversion workflow. Users select the source scripting language, such as XSLT/XML or AMPscript, provide the legacy source code on the left, then generate ZML/Liquid output on the right. The converted code is editable, which allows users to refine logic, naming, and formatting after the initial AI-assisted translation.
|
Capability |
Description |
|---|---|
|
Split-pane editor |
Side-by-side source and output panes for faster review and comparison |
|
Editable source and output |
Both panes support manual adjustment, which is useful when the user wants to clean source code or refine translated ZML |
|
Syntax-aware experience |
Input supports legacy source formats such as XSLT/XML and AMPscript, while output uses Liquid/ZML syntax highlighting and standard code editor features |
|
Copy actions |
Each pane has a dedicated copy action for quickly moving code into other workflows |
|
Saved translations |
Users can save translations with a required name and an optional description |
Navigation
If you do not see the Content Script Converter app, please reach out to your Zeta support or account team for access assistance.
The Content Script Converter app is accessible from the Applications menu in ZMP.
-
When you open the app, you land on the Conversions List page.
-
Click New Conversion and select the input language.
-
Enter your source script. You can also provide an optional sample payload to help validate the conversion.
Currently, you can convert XSLT and AMPscript. Support for additional scripting languages will be added in future releases.
-
Review the confidence score and any warnings, assumptions, or unconverted constructs.
-
Edit source or output as needed.
-
Copy the translated output or save the translation for reuse.
Key features
Conversion Workspace
The core user experience centers on a code input/output editor. The design direction calls for a split-screen layout, loading states during conversion, line numbers, and copy-to-clipboard actions. The app is intended to feel familiar to users who work directly in code and templates.
Confidence Scoring and Review Guidance
After conversion, the app presents a confidence score to help users understand how much review is likely needed. This score is paired with a structured summary rather than a single number alone.
-
High confidence: compact summary with score, translated unit count, logic summary, and assumptions if relevant
-
Below high confidence: expandable detail view separating review-required items, auto-converted items, and assumptions
-
Warnings: non-blocking alerts for unsupported or partially converted XSLT constructs
Confidence score interpretation
The score is intended as review guidance, not a guarantee that the translated script is production-ready without validation. Users should still confirm field mappings, conditional logic, loop behavior, and deployment context.
Save Named Translation
Users can save converted output with a name and optional description so it can be reopened later. If saved translations already exist, the app can open in a list view where users can create a new translation or continue work on an existing one.
Feedback Collection
A planned enhancement captures thumbs up/down feedback and optional comments after conversion, so the translation approach can improve over time. Feedback is intended to be non-blocking and tied to conversion context.
Supported Translation Patterns
The source material defines several starter translation rules and examples used to guide the conversion behavior. These patterns help map common XSLT constructs into equivalent Liquid or ZML concepts.
|
XSLT / XPath pattern |
ZML / Liquid pattern |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AMPscript Conversion
AMPscript support broadens the app beyond Cheetah-specific XSLT conversion. For Salesforce Marketing Cloud migrations, users can convert AMPscript-based templates into ZML/Liquid while preserving the intent of personalization, conditional logic, row iteration, and surrounding HTML/CSS where possible.
|
AMPscript / SFMC pattern |
ZML / Liquid pattern |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
AMPscript functions such as string, date, and formatting helpers |
Equivalent Liquid filters or review notes where a direct mapping is not available |
Starter guidance also includes common data model mapping patterns such as:
-
Property lookups mapped to
properties,person, orevent.propertiespaths in ZMP -
Array-style order structures mapped to event collections
-
Nested item references mapped to order item loops
-
XPath-style function logic mapped to Liquid filters and operators where possible
Best Practices
Even when a conversion score is high, reviewers should validate a few critical areas before reuse in production. This applies to both XSLT/XML and AMPscript conversions.
-
Field mapping: confirm that source XPath references map to the correct ZMP data paths
-
Loop structure: verify that nested collections and iteration variables preserve the original intent
-
Conditional logic: check for truthy/empty handling differences between XSLT and Liquid
-
Formatting behavior: confirm date, currency, number, and string formatting output
-
Rendered HTML: ensure attributes, mixed text, and dynamic content render correctly
Complex legacy templates may include scaffolding, unsupported functions, or environment-specific assumptions. If output quality is low or warnings are present, manual review is required before the snippet is used in campaigns.