
Security News
Open VSX Unblocks Extension IDs Used in Malware Campaign
Open VSX has removed three extension IDs from its malicious-extension list as the legitimate publishers they impersonated move to claim the names for themselves.
ampscript-data
Advanced tools
Canonical AMPscript function catalog, keywords, and personalization strings for SFMC tooling
Canonical AMPscript function catalog, keywords, and personalization strings for Salesforce Marketing Cloud (SFMC) tooling.
This package is the single source of truth consumed by:
npm install ampscript-data
import {
FUNCTIONS,
AMPSCRIPT_KEYWORDS,
PERSONALIZATION_STRINGS,
DEPRECATED_FUNCTIONS,
functionLookup,
functionNames,
CANONICAL_FUNCTIONS,
FUNCTION_CANONICAL_MAP,
deprecatedFunctionLookup,
isEmailExcluded,
isMcnSupported,
getMcnApiVersion,
getMcnNotes,
} from 'ampscript-data';
FUNCTIONSAn array of all known AMPscript functions with full metadata:
import { FUNCTIONS } from 'ampscript-data';
for (const fn of FUNCTIONS) {
console.log(fn.name); // e.g. 'Lookup'
console.log(fn.minArgs); // minimum argument count
console.log(fn.maxArgs); // maximum argument count (Infinity = variadic)
console.log(fn.category); // e.g. 'Data Extension'
console.log(fn.description); // human-readable description
console.log(fn.params); // array of { name, description, type?, optional? }
console.log(fn.returnType); // e.g. 'string'
console.log(fn.syntax); // canonical signature string
console.log(fn.example); // usage example (where available)
console.log(fn.docUrl); // URL to official Salesforce developer docs
console.log(fn.guideUrl); // URL to ampscript.guide reference page
console.log(fn.mcnSince); // API version when MCN support was added (null = MCE only)
console.log(fn.mcnNotes); // behavioral differences on MCN (null = none)
}
functionLookupA Map<string, FunctionEntry> keyed by lowercase function name for O(1) lookups:
import { functionLookup } from 'ampscript-data';
const entry = functionLookup.get('lookup');
functionNamesA Set<string> of all function names in lowercase — useful for existence checks:
import { functionNames } from 'ampscript-data';
if (functionNames.has('lookup')) { /* ... */ }
CANONICAL_FUNCTIONSAn array of function names in their canonical casing (e.g. 'Lookup'), used for casing normalization:
import { CANONICAL_FUNCTIONS } from 'ampscript-data';
FUNCTION_CANONICAL_MAPA Map<string, string> from lowercase name to canonical-cased name:
import { FUNCTION_CANONICAL_MAP } from 'ampscript-data';
FUNCTION_CANONICAL_MAP.get('lookup'); // 'Lookup'
DEPRECATED_FUNCTIONSAn array of deprecated function entries with the same shape as FUNCTIONS:
import { DEPRECATED_FUNCTIONS } from 'ampscript-data';
deprecatedFunctionLookupA Map<string, FunctionEntry> for deprecated functions, keyed by lowercase name:
import { deprecatedFunctionLookup } from 'ampscript-data';
isEmailExcludedReturns true if the function is not available in email send contexts:
import { isEmailExcluded } from 'ampscript-data';
isEmailExcluded('HTTPGet'); // true — not available in email
Each FunctionEntry has two MCN fields:
| Field | Type | Description |
|---|---|---|
mcnSince | number | null | API version when MCN support was added (e.g. 67); null means MCE only |
mcnNotes | string | null | Behavioral differences on MCN vs MCE; null means no known differences |
Three helper functions are exported for programmatic MCN checks:
isMcnSupportedReturns true when the function is available on Marketing Cloud Next:
import { isMcnSupported } from 'ampscript-data';
isMcnSupported('Lookup'); // true
isMcnSupported('HTTPGet'); // false
getMcnApiVersionReturns the API version number (e.g. 67) when MCN support was added, or null for MCE-only functions:
import { getMcnApiVersion } from 'ampscript-data';
getMcnApiVersion('Lookup'); // 67
getMcnApiVersion('HTTPGet'); // null
getMcnNotesReturns a string describing behavioral differences on MCN, or null when the function behaves identically across platforms:
import { getMcnNotes } from 'ampscript-data';
getMcnNotes('FormatDate'); // "In Marketing Cloud Next, this function uses ..."
getMcnNotes('Lookup'); // "In Marketing Cloud Next, an odd number of search ..."
getMcnNotes('ProperCase'); // null
AMPSCRIPT_KEYWORDSAn array of AMPscript language keywords (IF, FOR, SET, etc.):
import { AMPSCRIPT_KEYWORDS } from 'ampscript-data';
PERSONALIZATION_STRINGSAn array of AMPscript personalization string descriptors (subscriber attributes, system variables, etc.):
import { PERSONALIZATION_STRINGS } from 'ampscript-data';
for (const ps of PERSONALIZATION_STRINGS) {
console.log(ps.name); // e.g. 'emailaddr'
console.log(ps.description); // human-readable description
}
MIT
FAQs
Canonical AMPscript function catalog, keywords, and personalization strings for SFMC tooling
The npm package ampscript-data receives a total of 319 weekly downloads. As such, ampscript-data popularity was classified as not popular.
We found that ampscript-data demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Open VSX has removed three extension IDs from its malicious-extension list as the legitimate publishers they impersonated move to claim the names for themselves.

Product
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.

Product
Socket is bringing experimental protection to Firefox, scanning 97,000+ extensions in Mozilla's official directory for malware and risky updates.