Functions

Custom functions enable reusable data transformation logic across your templates, blueprints, and workflows. They extend JSONata's built-in capabilities, allowing you to encapsulate complex transformation logic, business rules, and data processing into named functions that can be called from anywhere in your templates, blueprints, or workflows.

Functions are based on JSONata — a lightweight query and transformation language for JSON data. SignStack wraps each function with versioning, identity, and the standard resource lifecycle: iterate in a draft, then publish to an immutable semver. Published versions are frozen so callers that pinned format_date@1.0.0 keep getting the exact transform they were built against, even after 2.0.0 ships.

Each function is identified by a unique key and can accept typed parameters and return typed values based on your schemas.