AmpSend executes AMPscript entirely in your browser and shows the rendered email
instantly - no Salesforce Marketing Cloud account, no server, no publish cycle.
Templates, test scenarios, and data extensions never leave your machine.
Every function links to its own page with a working example and the real output rendered by our engine.
Concat(str1, str2, ...) | Null arguments become empty strings |
Length(str) | |
Lowercase(str) | |
Uppercase(str) | |
ProperCase(str) | Capitalizes the first letter of each word |
Trim(str) | |
Replace(str, find, replaceWith) | Case-sensitive |
ReplaceList(str, replaceWith, find1, [find2, ...]) | |
IndexOf(str, search) | 1-based; returns 0 when not found; case-insensitive |
Char(charCode, [repeatCount]) | |
Substring(str, start, [length]) | 1-based start |
RegExMatch(str, pattern, group, [options...]) | Group by number or name; supports IgnoreCase / Multiline options |
BuildRowsetFromString(str, delimiter) | Access parts with Row() + Field(row, 1) |
BuildRowsetFromJson(json, jsonPath, [flag]) | JSONPath subset: $.prop, $.prop[*], $.*, $[n]; object keys become row fields, nested values come back as JSON strings |
StringToDate(str) | |
StringToHex(str) | UTF-8 bytes as hex |
Now() | Your local machine time |
GetSendTime() | Same as Now() locally |
DateParse(str, [utc]) | |
DateAdd(date, amount, unit) | Units: Y, M, D, H, MI |
DateDiff(start, end, unit) | Units: Y, M, D, H, MI |
DatePart(date, part) | year, month, monthName, day, hour, minute; month and day are zero-padded like SFMC |
Format(value, pattern, [type], [culture]) | .NET-style date and number patterns (yyyy, MMMM, N2, C2, ...) |
FormatDate(date, datePattern, [timePattern], [culture]) | |
FormatNumber(number, pattern, [culture]) | N/C/P/F patterns and #,##0.00-style masks; en-US output |
LocalDateToSystemDate(date) | Approximation: SFMC system time modeled as CST (UTC-6, no DST) |
SystemDateToLocalDate(date) | Same approximation as above |
Data extensions come from the shared Data Extensions library (an editable table; the first row is the field names). Writes mutate the in-memory copy for the current render only - every render starts fresh, so previews stay deterministic.
Lookup(de, returnCol, col, value, [col2, value2, ...]) | First match; null when no match (IsNull is True), matching SFMC |
LookupRows(de, col, value, ...) | Case-insensitive match |
LookupRowsCS(de, col, value, ...) | Case-sensitive match |
LookupOrderedRows(de, count, "field asc|desc", col, value, ...) | count <= 0 returns all matches |
LookupOrderedRowsCS(de, count, "field asc|desc", col, value, ...) | |
DataExtensionRowCount(de) | |
RowCount(rowset) | |
Row(rowset, index) | 1-based |
Field(row, nameOrOrdinal, [raiseError]) | Ordinal is 1-based |
InsertDE(de, col, value, ...) | |
InsertData(de, col, value, ...) | Returns rows affected |
UpdateDE(de, numKeys, keyCol, keyVal, ..., col, value, ...) | |
UpdateData(de, numKeys, keyCol, keyVal, ..., col, value, ...) | Returns rows affected |
UpsertDE(de, numKeys, keyCol, keyVal, ..., col, value, ...) | |
UpsertData(de, numKeys, keyCol, keyVal, ..., col, value, ...) | Returns rows affected |
DeleteDE(de, numKeys, keyCol, keyVal, ...) | |
DeleteData(de, numKeys, keyCol, keyVal, ...) | Returns rows deleted |
Content blocks come from the shared Content Blocks library, matched by name, key, or id. AMPscript inside included content executes, just like in SFMC.
These require a live Marketing Cloud org and can never run locally. Calling one
produces a clear error naming its category.
| Marketing Cloud API | Addobjectarrayitem, Createobject, Invokecreate, Invokedelete, Invokeexecute, Invokeperform, Invokeretrieve, Invokeupdate, Setobjectproperty, Executefilter, Executefilterorderedrows |
| Sales & Service Cloud | Createsalesforceobject, Updatesinglesalesforceobject, Retrievesalesforceobjects, Retrievesalesforcejobsources, Longsfid |
| HTTP (mock support planned) | Httpget, Httppost, Httppost2, Httprequestheader, Ischtmlbrowser |
| CloudPages / Microsites (mock support planned) | Cloudpagesurl, Micrositeurl, Livecontentmicrositeurl, Queryparameter, Requestparameter, Redirect |
| Contact Model | Upsertcontact |
| Einstein | Einsteinemailrecommendations |
| MobileConnect (SMS) | Createsmsconversation, Endsmsconversation, Setsmsconversationnextkeyword |
| Social | Getsocialpublishurl, Getsocialpublishurlbyname, Getpublishedsocialcontent |
| Microsoft Dynamics CRM | Createmscrmrecord, Describemscrmentities, Describemscrmentityattributes, Retrievemscrmrecords, Retrievemscrmrecordsfetchxml, Setstatemscrmrecord, Updatemscrmrecords, Upsertmscrmrecord |
| Key Management | Getjwt, Getjwtbykeyname |
| Content (platform assets) | Barcodeurl, Image, Getportfolioitem, Attachfile |