TensorAct
Last updated: January 1, 2026
A comprehensive guide to managing files, datasets, templates, taxonomies, workflows, projects, teams, and integrations.
Getting Started
This guide covers all major features of Tensoract. Use the left sidebar to navigate between sections of the application. The sidebar contains links to Files, Datasets, Templates, Taxonomies, Workflows, Projects, Users, and Integrations.
1.1 Left Sidebar Navigation
The left sidebar is your primary navigation hub. It remains visible at all times and provides access to every major module.
| Feature | Description |
|---|---|
| Files | Upload and manage raw data files for annotation. |
| Datasets | Organize files into named collections for use in projects. |
| Integrations | Connect AWS S3 buckets for cloud-based file access. |
| Projects | Create projects that combine datasets, workflows, and teams. |
| Taxonomies | Define labels and relationships used to classify annotations. |
| Templates | Upload annotation UI templates used in workflow Annotate nodes. |
| Workflows | Design multi-step annotation pipelines connecting nodes. |
| Users | Manage user accounts, roles, and active status. |
1.2 Profile & Account Menu
At the bottom of the sidebar, click the Profile Icon to expand a quick-action menu. The menu slides up and displays the following icons (hover each for a tooltip):
- Logout – End your session and return to the login page.
- Switch Role – Open a dialog to change your active role.
- Settings – Navigate to the application settings page.
- Notifications – View recent notifications.
- Help – Access help resources.
Click the Profile Icon a second time to collapse the menu.
File Management
The Files section lets you upload raw data files and make them available for inclusion in datasets. Files can be uploaded directly from your computer or imported from a connected AWS S3 bucket.
2.1 Uploading Files from Your Device
Follow these steps to upload a file from your local machine:
- Click Upload Files in the Files list page.
- In the modal that opens, the Upload tab is selected by default.
- Click the upload area labelled Click to upload from this device.
- Your system file explorer opens. Select a valid file and click Open.
- The modal closes and a success toast “File is uploaded successfully” appears.
- The new file appears at the top of the Files list.
! Note: The platform stores a full copy of files uploaded via the Upload tab. Deleting such a file removes both the list entry and the stored copy from the backend.
2.2 Importing Files from AWS S3
If you have a configured S3 integration, you can import files directly from your bucket without uploading them locally:
- In the Upload Files modal, click the Import from S3 tab.
- Choose an integration from the Select Integration dropdown.
- Click the Click to upload from S3 area to open the S3 bucket explorer, or click Add Folder to import an entire S3 folder by path.
- In the S3 explorer, select one or more files using their checkboxes and click Open.
- The modal closes and a success toast “File is added successfully” appears.
Importing a Folder
- With an integration selected, click Add Folder.
- Paste a valid AWS S3 folder path and click Add.
- The platform validates the path and displays all files within it.
- Select the files you need and click Import.
- If the path is invalid, an error message is shown and no files are loaded.
! Note: S3-imported files are referenced by their S3 object key; no binary copy is stored locally. If a file is deleted from S3 externally, the corresponding task will fail to load and display a ‘File missing from the S3 bucket’ error.
2.3 Deleting Files
- Select one or more files using their checkboxes.
- Click the Delete button and confirm.
- The files are removed from the list and, for locally uploaded files, from the backend storage.
Dataset Management
Datasets are named collections of files that can be attached to projects for annotation. Each dataset has a type (e.g. PDF, Video) and tracks the number of items it contains.
3.1 Viewing & Searching Datasets
The Datasets page shows a paginated list of all datasets. Each row displays the dataset name, type, creation date, and item count. Use the search box at the top to filter datasets by name in real time.
3.2 Creating a Dataset
- Click New Dataset on the Datasets page.
- Enter a Name and optional Description.
- Select a Dataset Type (e.g. PDF) from the dropdown.
- Click Save. A success message confirms creation and the dataset appears in the list.
! Note: The Create button is disabled until all mandatory fields are filled.
3.3 Adding Files to a Dataset
- Open a dataset by clicking its name.
- Click Add Files.
- Select one or more files from the available files list and click Add to Dataset.
- Files already present in the dataset are skipped automatically; a summary shows how many were added and how many were skipped.
3.4 Deleting Datasets or Files
Delete a Dataset
- On the Datasets page, check the checkbox beside one or more datasets.
- Click the Dotted (⋯) button, then Delete, and confirm.
- A toast confirms deletion and the datasets are removed from the list.
! Note: A dataset currently used by an active project cannot be deleted. An error message ‘Dataset is in use and cannot be deleted’ will be shown.
Remove Files from a Dataset
- Open the dataset, select the file checkboxes, click the Dotted (⋯) button, select Delete, and confirm.
- A confirmation message shows how many files were removed.
Template Management
Templates define the annotation UI presented to annotators. They are uploaded as .zip packages and can be attached to the Annotate node of a workflow.
4.1 Uploading a Template
- On the Templates page, click Upload New Template.
- Enter a unique Template Name and an optional Description.
- Click Choose File and select a valid
.ziptemplate package. - Once all mandatory fields are filled, the Upload button becomes enabled.
- Click Upload. On success, a toast confirms upload and the template appears at the top of the list.
! Note: Template packages must contain only HTML, JS, CSS, and Manifest files. Packages containing other file types will fail backend schema validation and will not be saved.
4.2 Template Format
A template is packaged as a .zip file containing the following allowed extensions:
.html.css.js.json.liquid
The template package must include at least one .html file.
4.3 Searching Templates
Use the search box on the Templates page to filter by template name. Results update in real time and the search is case-insensitive. If no templates match, a ‘No templates found’ empty state is shown.
4.4 Deleting Templates
- Select one or more templates using their checkboxes.
- Click Delete. A confirmation popup asks you to type DELETE.
- Type DELETE and confirm. Successfully deleted templates are removed from the list.
! Note: Templates currently in use by an active workflow cannot be deleted. If a bulk deletion contains both in-use and unused templates, a Deletion Summary popup details which succeeded and which were blocked.
4.5 Using Templates in Workflows
After uploading, a template becomes available in the template selection popup inside any workflow’s Annotate node. Only customised templates are shown in this popup — built-in types are not accessible.
Taxonomy Management
Taxonomies define the labels and relationships that annotators apply to data. A taxonomy can be reused across multiple projects.
5.1 Creating a Taxonomy
- On the Taxonomies page, click Create Taxonomy.
- Enter a Taxonomy Name. The Next button is disabled until this mandatory field is filled.
- Click Next to open the taxonomy configuration modal.
- Add at least one Label or Relationship. The Create button remains disabled until content is added.
- Click Create when complete.
5.2 Managing Project Taxonomies
Taxonomies can be attached to a project from the project’s Taxonomies tab:
- Open a project and click the Taxonomies tab.
- Click Add Taxonomy to open the Add Taxonomies popup.
- Search for and select one or more taxonomies; each row shows name, description, label count, and relationship count.
- Click Add to Project. A confirmation toast appears and the popup closes.
- To view taxonomy details, click a taxonomy name to open a read-only right-hand side popup showing labels and relationships.
- To remove a taxonomy from the project, select its checkbox and click Delete, then confirm.
Workflow Management
Workflows define the pipeline through which annotation tasks travel. Each workflow is built on a canvas by connecting nodes from the Node Library.
6.1 Creating a Workflow
- On the Workflows page, click Create Workflow.
- Enter a unique Workflow Name and optional Description. The Next button is disabled until the name is filled.
- Click Next to open the Workflow Console.
- The Node Library panel displays available nodes: Start, Annotate, Review, Output, and Complete.
- Drag nodes onto the canvas and connect them by dragging from one node’s connection point to another.
- Nodes are not connected automatically; all connections must be defined manually.
- Click Save Workflow when the pipeline is complete.
! Note: Attempting to save a workflow with unconnected nodes shows a warning: ‘This workflow has missing node connections’. A workflow name that already exists will also trigger a warning.
6.2 Node Types
| Feature | Description |
|---|---|
| Start | The entry point of every workflow. No incoming connections are allowed. |
| Annotate | Presents an annotation template to an annotator. Must have a template selected. |
| Review | Routes the task down an Approved or Rejected path based on the reviewer’s decision. |
| Plugin | Enables integration of external agents into a workflow. See the Plugin Node section below for more details. |
| Complete | The final node. No outgoing connections are allowed. |
6.3 Workflow Rules
- Start must always be the first node.
- Complete must always be the last node.
- Multiple Annotate and Review nodes are supported.
- Each Review node exposes Approved and Rejected paths that can connect to any subsequent node.
6.4 Editing an Existing Workflow
Workflows open in read-only mode by default. To make changes:
- Click the Edit button at the bottom of the workflow view.
- The workflow becomes editable, the Node Library appears, and Save Changes / Cancel buttons replace Edit.
- Update the template in the Annotate node or the output format in the Output node by clicking the relevant selection button inside the node.
- Add or remove nodes as needed.
- Click Save Changes to persist updates, or Cancel to discard them.
! Note: If the workflow is attached to an active project, a warning banner is shown when entering edit mode. Existing tasks continue to use the previous template schema; only new tasks will use the updated configuration.
Project Management
Projects bring together a workflow, one or more datasets, a taxonomy, and a team of users. Use the Projects page to create, monitor, and manage annotation projects.
7.1 Creating a Project
- On the Projects page, click Create Project.
- Fill in the mandatory fields: Project Name, Datasets, and Workflow.
- Optionally add a Description and select one or more Taxonomies.
- Click Create. The Create button is disabled until all mandatory fields are complete.
7.2 Project Tabs
Each project contains the following tabs:
| Feature | Description |
|---|---|
| Overview | Displays a task status summary (Not Started, In Progress, Completed) and an annotator summary table showing time spent, last activity, and assigned tasks. |
| Tasks | Lists all tasks with file name, annotator, reviewer, status, and last updated date. Includes search and CSV export. Click a task to open the annotation view. |
| Workflow | Read-only visual representation of the project’s workflow showing all nodes and their connections. |
| Taxonomy | Manage taxonomies linked to the project (add or remove). |
| Datasets | Manage datasets linked to the project (add, sync, or remove). |
| Teams | Manage users assigned to the project (add or remove). |
7.3 Working with Tasks
Click any task on the Tasks tab to open the task annotation view. The view shows:
- Task details panel on the left.
- Labels and Relations panels on the right, populated from the project’s taxonomy.
- An approval control at the bottom: select Approve or Reject from the dropdown, then click Submit.
- Save and Exit and Cancel and Exit buttons are also available.
7.4 Managing Project Datasets
- On the Datasets tab, click Add Datasets.
- The popup has two tabs: New Datasets (datasets not yet in the project) and Existing to Sync (datasets already linked but with new items).
- Select datasets and click Add/Sync to Project.
- To remove a dataset, check its checkbox, click Delete, and confirm.
7.5 Managing Project Teams
- On the Teams tab, click Add Users.
- Select a role (Annotator, Reviewer, Project Supervisor, or Project Viewer) and choose users from the list.
- Click Add to Project. The user is added to the teams list with the selected role.
- To remove a user, select their checkbox, click Delete, and confirm.
User Management
The Users section allows administrators to create accounts, assign roles, and manage active status for all platform users.
8.1 Viewing & Searching Users
The Users page lists all users with columns for Name, Email, Updated At, Role, and Status. Use the search box to filter by name in real time. Pagination controls and an Items Per Page selector are available at the bottom.
8.2 Creating a User
- Click Create User.
- Fill in all mandatory fields: Full Name, Email, Password, Confirm Password, and at least one Role.
- Available roles: Super User, Company Admin, Project Supervisor, Project Viewer, Annotator, Reviewer, Dataset Supervisor, Dataset Viewer, API User.
- Multiple roles can be selected simultaneously.
- Click Create User once all fields are complete. The button is disabled until then.
- A toast “New user added successfully” confirms creation.
8.3 Changing User Status
You can activate or deactivate individual users or multiple users in bulk:
- Select one or more users using their checkboxes.
- Click Change Status. The dropdown shows Activate, Deactivate, or both, depending on the selection.
- Choose an action. The status column updates immediately to reflect the change.
AWS S3 Integrations
Integrations connect the platform to your AWS S3 bucket so you can import files without uploading them manually. Each integration uses an IAM role for secure, credential-free access.
9.1 Viewing Integrations
Click Integrations in the sidebar. The list page shows all configured integrations. Each entry displays the integration name, ARN name and value, creation date, integration ID, and a Run a Test button. Use the search box to filter by name.
9.2 Adding a New Integration
Click + New Integration to open the Add S3 Integration modal. Complete all four steps:
- Give your integration a title – Enter a unique display name for this integration.
- Create an IAM permission policy – Copy the provided JSON policy template (which includes your S3 bucket name placeholder) and create the policy in the AWS IAM console.
- Create an IAM role – Use the displayed AWS account ID and generate an External ID. Enter the role name and paste the resulting Role ARN into the provided field.
- Set CORS permissions – Copy the provided CORS JSON template and apply it to your S3 bucket in AWS.
Once all four steps are completed, the Create button becomes enabled. Click Create to save the integration. A toast ‘Integration created successfully’ confirms success.
9.3 Testing an Integration
- Click Run a Test beside an existing integration.
- Paste a valid S3 object URL into the input field.
- Click Check access of this URL.
- A green tick and success message confirm the file is accessible; a red cross and error message indicate a problem with the configuration.
9.4 Deleting an Integration
- Select the integration checkbox and click Delete.
- Confirm deletion in the popup.
- A success message ‘Successfully deleted integration’ confirms removal.
Form Validation & Common Rules
All creation forms across the platform follow a consistent validation pattern to prevent incomplete submissions.
| Feature | Description |
|---|---|
| Datasets | The Create button is disabled until Name and Type are filled. |
| Projects | The Create button is disabled until Project Name, Datasets, and Workflow are filled. Taxonomies and Description are optional. |
| Taxonomies | The Next button is disabled until a name is entered. The Create button on the second step is disabled until at least one Label or Relationship is added. |
| Templates | The Upload button is disabled until Template Name and a file are provided. |
| Workflows | The Next button is disabled until a workflow name is entered. Saving a workflow with unconnected nodes is blocked. |
| Users | The Create User button is disabled until Full Name, Email, Password, Confirm Password, and at least one Role are filled. |
Duplicate Name Prevention
Workflow names and template names must be unique. Attempting to create a duplicate triggers a warning and prevents progression until a different name is entered.
Plugin Node
The Plugin node enables integration of external agents into a workflow. When a task reaches a Plugin node, it is made available via the platform’s API so that an external system can retrieve it, process or label it externally, and push it back through a defined pathway to continue through the workflow.
11.1 Adding a Plugin Node to a Workflow
The Plugin node is available in the Node Library alongside Start, Annotate, Review, and Complete. To add it to a workflow:
- Open the Workflow Console for a new or existing workflow.
- Drag the Plugin node from the Node Library onto the canvas.
- The node appears on the canvas with one input connection point (black dot) and no output points initially.
- Connect an incoming node to the Plugin node’s input point, then configure pathways before adding outgoing connections.
11.2 Configuring Pathways
Pathways define the routes that the external agent can use to return a task to the workflow. Each pathway has a unique system-generated ID that the external agent uses to direct the task to the correct next node.
- Click the Plugin node on the canvas to open the Plugin Node Edit popup.
- Under the Pathways heading, type a name in the pathway name input field. The Add button is disabled until a name is entered.
- Click Add. The pathway appears in the list with its name, an edit icon, and a remove (−) icon. A unique pathway ID is generated automatically and displayed below the pathway name, with a copy icon beside it.
- Repeat to add additional pathways. A maximum of five pathways is allowed per Plugin node. Once five pathways exist, the name input field and Add button are hidden.
- To rename a pathway, click its edit icon and modify the name. To delete a pathway, click the remove (−) icon.
- Click the copy icon beside a pathway ID to copy it to the clipboard. Provide this ID to the external agent so it can route tasks to the correct pathway.
- Close the popup. The Plugin node on the canvas now shows all pathway names, each with its own output connection point, ready to be connected to subsequent nodes.
11.3 Connecting Pathways to Nodes
After pathways are created, each pathway’s output connection point is visible on the Plugin node. Drag from a pathway’s output point to any subsequent node (for example, an Annotate or Review node) to define that pathway’s route. Different pathways can connect to different nodes, allowing the external agent to branch the workflow based on its processing result.
11.4 External Agent Integration
The Plugin node acts as a handoff point between the platform and an external agent. The typical flow is:
- The workflow sends a task to the Plugin node stage, where it waits for the external agent.
- The external agent calls the platform’s List Tasks API to retrieve all tasks currently at the Plugin node.
- The agent processes or labels the tasks externally.
- The agent calls the platform’s push API, supplying the processed task data and the target pathway ID.
- The platform matches the pathway ID, updates the task with any labels provided, and routes the task to the node connected to that pathway.
! Note: After the external agent pushes labeled task data back to the platform, the task remains at the Plugin node stage until it is routed to the next node via the specified pathway. Ensure the pathway ID used in the push API call exactly matches the ID generated by the platform.