> For the complete documentation index, see [llms.txt](https://synergy-codes.gitbook.io/workflow-builder/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://synergy-codes.gitbook.io/workflow-builder/functionality/features.md).

# Features

**Diagram area (canvas)**&#x20;

The diagram area is an infinite workspace that allows users to freely arrange elements:&#x20;

1. Users can manually place nodes anywhere on the canvas.&#x20;
2. The system also provides an option to automatically arrange the nodes on the canvas (ELK-based auto layout feature) – horizontally or vertically. &#x20;

**The library of elements (nodes)**&#x20;

1. The library contains a predefined list of elements that users can drag and drop onto the diagram area.&#x20;
2. Items in the library can be displayed in two ways:&#x20;
   1. Simplified view – as a single list.&#x20;
   2. Grouped view – organized into logical categories.&#x20;
3. All elements in the palette are predefined – users cannot modify them (e.g., add new elements, delete existing ones, or change their order).&#x20;

**Ready-to-use nodes**&#x20;

1. Trigger Nodes: Initiate workflows through specific events, such as receiving an email, form submissions, or scheduled times.&#x20;
2. Action Nodes: Execute tasks like sending emails, creating database records, or updating CRM systems.&#x20;
3. Condition Nodes: Branch workflows based on conditions, enabling "if/else" logic.&#x20;
4. Delay Nodes: Pause workflows for a specified duration before resuming.&#x20;
5. Decision Nodes: Route workflows based on user input or specific data values.&#x20;

**Properties Panel**&#x20;

1. When a node or a link is selected, an additional panel appears, allowing users to define or edit properties.&#x20;
2. The panel supports various field types:&#x20;
   1. Text inputs&#x20;
   2. Drop-down menus&#x20;
   3. Checkboxes&#x20;
   4. Numeric fields&#x20;
   5. WYSIWYG text editor for rich text content&#x20;
3. Properties are defined dynamically using a JSON Schema, enabling real-time updates to the properties panel without requiring code changes.&#x20;

**Relationships and Connections**&#x20;

1. Relationship Lines:&#x20;
   1. One predefined type of relationship line is available.&#x20;
   2. Users cannot customize the color or style of these lines.&#x20;
2. Connecting Nodes:&#x20;
3. Users manually draw connection lines between nodes.&#x20;
   1. Only one connection can exist between any two nodes.&#x20;
   2. A single node can have multiple incoming connections.&#x20;
   3. Connections are not validated for correctness by the system – users are free to create any relationships.&#x20;
4. Deleting Connections:&#x20;
   1. Users can delete connections without validation from the system.&#x20;
5. Labels on Links:&#x20;
   1. Users can define labels for relationship lines and choose to show or hide them.&#x20;
   2. Labels are draggable, allowing precise placement for better clarity.&#x20;

**Internationalization**

1. Architecture ready to support multilanguage

**Auto-save functionality**&#x20;

1. The system automatically saves data before the user exits the application.&#x20;
2. Supports two storage methods: local storage and API-based storage for seamless data persistence.&#x20;

**Read-only mode**&#x20;

1. A dedicated mode for users who are not authorized to make changes.&#x20;
2. All nodes on the canvas are frozen, preventing modifications while still allowing users to view node properties.&#x20;

**Snack bar notifications**&#x20;

1. User-friendly notifications provide real-time feedback on actions and system statuses.&#x20;
2. After major actions (e.g., saving or loading a diagram), a snackbar notification displays the result as either a success or error message.&#x20;

**Zoom in/out**&#x20;

1. Users can adjust the view of their diagram:&#x20;
   1. Zoom in for detailed editing.&#x20;
   2. Zoom out to see the broader structure.&#x20;
2. Zooming can be controlled using a dedicated button.&#x20;

**Undo/redo recent actions**&#x20;

1. Users can undo or redo node-related actions using keyboard shortcuts or a dedicated button.&#x20;
2. Features a customizable action manager to define which actions are included in the undo/redo history.&#x20;

**Keyboard shortcuts**&#x20;

1. Copy&#x20;
2. Paste&#x20;
3. Cut&#x20;
4. Select All&#x20;
5. Undo&#x20;
6. Redo&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://synergy-codes.gitbook.io/workflow-builder/functionality/features.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
