Marketing Cloud Next runs a subset of the AMPscript surface that Engagement offers. This page lists only the functions the catalog marks as available on Next, together with the Core API version they arrived in and the Handlebars helper that covers the same job.

Availability is catalogued, behaviour is proven on Engagement

The API version column comes from the language catalog that also powers the SFMC Language Service and the ESLint rules. The Verified badge, however, means a runtime sweep on a live Engagement CloudPage and E-Mail — those linked pages document Engagement behaviour and have not been re-run on Next. Treat them as a strong indication, not as proof for Next.

Supported functions

Verified means the function completed a runtime sweep on a live Engagement CloudPage and has a reference page — the name links to it. A name without the badge is listed from the language catalog and has not been proven here; use ampscript.guide for those until a sweep reaches them.

FunctionAPI versionHandlebars Returns Description
Add() Verified 67 add number Computes the sum of two numeric values.
BuildRowsetFromJSON() Verifieddiffers 67 jsonPath rowset Parses a JSON string and returns a rowset.
Concat() Verified 67 concat string Concatenates two or more string values.
ContentBlockByID() Verified 67 string Retrieves and renders a Content Builder content block by its numeric ID.
ContentBlockByKey() Verified 67 getContentBlock string Retrieves and renders a Content Builder content block by its customer key.
ContentBlockByName() Verified 67 string Retrieves and renders a Content Builder content block by its folder path and name.
DateAdd() Verified 67 dateAdd date Adds a whole number of intervals to a date value. Only the five documented units are accepted and every other unit, including seconds and weeks, aborts the page — as does a non-integer amount or a date the engine cannot parse.
DateDiff() Verified 67 dateDiff number Counts how many boundaries of the requested unit lie between two dates, by truncating both to that unit and subtracting — so a 23-hour gap that crosses midnight counts as 1 day, while 23 hours within one day counts as 0. Finer units than the one requested are ignored rather than rounded.
DateParse() Verified 67 date Parses a date string into a date value. A string the parser cannot read aborts the page instead of returning a sentinel, and an ambiguous day-first string such as 5/8/2026 is silently read month-first rather than rejected. An offset or GMT marker in the input is honoured and converted to the account time zone.
Divide() Verified 67 divide number Divides the first number by the second.
Empty() Verified 67 isEmpty boolean Returns true when the value is an empty string, an unset variable, or an undeclared variable. Whitespace, the number 0, the string "0" and the string "false" are all treated as present.
Field() Verified 67 get string Retrieves the value of a named field from a rowset row. The two-argument form aborts the page when the column is absent; pass the optional third argument as 0 (or false) to get an empty string for a possibly-missing column instead.
Format() Verifieddiffers 67 format string Formats a number, a date or a string with a .NET format pattern. The third parameter only accepts Date or the empty string; the documented value Number aborts the page.
FormatCurrency() Verified 67 formatCurrency string Formats a number as a currency amount for a locale, choosing the symbol, the separators and the symbol position from that locale. Rounding is half-up.
FormatDate() Verifieddiffers 67 format string Formats a date according to a date pattern, a time pattern and a locale. The two pattern arguments use separate, case-insensitive token sets: in the date pattern mm means month, and minutes are only reachable from the time pattern.In MCN, uses Java SimpleDateFormat format strings instead of .NET. Omitting dateFormat returns the G standard format (e.g. "5/15/2026 1:23:45 PM").
FormatNumber() Verified 67 formatNumber string Formats a number with a standard or custom .NET numeric pattern, optionally for a locale. Rounding is half-up.
IIf() Verified 67 iif string Returns one of two values based on a boolean expression (inline if). Only a real comparison or a boolean-returning function selects the true branch; a plain string or number always selects the false branch. Only the selected branch is evaluated, so a call that would abort the page is safe in the branch that is not taken.
IndexOf() Verified 67 indexOf number Returns the 1-based position of a substring, matching case-insensitively. An undocumented third argument selects which occurrence to locate.
IsNull() Verifieddiffers 67 isEmpty boolean Returns true only for a genuine null, which in practice means a data extension field with no value. An unset or undeclared variable, an empty string, whitespace and every ordinary value all return false, so this is not a general emptiness test.
Length() Verified 67 length number Returns the number of characters in a string.
Lookup() Verified 67 queryFirst string Returns a single field value from the first matching row in a data extension. A no-match returns an empty string.In MCN, search arguments must be provided in column/value pairs - an odd count causes an error. All filter keys must fully specify the composite primary key.
Lowercase() Verified 67 lowercase string Converts a string to all lowercase characters.
Mod() Verified 67 modulo number Returns the remainder after dividing the first number by the second (modulo).
Multiply() Verified 67 multiply number Computes the product of two numeric values.
Now() Verified 67 now date Returns the current system date and time in Central Standard Time, with no daylight-saving adjustment. Every call within one render returns the same instant.
Output() Verifieddiffers 67 void Writes the result of a nested function call into the rendered content. A string literal, a bare variable or a number renders nothing at all, without raising an error.
OutputLine() Verified 67 void Writes the result of a nested function call into the rendered content, followed by a carriage return and line feed. A string literal, a bare variable or a number renders only the line break. The break is not an HTML line break, so an HTML view keeps everything on one line unless the content sits inside a preformatted element.
ProperCase() Verified 67 properCase string Converts a value to proper (title) case. Every letter after the first of a word is forced to lower case, so existing internal capitals are lost.
RaiseError() Verified 67 raiseError void Raises a runtime error, optionally skipping the current subscriber or returning an API error. Outside a send it is not a graceful abort: on a landing page it discards everything already written and answers the same generic failure any other aborting call gives, with the message nowhere in the response.
Random() Verifieddiffers 67 random number Returns a random integer between the two specified values (inclusive). Both bounds must be whole numbers; a decimal bound aborts the page. The bounds may be supplied in either order.
Replace() Verified 67 replace string Replaces all occurrences of a substring with a new value, matching case-insensitively. The source is scanned once, so text formed by a replacement is not replaced again.
ReplaceList() Verified 67 string Replaces every occurrence of each supplied search value with one common replacement value, matching case-insensitively. The search values are applied one after another in the order given, so text produced by an earlier replacement can still be matched by a later one.
RetrieveSalesforceObjects() Verified 67 query rowset Retrieves records from a connected Salesforce Sales or Service Cloud object via Marketing Cloud Connect and returns them as a rowset. Requires an active Marketing Cloud Connect integration; a call against an unknown object name aborts the page.
Row() Verified 67 get row Returns a specific row from a rowset by its 1-based index. Index 0 (or any out-of-range index) aborts the page rather than returning an empty row.
RowCount() Verified 67 length number Returns the number of rows in a rowset.
StringToDate() Verified 67 date Converts a date string to a date value. Behaves identically to DateParse for every input format, but takes no second argument, so DateParse is the only one of the two that can return the instant in UTC. A string the parser cannot read aborts the page instead of returning a sentinel, and an ambiguous day-first string such as 5/8/2026 is silently read month-first rather than rejected.In MCN, returns a locale-formatted string (G standard format, e.g. "5/15/2026 1:23:45 PM") instead of a dateTime object. Cannot be reliably passed to FormatDate() or other date functions in MCN - use FormatDate() directly instead.
Substring() Verified 67 substring string Extracts a portion of a string starting at the given index for the specified length. A start position below 1 is treated as the first character.
Subtract() Verified 67 subtract number Computes the difference between two numeric values.
Trim() Verified 67 trim string Removes leading and trailing whitespace from a value. Tabs, line breaks and the non-breaking space count as whitespace.
Uppercase() Verified 67 uppercase string Converts a string to all uppercase characters. The German sharp s remains unchanged rather than expanding to SS.
v() Verified 67 string Outputs a value inline, normally a variable reference. A string or number literal and a nested function call are accepted as well, each rendering its own value.