--- title: "Functions" slug: "mapp-engage-functions" description: "Overview of the Mapp Engage personalization functions, grouped by purpose, with a table to find each function by name." status: "update" updated: 2026-11-04T12:31:56Z published: 2026-11-04T12:31:56Z canonical: "docs.mapp.com/mapp-engage-functions" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.mapp.com/llms.txt > Use this file to discover all available pages before exploring further. # Functions Functions extend placeholders and personalization rules. They check, compare, and transform values when a message is sent, for example to compare dates, extract part of a string, or format a number. Functions often require Code View. The function pages group the functions by purpose. To find a function by its name, use the table below. For the syntax and the function libraries, see [Function Basics](/v1/docs/basics-engage-functions). --- ## Function Pages | Page | Functions | | --- | --- | | [Function Basics](/v1/docs/basics-engage-functions) | Syntax, function libraries (`fn`, `ecm`, `ecx`), and how functions are evaluated. | | [Verify Existing Values](/v1/docs/verify-existing-values) | `fn:contains`, `fn:containsIgnoreCase`, `fn:startsWith`, `fn:endsWith`, `fn:indexOf`, `ecm:regexMatches`, `ecm:regexMatchesIgnoreCase`, `ecx:isEmptyCouponList` | | [Compare Dates](/v1/docs/compare-dates) | `ecm:equal`, `ecm:greater`, `ecm:greaterEqual`, `ecm:less`, `ecm:lessEqual`, `ecm:notEqual`, `ecm:age`, `ecm:between`, `ecx:durationBetween`, `ecx:isInTimePeriod` | | [Verify Quantities](/v1/docs/verify-quantities) | `fn:length`, `ecm:countMapElements` | | [Extract String Values](/v1/docs/extract-strings) | `fn:substring`, `fn:substringAfter`, `fn:substringBefore`, `ecm:nvl`, `ecm:extractDomain`, `ecm:coalesce` | | [Format and Encode Strings](/v1/docs/format-and-encode-strings) | `ecm:base64Encode`, `fn:escapeXml`, `fn:replace`, `fn:toLowerCase`, `fn:toUpperCase`, `fn:trim`, `ecx:capitalizeFirstLetter`, `ecx:capitalizeWords`, `ecm:concat`, `ecm:urlEncode`, `ecm:urlEncodeUsingCharset` | | [Extract and Format Numbers](/v1/docs/extract-and-format-numbers) | `ecx:formatNumber`, `ecx:forceNumber`, `ecm:round`, `ecm:max`, `ecm:min`, `ecm:avg`, `ecm:random`, `ecx:distribute`. Also: mathematical operations. | | [Extract and Format Dates and Times](/v1/docs/extract-and-format-dates-and-times) | `ecx:formatDate`, `ecx:fmtDateInTimezone`, `ecx:formatTimestamp`, `ecx:getDate`, `ecx:getTime`, `ecx:getDateTime`, `ecm:addInterval`, `ecm:day`, `ecm:month`, `ecm:year`, `ecm:toDate`, `ecm:timeZone`, `ecm:trunc` | | [Sort or Filter Data Records](/v1/docs/sort-or-filter-data) | `ecx:sort`, `ecx:filter`, `ecx:filterDateRange`, `ecx:filterDateTimeRange`, `ecx:filterDuplicates`, `ecx:filterDuplicatesByField`, `ecx:merge`, `ecx:related` | | [Create Hash Values](/v1/docs/create-hash-values) | `ecx:md5hex`, `ecx:md5base64`, `ecx:sha256hex` | | [Placeholders for eCommerce Data](/v1/docs/placeholders-for-ecommerce-data) | `ecx:productCatalog`. Also: placeholders for the eCommerce tables. |