Chapter 7

Integrations (AWS S3 Connections)

Establish secure, cross-account AWS IAM role assumption to stream objects directly from your S3 buckets without permanent access keys, configure CORS policies, and validate connectivity.

Overview

Connect Tensoract to your AWS S3 buckets for seamless direct file import. Accessible to Super Users, Company Admins, and Dataset Supervisors via Integrations in the left sidebar.

Creating an AWS S3 Integration

Tensoract enforces zero-standing-privilege security using AWS IAM Role cross-account assumption (no long-term IAM access keys or secret keys are ever stored or required).

Step-by-Step Guide

1

Navigate to Integrations and click Add Integration

From the left sidebar, click Integrations, then click the blue Add Integration button.

Figure 29: Integrations - Add Integration

Figure 1: Integrations - Add Integration

2

Enter Integration details and generate IAM permission code

Enter the Integration title and your actual S3 Bucket name as defined in your AWS account. Select IAM permissions and copy the generated policy snippet.

Figure 30: Integration - Title, Bucket, and IAM Permission

Figure 2: Integration - Title, Bucket, and IAM Permission

3

Create an IAM Policy in AWS Console

In the AWS Management Console, open IAM Policies Create Policy. Select the JSON tab, paste the permission code, and click Next.

Figure 31: AWS IAM - Create Policy

Figure 3: AWS IAM - Create Policy

AWS IAM Policy (JSON)
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "TensoractS3BucketAccess",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetBucketLocation"
      ],
      "Resource": "arn:aws:s3:::your-bucket-name"
    },
    {
      "Sid": "TensoractS3ObjectAccess",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Resource": "arn:aws:s3:::your-bucket-name/*"
    }
  ]
}
4

Name and Create the IAM Policy

Provide a descriptive Policy Name (e.g. Tensoract-S3-Access-Policy) and click Create Policy.

Figure 32: AWS IAM - Policy Title

Figure 4: AWS IAM - Policy Title

5

Obtain Account ID and External ID

Return to Tensoract. The integration setup modal displays the unique Account ID and External ID required to establish the trust relationship.

Figure 33: Integration - Account ID and External ID (Tool Panel)

Figure 5: Integration - Account ID and External ID (Tool Panel)

6

Create the IAM Role in AWS

In AWS IAM, navigate to Roles Create Role. Choose AWS Account as the trusted entity type, check Require external ID, and paste the External ID from Tensoract. Click Next, attach the IAM Policy created in Step 3, enter a Role Name, and click Create Role.

Figure 34: AWS IAM - Trusted Entity Setup (Account ID and External ID)

Figure 6: AWS IAM - Trusted Entity Setup (Account ID and External ID)

7

Copy the Role ARN

Once the role is created, copy its Role ARN (e.g. arn:aws:iam::123456789012:role/TensoractRole) and paste it into the Role ARN field in Tensoract.

Figure 35: Integration - Role ARN

Figure 7: Integration - Role ARN

8

Configure CORS on your S3 Bucket

Copy the CORS configuration snippet in Tensoract. In AWS S3, open your bucket, go to Permissions Cross-origin resource sharing (CORS), click Edit, paste the JSON, and click Save changes.

Figure 36: S3 - CORS Configuration

Figure 8: S3 - CORS Configuration

S3 CORS Configuration (JSON)
[
  {
    "AllowedHeaders": [
      "*"
    ],
    "AllowedMethods": [
      "GET",
      "HEAD",
      "PUT"
    ],
    "AllowedOrigins": [
      "https://app.tensoract.com"
    ],
    "ExposeHeaders": [
      "ETag",
      "Content-Length"
    ],
    "MaxAgeSeconds": 3000
  }
]
9

Click Create in Tensoract

Once the IAM Policy, Role ARN, S3 bucket name, and CORS configuration are configured, click Create in the tool modal.

Figure 37: Integration - Final Create Step

Figure 9: Integration - Final Create Step

10

Integration Complete

A successful integration is confirmed. You can now browse bucket prefixes and import objects directly into Files and Datasets.

Figure 38: Integration - Success Confirmation

Figure 10: Integration - Success Confirmation

Validating Integrations

Click Run a Test on any integration row and paste a test object URL from your S3 bucket to verify read permissions and CORS handshakes.

Figure 39: Integration - Run a Test

Figure 11: Integration - Run a Test

  • Health Status Badges: HEALTHY Full read/write and CORS validation passed.
    DEGRADED Bucket accessible but CORS misconfigured.
    UNHEALTHY IAM Role assumption failed or access denied.
    UNKNOWN Validation has not yet been executed.
  • Granular Checks: Dedicated indicators verify IAM Validation and CORS Validation independently.

Deleting Integrations

Select an integration from the table and click Delete.

Data Dependency Warning
Deleting an active integration immediately breaks access to all files and datasets imported from that S3 bucket. Active tasks referencing those files will become unrenderable.

Azure Blob Storage Integration

Tensoract supports connecting to Azure Blob Storage containers. Once connected, you can browse your Azure containers and import files directly into the platform.

Step-by-Step Guide to Creating an Azure Integration

1

Select Cloud Provider

Navigate to Integrations in the left sidebar and click New Integration. An integration provider dropdown is displayed.

Figure 60: Integrations – Select Cloud Provider

Figure 12: Integrations – Select Cloud Provider

2

Select Azure

Select Azure from the dropdown. The modal expands to display the Azure integration configuration.

3

Integration Title

Under Give your integration a title, enter a name for this integration.

4

Storage Account

Under Register your Azure storage account with Tensoract, enter your Azure Storage Account name.

5

Choose Authentication Type

Under Choose authentication type, select one of the following methods:

  • Shared access signature (SAS) (Default): The instruction “Create an account level shared access signature (SAS) and register it with Tensoract” is displayed. Generate an Account SAS externally in the Azure portal and paste it into the authentication field.
    Figure 61: Add Azure Integration – SAS Authentication

    Figure 13: Add Azure Integration – SAS Authentication

  • (Legacy) Azure service principle: The instruction “Add the Tensoract service principal to your Azure Active Directory and register your tenant ID” is displayed. Generate a Tenant ID externally in Azure and paste it into the authentication field.
    Figure 62: Add Azure Integration – Service Principal Authentication

    Figure 14: Add Azure Integration – Service Principal Authentication

6

Configure CORS

A Configure CORS for your storage account instruction is displayed. Ensure your Azure CORS rules are configured correctly. (No input is required for this field).

7

Click Create

Once all required fields (Integration Title, Storage Account, and Authentication details) are completed, the Create button becomes enabled. Click Create.

8

Integration Complete

A success toast “Successfully created integration” appears. The modal closes, and you are redirected to the Integrations list where the newly created Azure integration appears at the top.

Managing and Testing Azure Integrations

On the Integrations list, your Azure integration displays its Integration Name, Storage Account Name, Created At, and Integrated At details.

Figure 63: Integrations List – Azure Integration Options

Figure 15: Integrations List – Azure Integration Options

  • Update SAS token: If you used Shared access signature (SAS) authentication and the token expires, click the Update SAS token button to enter and register a new SAS token for the existing integration.
    Figure 64: Azure Integration – Update SAS Token

    Figure 16: Azure Integration – Update SAS Token

  • Run a Test: Click the Run a Test button to verify access. In the Test Integration popup, enter a valid Azure Blob Storage object URL and click Check Tensoract can access this URL.
    The validation results for Tensoract Infrastructure and This machine will be displayed. Green indicators signify access is successful. If inaccessible, red indicators appear, and you can expand the sections to view the corresponding Azure error messages.
    Figure 65: Test Azure Integration – Enter Object URL and Validation Results

    Figure 17: Test Azure Integration – Enter Object URL and Validation Results

  • Delete Integration: Check the box next to the Azure integration and click Delete. A confirmation popup appears. Type DELETE in the input field and click Delete to permanently remove it. A success toast appears confirming deletion.

Importing Files from Azure Blob Storage

Once an Azure Blob Storage integration is created, you can import files directly from your containers into the platform by navigating to the Files page.

1

Open Upload Files Modal

Go to the Files page and click the Upload Files button. The Upload files modal will open. In that modal, click on the Import from Cloud Storage tab.

2

Select Azure Integration

From the Select Integration dropdown, select your configured Azure Blob Storage integration. The upload area becomes enabled.

Figure 66: Files – Import from Cloud Storage (Select Azure Integration)

Figure 18: Files – Import from Cloud Storage (Select Azure Integration)

3

Select Individual Files

To select individual files, click the Click to upload from Cloud Storage area. The Cloud Storage explorer popup will open, displaying the blobs inside your Azure container. Select the desired files and click Upload. A toast message confirms the files were added.

Figure 67: Azure Blob Storage File Browser – Select Files

Figure 19: Azure Blob Storage File Browser – Select Files

4

Open Specific Folder

To open a specific folder from the bucket, click the Add Folder button. The Add Folder modal appears. Paste the folder path and click Add. If the path is valid, the folder opens and displays the files inside. Select the required files and click Upload. If the path is invalid, an error “This path does not exist” is displayed.

Figure 68: Azure Blob Storage – Add Folder Path

Figure 20: Azure Blob Storage – Add Folder Path

Backend Storage Note
When you import files from Azure Blob Storage, the Tensoract platform only stores a reference to the file (storage account, container name, and blob path). The file binary is not stored locally on the platform. If a file is deleted externally from your Azure Blob Storage container and you attempt to open a task containing it, a “File missing from the Azure Blob Storage container” error popup is displayed.

Release notes - 2026

What’s New in 2026 — new capabilities, refinements, and fixes, in the order they landed.

v0.9 October 6, 2026

Dataset File View

Location: 5. Dataset Setup and Management

We’ve introduced a new Dataset File View in TensorAct, making it easier to browse, preview, and manage files within a dataset. Users can now switch between the existing List view and the new View tab, which displays files as thumbnails with file previews, file names, and quick actions. The new File Viewer allows users to preview files and navigate between them using Previous and Next controls, while supporting file-specific viewing for Images, PDF, PDFOCR, TEXT, CSV, Audio, and Video files. Pagination and items-per-page controls make it easier to navigate large datasets, while file selection allows users to select and delete multiple files directly from the View tab. Additional controls such as file-name copying, media playback, progress tracking, and audio controls provide a more convenient and efficient dataset file management experience.

Change Task Stage from the Project Task List

Location: 8. Projects and Task Management

Project managers and administrators can now quickly change the stage of multiple tasks directly from the Project Task List. By selecting one or more tasks, users can transition tasks to different stages without needing to open each task individually. This enhancement significantly speeds up project management workflows and bulk task tracking.

Azure Blob Storage Integration

Location: 7. Integrations

TensorAct now supports direct integration with Azure Blob Storage. Users can securely connect their Azure storage accounts using either a Shared Access Signature (SAS) Token or a Service Principal. Once connected, users can browse their Azure storage containers directly from the TensorAct interface, select specific folders, and seamlessly import large batches of files into their datasets.

Reviewer Feedback and Pinned Feedback Management

Location: 8. Projects and Task Management

We’ve enhanced the feedback loop between annotators and reviewers. Reviewers can now add detailed feedback and pin specific issues directly to task items. The new issue management panel allows annotators to see all pinned feedback at a glance, reply to comments, and resolve issues systematically, ensuring higher data quality and clearer communication during the review process.

Email Notification Triggers

Location: 17. Email Templates

Administrators can now configure automated email notification templates and triggers. Located in the Settings menu, this feature allows you to customize the content of emails sent to users based on specific system events, keeping project teams instantly informed about task assignments, stage changes, and critical updates.

Uploading and Importing Files

Location: 6. File Management

We have introduced clearer guidelines and limits for file uploads to ensure optimal performance. Users uploading files from their local device can select and upload up to 100 files at a time. For larger batch imports, users leveraging our cloud storage integrations (AWS S3, Google Cloud Storage, or the new Azure Blob Storage) can import up to 25,000 files in a single action.

v0.8 September 8, 2026

Release Summary

Change Type Sections
Added
Updated
Removed No sections removed in this release

Sign-Up & Onboarding

Location: 1. Sign-Up & Onboarding

We’ve introduced a comprehensive Sign-Up and Onboarding system in TensorAct, establishing standardized self-registration and administrator-guided onboarding workflows. Users with verified business email domains can now self-register directly into their company’s workspace, receiving an automated temporary password with mandatory password change enforcement upon first sign-in. For users from unregistered companies, the system detects the domain and provides a streamlined modal to submit a new company registration request to our team. Additionally, the release introduces administrator-initiated user creation with welcome notifications, secure password rotation for pending onboarding invites, and strict email validation rules that reject personal email providers to safeguard platform security.

Deleting Users

Location: 4. User Management

Super Users and Company Admins can now permanently delete user accounts directly from the Users list. The feature supports bulk operations via multi-select checkboxes and incorporates a safety confirmation modal requiring administrators to type DELETE in uppercase to prevent inadvertent deletions. Deletion immediately invalidates active user sessions, presenting an access revocation message upon sign-in. To maintain workflow integrity, in-progress tasks are handled automatically: unsubmitted annotation and review tasks claimed by deleted users are released back to the pool for other team members to claim, while all previously submitted annotations and review decisions remain fully preserved.

Google Cloud Storage (GCS) Integration

Location: 7. Integrations

TensorAct has expanded its cloud storage integrations to include native support for Google Cloud Storage (GCS) alongside AWS S3. Accessible under the Integrations menu, administrators can connect GCS buckets using a secure Google Cloud Service Account permission model without handling static access keys. The platform provides pre-generated CORS setup commands for Google Cloud Shell and includes a built-in integration testing tool to verify bucket connectivity against object URLs. Once configured, users can browse GCS bucket directories, search files, and import large datasets directly into TensorAct from the cloud file browser.

Email Templates

Location: 17. Email Templates

Super Users can now customize and manage automated platform notification emails via the Email Templates interface located in Settings. The platform maps distinct email templates to critical system events, including Password Reset, MFA/OTP verification, new account Welcome messages, company access invitations, project team assignments, and account activation or deactivation alerts. This centralized notification management ensures project teams and users receive clear, automated, and timely communication across the entire user and project lifecycle.

Exporting Results

Location: 8. Projects and Task Management

Users can now export task annotation results directly from the Project Tasks dashboard. The export process packages output data into a structured ZIP archive named after the project (<Project Name>.zip), containing individual JSON files for each task (<Task Name>_<Project Name>.json) to guarantee modular data management. The export scope adapts dynamically based on user selection: teams can export specific manually checked tasks, all displayed tasks using the master checkbox, or filter exports by workflow stage (such as exporting only completed tasks under the Complete node filter).

Code copied to clipboard!