--- title: "Unqork Formulas" slug: "unqork-formulas" updated: 2025-09-25T18:58:28Z published: 2025-09-25T18:58:28Z canonical: "docs.unqork.io/unqork-formulas" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.unqork.io/llms.txt > Use this file to discover all available pages before exploring further. # Unqork Formulas Unqork logic components let you use formulas in your configuration. [Components](/v1/docs/module-builder-component-library) that support formulas are the [Calculator](/v1/docs/calculator-component), [Initializer](/v1/docs/initializer-component), and [Data Workflow](/v1/docs/data-workflow-component) components. You can enter formulas into the Output table of the Calculator and Initializer components. Using formulas in the Data Workflow operator depends on the operators you configure. For example, the [Formula](/v1/docs/formula-operator) operator supports formula configuration. Below is a list of Unqork-specific formulas that exist outside the standard Hot-Formula-Parser library. > [!TIP] > To learn more about the Hot Formula Parser library, see our [Additional Formulas](/v1/docs/additional-formulas) article. | Formula | Description | Syntax | Reference | | --- | --- | --- | --- | | ALPHARANGE | Returns an alphanumeric range from the first to last letter. | **ALPHARANGE**(value1, value2) | For example, ALPHARANGE('A', 'D') = ['A', 'B', 'C', 'D'] | | BASE64 | Transforms a binary value into a Base64 encoded string. | **BASE64**(value) | | | DATEADD | Adds or subtracts an interval from a date. | **DATEADD**(serial_number, interval, type) | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/link_out_icon(2).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A52Z&se=2026-11-07T18%3A57%3A52Z&sr=c&sp=r&sig=NfoLlye5tycZmJbDIhfVoCpKuhxS57UuSTpzpB67Brs%3D) [Moment.js ADD Function](https://momentjs.com/docs/) | | DATEFORMAT | Converts a date-time value to a string with a specified format. | **DATEFORMAT**(serial_number, format, [offset]) | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/link_out_icon(2).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A52Z&se=2026-11-07T18%3A57%3A52Z&sr=c&sp=r&sig=NfoLlye5tycZmJbDIhfVoCpKuhxS57UuSTpzpB67Brs%3D) [Moment.js FORMAT Function](https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/) | | DURATION | Checks the duration elapsed between two dates in a given time unit. | **DURATION**(start_date, end_date, unit_of_time) | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/link_out_icon(2).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A52Z&se=2026-11-07T18%3A57%3A52Z&sr=c&sp=r&sig=NfoLlye5tycZmJbDIhfVoCpKuhxS57UuSTpzpB67Brs%3D) [Moment.js DURATION Function](https://momentjs.com/docs/) | | FROMBASE64 | Converts a specified string that encodes binary data as base-64 digits to a string. | **FROMBASE64**(value) | | | GET | Gets a path in an object. | **GET**(object, path, [default_value]) | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/link_out_icon(2).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A52Z&se=2026-11-07T18%3A57%3A52Z&sr=c&sp=r&sig=NfoLlye5tycZmJbDIhfVoCpKuhxS57UuSTpzpB67Brs%3D) [Lodash GET Function](https://lodash.com/docs/4.17.4#get) | | GROUPBY | Groups rows into a set of summary rows, and returns one row for each group. | **GROUPBY**(array, group_by_field, aggregate_function, aggregate_field) | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/link_out_icon(2).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A52Z&se=2026-11-07T18%3A57%3A52Z&sr=c&sp=r&sig=NfoLlye5tycZmJbDIhfVoCpKuhxS57UuSTpzpB67Brs%3D) [Lodash GROUPBY Function](https://lodash.com/docs/4.17.4#groupBy) | | INITIAL | Extracts a given number of elements from the beginning of an array. | **INITIAL**(array, number) | | | JOINKEYVALUE | Links rows between tables. | **JOINKEYVALUE**(array, label_label, value_label, [colon], [semicolon]) | | | JOINKEYVALUEARRAY | Merges elements of one or more arrays and appends the values to the end of the previous array. | **JOINKEYVALUEARRAY**(array, key_field, label_label, value_label, [colon], [semicolon]) | | | JSONPARSE | Takes a JSON string and passes it through JSON.parse, returning it as an object. | **JSONPARSE**(text) | | | KEYSARRAY | Returns a new array iterator object containing a key for each item in the array. | **KEYSARRAY**(array, keys) | | | LABELVALUEARRAY | Assigns labels to values in an array. | **LABELVALUEARRAY**(label_array, value_array, label_key, value_key) | | | LINKHEADERPARSE | Takes a header string and returns an object. | **LINKHEADERPARSE**(text) | For example, LINKHEADERPARSE("; rel="example"; title="Example Website"") => [ { uri: 'http://example.com ', rel: 'example', title: 'Example Website' } ] | | NUMERAL | Converts text to a number. | **NUMERAL**(number, format) | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/link_out_icon(2).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A52Z&se=2026-11-07T18%3A57%3A52Z&sr=c&sp=r&sig=NfoLlye5tycZmJbDIhfVoCpKuhxS57UuSTpzpB67Brs%3D) [Numbro.js FORMAT Function](https://numbrojs.com/format.html) | | PHONENUMBER | Converts letters to numbers and numbers to letters on a telephone keypad. | **PHONENUMBER**(value1, [value2], ...) | | | REST | Returns the remaining elements of an array past the index. | **REST**(array, index) | | | SPELLNUMBER | Takes a number and returns it in written form in a specified language. | **SPELLNUMBER**(number, locale, currency_code, [precision]) | > [!WARNING] > The `locale` must be in English and the `currency_code`must be in the United States dollar. | | STRINGIFY | Converts a **JavaScript** object or value to a JSON string. | **STRINGIFY**(object) | | | TOBASE64 | Transforms a binary value into a Base64 encoded string. | **TOBASE64**(value) | | | URLPARSE | Takes a URL string and returns an object. | **URLPARSE**(text) | For example, URLPARSE("http://foo/bar") => { host: 'foo', pathname: '/bar' } | | WORDWRAP | Wraps a string in new lines after a specified number of characters. | **WORDWRAP**(text, width, indent, [new_line], [cut], [trim]) | | | WORDWRAPARRAY | Wraps a text string at a specified number of characters with a string break. | **WORDWRAPARRAY**(array, joiner, prepend_key_to_indent, width, indent, new_line, [cut], [trim]) | | Base64 is an encoding and decoding technique used to convert binary data to an ASCII (American Standard for Information Interchange) text format. JSON (JavaScript Object Notation) is an open standard file and data interchange format. Unqork uses JSON for submission (record) data.