Endatix Documentation
website·Indexed 32 days ago
https://docs.endatix.comAn open-source .NET-based backend for SurveyJS projects. Endatix provides a framework for form-centric data-driven solutions, featuring a visual Hub for form building and workspace administration, a robust API, and support for multi-language localization, webhooks, and custom data export transformations.
What's inside Endatix
- Submission Details is the full-page view of a single form submission. It provides a complete record of every answer provided, timestamps for when the submission was started and completed, the identity of the submitter (if available), and any dynamic variables or calculated values set by SurveyJS during the form-filling process.
Overview of Endatix Form Management System
Endatix is a self-hosted, open-source (MIT licensed) form management system built on top of the SurveyJS form builder library. It provides a backend solution for defining complex forms, integrating them into software products, collecting and storing data, and processing that data. It is designed to integrate natively with .NET Core applications and features a storage-agnostic design.Overview of Endatix Developer Tools
Endatix provides two primary components for building data collection solutions: the Endatix API, a high-performance open-source .NET backend for form logic and data storage, and the Endatix Hub, an enterprise-ready Next.js interface for managing the product lifecycle.Overview of Endatix Question Settings
Question Settings are form-wide defaults that control the presentation of every question in a survey. These settings ensure consistency across large forms without requiring individual question edits. While these settings apply globally, they can be overridden at the page, panel, or individual question level.Overview of Conditional Logic in Endatix Form Builder
Conditional logic allows forms to respond dynamically to user answers. It enables showing or hiding elements, making fields required, or setting values based on specific conditions. Conditions are yes-or-no evaluations based on answer values (e.g.,
{request_type} = 'new_hire').Key behaviors include:
- Real-time updates: The form updates immediately when a referred answer changes.
- Value-based comparison: Conditions compare stored values (e.g.,
new_hire) rather than display text. Yes/No questions are compared usingtrueorfalse. - Case insensitivity: Text comparisons ignore capitalization.
- Configuration: Logic can be configured in two places: the Logic tab or the Property Grid. Changes in one are reflected in the other.
Overview of Custom Variables in Endatix
Custom variables are named values belonging to a form rather than a specific question. They are typically used to calculate values (like order totals, discounts, or risk scores) based on respondent answers using expressions. Variables are recalculated automatically whenever a dependent answer or another variable changes. They are invisible to respondents but their effects can be seen in question titles, descriptions, visibility conditions, and the Thank You page using the{variable_name}syntax.Overview of Endatix export value transformation
Endatix exports use a transformation pipeline that allows developers to modify data before it is written to JSON, CSV, or Excel files. During export, every value is converted into a mutableJsonNodeand passed through a chain of registered transformers. Each transformer can inspect, modify in place, replace, or return the node for the next transformer in the chain. Common use cases include rewriting URLs, flattening complex JSON objects, and redacting sensitive information.Overview of Endatix Hub Triggers
Triggers are rules that execute specific actions when a condition becomes true. Unlike visibility logic (which shows or hides questions), triggers change the functional behavior of the form to streamline the respondent's experience. Triggers can be created in the Form Builder's Logic tab or within the survey's Conditions settings in the Property Grid.Overview of Endatix Submitter Resolution
Endatix links form respondents to a dedicated
Submitterrecord to separate external identities (e.g., survey panelists) from internal Hub operators. When a user is resolved, Endatix stores a stableSubmitterId, aSubmitterDisplayId, and an immutable snapshot of profile fields on the submission. Anonymous submissions are accepted but do not persist a submitter record.Identity is resolved from two trusted sources:
- The authenticated
ClaimsPrincipal(for public forms and Hub flows). - An explicit
Submitterpayload sent via the protected "create on behalf" API (for trusted integrations).
- The authenticated
Overview of Endatix Webhooks
Endatix webhooks are built-in event handlers that send asynchronous HTTP requests to configured endpoints when specific events occur. Delivery is durable; events are written to an outbox in the same database transaction as the data change and then delivered by a background relay.Overview of Carry Forward in Endatix
Carry Forward allows a choice-based question to be populated with options based on answers from one or more earlier questions. This eliminates the need for duplicate option lists and ensures respondents only see relevant follow-up options (e.g., rating only the brands they previously selected).
Supported Question Types:
- Check boxes (Multiple Choice)
- Radio group (Single Choice)
- Dropdown (Single Choice)
- Multi-select Dropdown (Tag Box)
- Image Picker
- Ranking
- Button group
Constraints:
- Source questions must also be choice-based.
- A question cannot be its own source.
- Carry Forward is mutually exclusive with 'Choices from data list', 'Choices from URL', and SurveyJS 'Choices from question'.
Overview of Endatix Platform Components
Endatix is a platform for creating and managing SurveyJS based forms and surveys. It consists of two primary components:
- Endatix API: The backend service responsible for form management and data collection.
- Endatix Hub: The web interface used for creating forms and viewing responses.