Introduction to Scripting Functions
It is possible to write scripts within BizzStream to automate company-specific logic and extend the application's capabilities.
JavaScript as the Script Language
BizzStream uses JavaScript as its main language. This means you can use standard JavaScript features like defining and calling functions, using loops (for, forEach, while), conditional statements (if/else), and working with standard data types and built-in objects (such as Array, Object, Math, Date, String methods). If you're new to JavaScript, many good online resources can help you learn the language.
Some good online courses are:
There are also two additional libraries that are documented here: Additional Scripting Libraries
The system supports multiple types of scripts to provide more flexibility and reusability across the platform.
Client Scripts
Client scripts execute in the user’s browser or application context. They can be used to add interactivity, validate data before submission, or customize user interface behavior. Client scripts are isolated from server-only APIs for security and performance reasons.
Client side scripts can be executed as a side effect of a field change. These types of events can be configured in the layout section, for each type of field, under the "Events" configuration section.
Available Scripting functions
All functions are linked to the additional documentation. Press the function name to go directly to the correct document.
Field Functions
Field functions allow you to manipulate field values
| Function | Description |
|---|---|
Field.get |
You can use Field.get to retrieve a specific field value from a specific dataset using its unique identifier. |
Field.update |
You can use Field.update to alter a specific field value from a given dataset using its unique identifier. |
Dataset Functions
Dataset functions allow you to retrieve and work with dataset data
| Function | Description |
|---|---|
Dataset.getData |
You can use Dataset.getData to retrieve data from a specific dataset using its unique identifier. |
Before starting working with Client scripts, please read the limitations.
Server Scripts
System Mode Execution
Server Scripts in BizzStream run in system mode. This is a crucial concept: it means that scripts always have full access to all documents and data within the application, regardless of the permissions of the user who triggered the script or the workflow action (Only the environment where the script is ran). Because scripts run in system mode, they do not take the permissions of the user starting the action into account.
Scripts can be executed as part of workflow actions, allowing you to automate complex processes that require system-level access to data. Another good way to use the automation process is with using scripts in combination with events.
This document serves as a reference for the functions available specifically within this server environment, complementing the standard JavaScript features you can use to interact with the system, trigger actions, communicate with users, and integrate with other parts of the application. Understanding these functions will allow you to build custom logic and tailor the application to specific workflows and requirements.
Available Scripting Functions
Below is a list of the available scripting functions, grouped by their primary area of functionality, along with a brief description of their purpose and when you might use them.
All functions are linked to the additional documentation. Press the function name to go directly to the correct document.
BizzStream Functions
These functions allow your scripts to interact with core BizzStream functionalities, such as navigation, user management, and communication.
| Function | Description |
|---|---|
bizzStream.goToURL |
Use this to direct the user to a specific web address from within a script, useful for linking to external resources or other parts of the application accessible via URL. |
bizzStream.sendMail |
Use this to send automated emails based on script logic, such as sending notifications, alerts, or automated reports to users or groups. |
bizzStream.addUser |
|
bizzStream.getUser |
Use this to retrieve information about a user based on criteria like ID, username, or email, useful for fetching user details within a script or checking user existence. |
bizzStream.emitEvent |
Use this to trigger application-defined events from a script, allowing for integration with event-driven workflows or custom application logic that responds to specific events. |
bizzStream.sendPushNotification |
Use this to send push notifications to users. |
Persistent Functions (Data Storage and Retrieval)
These functions interact with the application's database, allowing scripts to create, read, update, and delete documents and manage attachments.
| Function | Description |
|---|---|
persistent.saveDocument |
|
persistent.findDocuments |
|
persistent.getDocument |
Use to retrieve a single document when you know its specific document definition name and unique ID. |
persistent.deleteDocument |
Use to permanently remove a specific document from the database when you know its document definition name and unique ID. |
persistent.addAttachmentsLazy |
|
persistent.copyAttachments |
|
persistent.removeAttachmentsLazy |
|
Data Ordering
When working with functions that retrieve multiple documents, such as persistent.findDocuments, you often have the ability to specify the order in which the results should be returned. This is typically controlled through an sort parameter passed to the retrieval function, rather than through separate "order functions". The sort object for findDocuments would contain properties to define sorting criteria (e.g., field name, ascending/descending order).
Utility Scripts
Utility scripts are reusable JavaScript modules that can be imported by both client and server scripts. They are ideal for keeping shared logic consistent and reducing code duplication across environments.
Commonly available function
Notification Functions
These functions allow your scripts to display messages directly to the user interface, providing feedback or alerts.
| Function | Description |
|---|---|
notification.info |
Use for displaying general information messages or process updates to the user. |
notification.success |
Use to indicate that an operation requested by the user or performed by the script has completed successfully. |
notification.warning |
Use to inform the user that an error occurred during script execution or a requested operation failed. |
notification.error |
Use to inform the user that an error occurred during script execution or a requested operation failed. |
Console Logging
console.log(message1, message2, ...)- When to use: Use for debugging your scripts by printing information (like variable values or execution flow) to the administrative log screen.
Creating a script
Please take the following steps to create a new script:
- Go to Settings.

- Go to Scripts.

- Add a new one and give the script a label and a name.

- Click the Save button to persist the script.
