# Introduction

Your comprehensive guide to Labii - the all-in-one platform for laboratory data management, electronic lab notebooks, and scientific workflows.

Welcome to the Labii Documentation! This comprehensive resource will help you master Labii, the modern platform that transforms how laboratories and research organizations manage their data, workflows, and operations.

## What is Labii?

Labii is a next-generation, cloud-based laboratory management platform that unifies all your research and operational needs in one place. Unlike traditional systems that force you to juggle separate tools for different tasks, Labii provides an integrated solution that combines:

* **Electronic Lab Notebook (ELN)** - Document experiments and research activities
* **Laboratory Information Management System (LIMS)** - Track samples and workflows
* **Inventory Management** - Monitor reagents, supplies, and equipment
* **Project Management** - Coordinate research projects and team collaboration
* **Customer Relationship Management (CRM)** - Manage client relationships and orders
* **And much more** - Equipment tracking, document management, compliance tools, and custom applications

### Why Labii is Different

#### 1. All-in-One Modular Platform for Scientific Research

Labii eliminates the need for multiple disconnected systems. Instead of juggling separate tools for notebooks, inventory, samples, and projects, you get a unified platform where everything works together seamlessly. This modular approach means you can start with what you need today and expand as your requirements grow.

#### 2. Build Your Own Research Applications

Empower your team to design the exact tools they need. With Labii, users can create and deploy custom modules without writing code — perfect for unique workflows, specialized data structures, or niche scientific domains. Whether you're tracking rare disease samples, managing custom assays, or documenting specialized protocols, you can build applications that fit your exact requirements.

#### 3. Fully Customizable — Now and for the Future

Every aspect of Labii can be tailored to your needs. From table structures and data fields to workflows and user permissions, you control how the platform works. As your research evolves, your tools evolve with you — no need to switch platforms or wait for vendor updates.

#### 4. Widgets for Every Scientific Discipline

Labii's unique widget system allows you to build custom applications and workflows without coding. Each widget serves a specific purpose—from text and file storage to calculations and data visualization. With widgets designed for chemistry, biology, materials science, and more, you have the building blocks to create solutions that match your laboratory's exact needs.

#### 5. Built-in Workflow Automation

Automate repetitive tasks and standardize processes across your team. Set up approval chains, automatic notifications, scheduled reports, and data validation rules. Labii's workflow engine ensures consistency while freeing your team to focus on science, not administrative tasks.

#### 6. AI-Powered Documentation

Leverage artificial intelligence to enhance your documentation process. Generate experiment summaries, extract insights from data, suggest protocol improvements, and maintain consistent formatting. AI assistance makes documentation faster and more comprehensive without compromising quality.

#### 7. Integrate with Your Tools and Devices

Connect Labii to your existing laboratory ecosystem. Integration with instruments, analytical software, storage systems, and third-party services ensures smooth data flow. Support for APIs, webhooks, and automated imports means your data is always synchronized and accessible.

#### 8. Compliant with Industry Standards

Built with regulatory compliance in mind, Labii supports GLP, GMP, FDA 21 CFR Part 11, ISO 17025, and other industry standards. Every action is tracked in a comprehensive audit trail, ensuring data integrity and traceability. Electronic signatures, version control, and secure archiving provide the documentation required for regulatory inspections.

#### 9. Enterprise-Grade Security

Your research data is protected with bank-level security measures. Features include role-based access control, encryption at rest and in transit, multi-factor authentication, SOC 2 compliance, and regular security audits. Data backup and disaster recovery systems ensure your information is never lost.

#### 10. Trusted by Scientists Worldwide

Research teams across academia, biotechnology, pharmaceuticals, and diagnostics rely on Labii daily. From small startups to global enterprises, scientists trust Labii to manage their most critical data and accelerate their research outcomes.

## Who Uses Labii?

Labii serves diverse scientific and research organizations:

* **Academic Research Labs** - Document experiments, manage protocols, and collaborate on publications
* **Biotech & Pharma Companies** - Track samples, manage clinical trials, and ensure regulatory compliance
* **Contract Research Organizations (CROs)** - Handle multiple client projects with complete data segregation
* **Diagnostic Laboratories** - Process samples, generate reports, and maintain quality standards
* **Core Facilities** - Manage equipment, track usage, and coordinate shared resources
* **Quality Control Labs** - Document testing procedures and maintain compliance records

## Key Benefits

{% hint style="success" %}
**Single Source of Truth**: Consolidate all your laboratory data in one secure, accessible platform. No more switching between multiple systems or searching through disconnected files.
{% endhint %}

* **Eliminate Tool Sprawl** - Replace 5-10 disconnected tools with one integrated platform
* **Ensure Data Integrity** - Automated audit trails and version control for all records
* **Accelerate Collaboration** - Real-time sharing and commenting across teams and locations
* **Scale with Confidence** - From small labs to enterprise organizations, Labii grows with you
* **Customize Without Coding** - Configure applications and workflows using intuitive interfaces
* **Integrate Seamlessly** - Connect with external systems via robust APIs and webhooks
* **Maintain Compliance** - Meet regulatory requirements with built-in controls and documentation

## Getting Started

### Quick Start Guide

{% hint style="info" %}
**New to Labii?** Start here to get up and running in minutes.
{% endhint %}

Visit our [Quick Start Guide](/getting-started/quick-start) to:

* Understand Labii's basic structure and navigation
* Create your first project and record
* Add data using widgets
* Search and filter your information
* Share and collaborate with team members

The Quick Start will have you working productively in Labii within 15 minutes.

## Documentation Sections

### 📖 User Guide

The [User Guide](https://github.com/Labii/labii-gitbook-docs/blob/gitbook/user-guide/README.md) is designed for scientists, researchers, and laboratory personnel using Labii daily. Learn how to:

* **Navigate the interface** - Understand menus, toolbars, and navigation patterns
* **Create and edit records** - Document experiments, samples, and other data
* **Use widgets effectively** - Master text entry, file attachments, calculations, and visualizations
* **Search and filter** - Find exactly what you need from your data
* **Collaborate with teams** - Share records, add comments, and work together
* **Export and report** - Generate reports and export data for analysis

### ⚙️ Admin Guide

The [Admin Guide](https://github.com/Labii/labii-gitbook-docs/blob/gitbook/admin-guide/README.md) is for system administrators and project managers who configure and customize Labii. Discover how to:

* **Configure tables and columns** - Design the structure of your applications
* **Manage users and permissions** - Control access and maintain security
* **Set up workflows** - Automate processes and standardize procedures
* **Create custom applications** - Build solutions specific to your laboratory's needs
* **Integrate with other systems** - Connect Labii to your existing tools
* **Manage subscriptions and billing** - Handle organizational settings

### 🧩 Widgets

Widgets are the building blocks that make Labii infinitely flexible. The [Widgets Documentation](https://github.com/Labii/labii-gitbook-docs/blob/gitbook/widgets/README.md) provides:

* **Complete widget catalog** - Browse all available widget types
* **Configuration guides** - Learn how to set up each widget
* **Use case examples** - See widgets in action across different scenarios
* **Best practices** - Optimize your widget configurations for efficiency

Widget categories include:

* **Data Entry Widgets** - Text, rich text, number, date, dropdown, and more
* **File Widgets** - Upload files, images, and organize documents
* **Calculation Widgets** - Perform automatic calculations and data processing
* **Visualization Widgets** - Create charts, graphs, and visual representations
* **Integration Widgets** - Connect to external services and APIs

### 🔌 API & SDK

For developers and system integrators, the [API Documentation](https://github.com/Labii/labii-gitbook-docs/blob/gitbook/api/README.md) offers:

* **RESTful API reference** - Complete endpoint documentation
* **Authentication guides** - OAuth2 and API key setup
* **Python SDK** - Official Python library with examples
* **JavaScript SDK** - Official JavaScript library for web integrations
* **Integration examples** - Common use cases and implementation patterns
* **Webhooks** - Real-time notifications and event handling

Automate workflows, build custom integrations, and extend Labii's capabilities programmatically.

### 📦 Applications

Labii includes pre-configured applications for common laboratory needs. Explore the [Applications Guide](https://github.com/Labii/labii-gitbook-docs/blob/gitbook/applications/README.md) to find:

* **Electronic Lab Notebook** - Comprehensive experiment documentation
* **Inventory Management** - Track reagents, consumables, and supplies
* **Sample Management** - Manage biological and chemical samples
* **Equipment Management** - Schedule maintenance and track usage
* **Project Management** - Organize research projects and milestones
* **CRM** - Manage customer relationships and orders
* **Mouse Colony Management** - Track breeding and animal care
* **Document Management** - Centralize SOPs, protocols, and policies

Each application guide includes setup instructions, configuration tips, and best practice recommendations.

## Support & Resources

### Getting Help

We're here to ensure your success with Labii:

* **📚** [**Documentation**](https://docs.labii.com) - Comprehensive guides and tutorials (you are here!)
* **💬** [**Live Chat**](/support/chat-with-us) - In-app chat support during business hours
* **🎫** [**Support Tickets**](/support/tickets) - Submit detailed support requests
* **📧** [**Email Support**](mailto:support@labii.com) - Direct assistance from our team
* **📅** [**Schedule a Meeting**](/support/schedule-a-meeting) - Book a consultation with our experts
* **📺** [**Video Tutorials**](/support/videos) - Watch step-by-step training videos

### Additional Resources

* [**FAQ**](/support/faq) - Answers to frequently asked questions
* [**Blog**](/support/blogs) - Tips, best practices, and product updates
* [**Training Services**](/support/support) - Professional onboarding and customization assistance
* [**Community Forum**](/support/support) - Connect with other Labii users

## Start Your Journey

Whether you're conducting groundbreaking research, managing a diagnostic lab, or running a biotech startup, Labii provides the tools you need to work smarter, faster, and more efficiently.

{% hint style="success" %}
**Ready to get started?** Head to the [Quick Start Guide](/getting-started/quick-start) and begin transforming your laboratory workflows today!
{% endhint %}

***

*Last updated: November 2025*


# Quick Start

Get started with Labii in minutes. Learn the basics of navigating the platform, creating records, and managing your laboratory data.

Welcome to Labii! This guide will have you up and running in just 15 minutes. Whether you're documenting experiments, tracking inventory, managing samples, or coordinating projects, you'll learn the essential skills to start using Labii effectively.

{% hint style="success" %}
**New to Labii?** This is the perfect place to start. Follow along to understand the platform's structure and complete your first tasks.
{% endhint %}

## Understanding Labii's Structure

Before diving in, let's understand how Labii organizes your data. Think of it as a filing system designed specifically for scientific work:

### 📱 Applications

[Applications](/admin-guide/applications) are high-level containers that group related functionality together. Each application serves a distinct purpose in your laboratory workflow.

**Common examples:**

* **Electronic Lab Notebook (ELN)** - Document experiments and protocols
* **Inventory Management** - Track reagents and supplies
* **Sample Management** - Manage biological and chemical samples
* **CRM** - Handle customer relationships and orders
* **Equipment Management** - Schedule and maintain laboratory instruments

### 📊 Tables

Within each application, [Tables](/admin-guide/tables) define the structure of your data. A table is like a specialized database designed for a specific type of information.

**Examples:**

* An **Experiments** table in your ELN application
* A **Reagents** table in your Inventory application
* A **Cell Lines** table in your Sample Management application
* A **Customers** table in your CRM application

Each table has predefined columns and widgets that determine what information can be captured and how it's displayed.

### 📝 Records

Records are individual entries in a table—the actual data you create and manage daily. Each record represents one item, experiment, sample, or entity.

**Examples:**

* A single experiment documented in your lab notebook
* One bottle of reagent in your inventory
* An individual cell line in your sample collection
* A specific customer in your CRM

{% hint style="info" %}
**The Hierarchy**: Organization → Applications → Tables → Records. This modular structure gives you flexibility to organize data exactly how your lab works.
{% endhint %}

## Your First Steps in Labii

### Logging In and Navigating

{% stepper %}
{% step %}
**Access Labii**

Navigate to your organization's Labii instance (typically `yourlab.labii.com`) and log in with your credentials.
{% endstep %}

{% step %}
**Explore the Interface**

Familiarize yourself with the main navigation elements:

* **Top Navigation Bar** - Access your profile, notifications, and global search
* **Side Menu** - Browse applications and tables
* **Main Content Area** - View and interact with your data

Learn more about the interface in our [Interface Guide](/user-guide/interface).
{% endstep %}

{% step %}
**Select an Application**

From the side menu, expand an application to see its tables. Click on any table name to view its contents.
{% endstep %}
{% endstepper %}

### Creating Your First Record

Let's create a record to get hands-on experience with Labii.

{% stepper %}
{% step %}
**Navigate to a Table**

From the side menu, click on the table where you want to add a record. This opens the [List View](/user-guide/list-view) showing all existing records in that table.
{% endstep %}

{% step %}
**Click "Add Record"**

Look for the **"Add \[Record Type]"** button in the top right corner of the List View. Click it to open the creation form.
{% endstep %}

{% step %}
**Fill in Required Information**

Complete the fields presented by the widgets. Required fields are typically marked with an asterisk (\*). Different widgets handle different types of data:

* **Text widgets** - Enter names, descriptions, or notes
* **Date widgets** - Select dates and times
* **Dropdown widgets** - Choose from predefined options
* **Number widgets** - Enter numeric values
* **File widgets** - Upload documents or images

Learn more about widgets in our [Widgets Documentation](https://github.com/Labii/labii-gitbook-docs/blob/gitbook/widgets/README.md).
{% endstep %}

{% step %}
**Submit Your Record**

Click the **"Submit"** or **"Save"** button to create your record. You'll be redirected to the Detail View of your newly created record.
{% endstep %}
{% endstepper %}

{% hint style="success" %}
**Congratulations!** You've created your first record in Labii. This is the foundation of how you'll document and manage all your laboratory data.
{% endhint %}

### Viewing and Managing Records

#### Working with List View

The [List View](/user-guide/list-view) is your command center for browsing and managing multiple records.

**Key features:**

* **Search** - Find records quickly using the search bar
* **Filter** - Apply filters to narrow down results by specific criteria
* **Sort** - Click column headers to sort records
* **Select** - Check boxes to perform bulk actions on multiple records
* **Export** - Download data in various formats (CSV, Excel, PDF)
* **Customize** - Adjust which columns are visible and their order

#### Opening the Detail View

To examine or edit a single record in depth:

{% stepper %}
{% step %}
**Click on a Record**

From the List View, click on any record's title or name to open it.
{% endstep %}

{% step %}
**Explore the Detail View**

The [Detail View](/user-guide/detail-view) displays all information about the record, organized into sections. Here you can:

* View all data fields and their values
* Edit information by clicking on individual widgets
* Add new sections to expand the record
* Upload and attach files
* View the complete audit trail and version history
* Add comments and collaborate with team members
* Print or export the record
  {% endstep %}

{% step %}
**Make Changes**

Click on any editable field to modify it. Changes are typically saved automatically or with a "Save" button, depending on the widget type.
{% endstep %}
{% endstepper %}

### Essential Skills Checklist

Before moving on, make sure you can:

* [ ] Navigate between applications and tables
* [ ] Open the List View of any table
* [ ] Create a new record with required information
* [ ] Find and open a record in Detail View
* [ ] Edit an existing record
* [ ] Search for records in the List View

## Next Steps

Now that you understand the basics, explore these resources to become more proficient:

### 📖 Dive Deeper

* [**User Guide**](https://github.com/Labii/labii-gitbook-docs/blob/gitbook/user-guide/README.md) - Comprehensive guides for daily tasks
* [**Widgets Documentation**](https://github.com/Labii/labii-gitbook-docs/blob/gitbook/widgets/README.md) - Master all widget types for data entry
* [**Interface Overview**](/user-guide/interface) - Detailed explanation of all interface elements
* [**Add Record Guide**](/user-guide/add-record) - Advanced record creation techniques

### ⚙️ For Administrators

If you're setting up Labii for your team:

* [**Admin Guide**](https://github.com/Labii/labii-gitbook-docs/blob/gitbook/admin-guide/README.md) - Configure applications, tables, and permissions
* [**Applications Setup**](/admin-guide/applications) - Create custom applications
* [**Tables Configuration**](/admin-guide/tables) - Design table structures
* [**Widgets Setup**](/admin-guide/widgets) - Configure widgets for your needs

### 🤝 Get Training and Support

#### Schedule Personalized Training

Get tailored onboarding from our team. We offer training for both end users and administrators.

{% hint style="info" %}
[**Book your training session →**](https://training60.schedule.labii.com)

Our experts will guide you through setup, configuration, and best practices specific to your laboratory's needs.
{% endhint %}

#### Access Support Resources

Need help? We're here for you:

* **📚** [**Documentation**](https://docs.labii.com) - Comprehensive guides and tutorials
* **💬** [**Live Chat**](/support/chat-with-us) - In-app support during business hours
* **🎫** [**Support Portal**](https://support.labii.com) - Submit tickets and track requests
* **📧** [**Email Support**](mailto:support@labii.com) - Direct assistance from our team
* **📺** [**Video Tutorials**](/support/videos) - Watch step-by-step demonstrations
* **❓** [**FAQ**](/support/faq) - Answers to common questions

## Tips for Success

{% hint style="success" %}
**Start Simple**: Begin with basic record creation and gradually explore advanced features as you become comfortable with the platform.
{% endhint %}

{% hint style="info" %}
**Explore Freely**: Labii includes comprehensive audit trails and version control, so you can experiment without fear of losing data.
{% endhint %}

{% hint style="warning" %}
**Ask Questions**: Don't hesitate to use the in-app chat or contact support. We're here to ensure your success with Labii.
{% endhint %}

***

**Ready to start?** Log into Labii and create your first record. You'll be managing your laboratory data like a pro in no time!

## Next Steps

Now that you understand the basics, explore these resources to become more proficient:

### 📖 Dive Deeper

* [**User Guide**](https://github.com/Labii/labii-gitbook-docs/blob/gitbook/user-guide/README.md) - Comprehensive guides for daily tasks
* [**Widgets Documentation**](https://github.com/Labii/labii-gitbook-docs/blob/gitbook/widgets/README.md) - Master all widget types for data entry
* [**Interface Overview**](/user-guide/interface) - Detailed explanation of all interface elements
* [**Add Record Guide**](/user-guide/add-record) - Advanced record creation techniques

### ⚙️ For Administrators

If you're setting up Labii for your team:

* [**Admin Guide**](https://github.com/Labii/labii-gitbook-docs/blob/gitbook/admin-guide/README.md) - Configure applications, tables, and permissions
* [**Applications Setup**](/admin-guide/applications) - Create custom applications
* [**Tables Configuration**](/admin-guide/tables) - Design table structures
* [**Widgets Setup**](/admin-guide/widgets) - Configure widgets for your needs

### 🤝 Get Training and Support

#### Schedule Personalized Training

Get tailored onboarding from our team. We offer training for both end users and administrators.

{% hint style="info" %}
[**Book your training session →**](https://training60.schedule.labii.com)

Our experts will guide you through setup, configuration, and best practices specific to your laboratory's needs.
{% endhint %}

#### Access Support Resources

Need help? We're here for you:

* **📚** [**Documentation**](https://docs.labii.com) - Comprehensive guides and tutorials
* **💬** [**Live Chat**](/support/chat-with-us) - In-app support during business hours
* **🎫** [**Support Portal**](https://support.labii.com) - Submit tickets and track requests
* **📧** [**Email Support**](mailto:support@labii.com) - Direct assistance from our team
* **📺** [**Video Tutorials**](/support/videos) - Watch step-by-step demonstrations
* **❓** [**FAQ**](/support/faq) - Answers to common questions

## Tips for Success

{% hint style="success" %}
**Start Simple**: Begin with basic record creation and gradually explore advanced features as you become comfortable with the platform.
{% endhint %}

{% hint style="info" %}
**Explore Freely**: Labii includes comprehensive audit trails and version control, so you can experiment without fear of losing data.
{% endhint %}

{% hint style="warning" %}
**Ask Questions**: Don't hesitate to use the in-app chat or contact support. We're here to ensure your success with Labii.
{% endhint %}

***

**Ready to start?** Log into Labii and create your first record. You'll be managing your laboratory data like a pro in no time!


# Interface

Labii’s interface design is centered around simplicity and efficiency, featuring a fixed top navigation bar, a collapsible side menu on the left, and a spacious main content area on the right

Labii’s interface design is centered around simplicity and efficiency, featuring a fixed top navigation bar, a collapsible side menu on the left, and a spacious main content area on the right. The top navbar provides quick access to global controls, while the side menu organizes features and functionalities in a clear hierarchy for seamless navigation. When a page includes a second side menu, the main side menu can collapse into an icon rail so users can keep navigation available while maximizing workspace. The main body is optimized for displaying data and performing tasks, ensuring users can access their desired results with minimal clicks. This layout prioritizes usability, allowing users to focus on their work without unnecessary distractions or complexity.

<figure><img src="/files/fLIRPHlptBB3W1DGJtoi" alt=""><figcaption></figcaption></figure>

## Navbar

The Labii Navbar is a fixed navigation bar at the top of the platform, designed to provide quick access to essential functions and branding. It is an integral part of the user interface, offering both functionality and customization to align with users’ needs and organizational branding.

By leveraging the Labii Navbar, users can navigate and utilize the platform more efficiently, all while maintaining a personalized and branded experience.

### Features

1. Global Search
   1. Functionality:
      1. Enables users to search for any data stored within the Labii platform.
      2. Includes the ability to ask questions about how to use Labii features, offering an intuitive help experience.
   2. Usage:
      1. Enter keywords in the search bar to quickly locate records, documents, or instructions.
2. Scan Function
   1. Functionality:
      1. Provides a button to scan barcodes or QR codes, allowing for instant access to lab inventory details.
   2. Usage:
      1. Click the “Scan” icon, align your device camera with the barcode or QR code, and retrieve inventory information in real time.
3. Support Menu Dropdown
   1. Functionality:
      1. Offers quick access to support resources, including documentation, FAQs, and contact options for technical assistance.
   2. Usage:
      1. Click the support menu icon and select the appropriate resource from the dropdown list.
4. User Info Dropdown
   1. Functionality:
      1. Displays the name and profile picture of the logged-in user for easy identification.
      2. Provides a dropdown menu to access user profiles, account settings, and logout options.
   2. Usage:
      1. Click on the user info icon to view or manage your account details.

### Branding Customization

Labii allows users to personalize the navbar to align with their organization’s branding. Customizable options include:

1. Logo: Upload and display the company logo in the navbar.
2. Background Color: Change the navbar’s background color to match organizational branding.
3. Text Color: Customize the color of text displayed in the navbar for enhanced visual alignment.

## Side Menu

The Labii Side Menu is a dynamic navigation panel located on the left side of the interface, designed to adapt based on the type of page you are viewing. It provides essential context by displaying the type of data currently being accessed, along with breadcrumbs to help users understand their location within the platform. The side menu also features action buttons for performing relevant tasks, as well as quick access links to associated information, ensuring seamless navigation and efficient workflows. Users can show or hide the side menu as needed, and when a second side menu is present, the main side menu can collapse into an icon rail. This adaptive design enhances usability by presenting only the most pertinent options and information for the user’s current task.

## Main Body

The Labii Main Body is the primary content area where the core functionality of the platform unfolds. It dynamically adjusts to display the major page content based on the selected view. In the List View, it presents a structured list of records, allowing users to browse, filter, and manage data efficiently. In the Detail View, it focuses on providing comprehensive, relevant information for a specific record, including metadata, associated data, and actionable options. Designed for clarity and productivity, the Main Body ensures users can quickly access and interact with the information they need to achieve their goals.


# Side Menu

Access navigation, shortcuts, and organization actions from Labii's side menu.

## Overview

The side menu is the main navigation panel in Labii. It gives you quick access to common areas such as the dashboard, notifications, projects, applications, and settings.

On some pages, Labii displays a second side menu with page-specific options. When that happens, the main side menu can collapse into an icon rail so you have more space to work without losing access to navigation.

## Show or hide the side menu

You can hide the side menu when you need more room on the screen and show it again at any time.

When a second side menu is present, Labii supports collapsing the main side menu into an icon rail. The icon rail keeps the main navigation available in a compact view while the second side menu remains open.

Use the side menu control to switch between these states:

1. Show side menu to expand the full menu.
2. Hide side menu to collapse the menu.
3. Use the icon rail to keep navigation visible in a compact layout when a second side menu is open.

## Main navigation

### Universal add button

The universal add button in Labii allows you to create a new record, such as an experiment, protocol, file, etc. To add a new record, simply press the green universal add button.

For more information on adding new records, see [Add Record](/user-guide/add-record).

### Dashboard

A dashboard is a representation of your data that can be customized with widgets. For more information, see [Dashboard](/user-guide/side-menu/dashboard).

### Notifications

Labii provides users with notifications, which are messages that include reminders, communication from other users, or other relevant information. The notification center in Labii allows users to stay updated on activities within the ELN/LIMS and unread notifications are displayed in the sidebar menu. For more information, see [Notifications](/user-guide/side-menu/notifications).

### Projects / Folders

A project functions as a container for records, similar to a folder. The sidebar displays all the projects that are accessible to the user. The project holds all the related records. For more information, see [Project List View](/user-guide/list-view/project-list-view).

### Applications / Tables

An application is a collection of tables created in Labii for domain-specific data management. Tables serve as individual modules to manage the research data for a particular category. For more information, see [Table List View](/user-guide/list-view/table-list-view).

## Organization actions

### Settings

In the settings interface, all the configurations for your organization can be accessed. Only Administrators have the power to make any changes to the settings. This interface allows you to customize and personalize your organization according to your needs. Learn more in [Organization](/admin-guide/organization).

### Reload organization

Labii preloads some of your account information into the local browser to speed up the user experience. For example, we downloaded all of your tables so that the system does not need to download the data every time a table is clicked. This reload organization allows you to refresh these data and is best used when the project or table has been updated.

### Switch organization

This feature allows users with accounts in multiple organizations to choose which organization's Electronic Lab Notebook (ELN) and Laboratory Information Management System (LIMS) they want to use. For more information, see [Switch Organization](/user-guide/side-menu/switch-organization).

### Reload page

Use Reload Page to load the latest version of the current page.


# Views

Labii offers three distinct views to streamline data management and interaction: the Form View, List View, and Detail View.

## Overview

Labii offers three distinct views to streamline data management and interaction: the Form View, List View, and Detail View. The Form View provides a user-friendly interface for creating new records or modifying existing data through a structured form. The List View displays records in a tabular format, enabling users to efficiently manage and organize multiple records at once. Finally, the Detail View focuses on presenting the specific content of a single record, offering a clear and comprehensive overview. Together, these views provide a versatile and intuitive platform for handling professional data effectively.

## Form View

Labii’s Form View is designed for efficient data entry and record management, featuring a user-friendly layout with a side menu on the left, a form body in the center, and form documentation on the right for guidance and context. This view supports various types of forms to cater to different needs: the Record Add Form allows users to add a new record with ease, while the Record Batch Add Form enables the simultaneous addition of multiple records, streamlining bulk data entry. This flexibility makes the Form View an essential tool for managing professional data in Labii.

## List View

Labii’s List View is a powerful tool for managing and organizing multiple records efficiently. The layout includes a side menu on the left for quick navigation and a comprehensive list of records on the right, presented in a tabular format for easy viewing and interaction. Users can perform various actions such as sorting, filtering, and selecting records to streamline workflows and maintain data accuracy. The List View is designed to enhance productivity by simplifying the management of large datasets within Labii.

## Detail View

Labii’s Detail View provides a focused and customizable interface for viewing the detailed content of a single record. The layout includes a side menu on the left for seamless navigation and a main body on the right where the record’s details are displayed. To cater to diverse research needs, Labii offers various types of Detail Views, each designed to present record information in a format that best suits specific use cases. This flexibility ensures that users can access and interpret their data in the most effective and intuitive way.

## Stepper View

Labii’s Stepper View is designed to simplify complex tasks by guiding users through a series of sequential steps. This intuitive interface ensures that users can complete intricate workflows with clarity and precision. The Stepper View currently supports several key functionalities: Import Records, which walks users through the process of uploading and mapping data; Bulk Edit Record Columns, enabling users to make changes to multiple record fields simultaneously; and Bulk Edit Record Sections, which allows for efficient updates to specific sections across multiple records. By breaking tasks into manageable steps, the Stepper View enhances user productivity and reduces errors.


# Add Record

Add new record to Labii

## Overview

A record refers to an experiment, a protocol, a file, et.al in Labii [Electronic Lab Notebook (ELN)](https://www.labii.com/electronic-lab-notebook-eln) and [Laboratory Information Management System (LIMS)](https://www.labii.com/laboratory-information-management-system-lims). [Labii](https://www.labii.com/) has developed many methods to smooth your user's experiments in creating records.

### Add from form vs. Add directly

Different records need to be added in different ways based on different requirements. In the [ELN (Electronic Lab Notebook)](https://www.labii.com/electronic-lab-notebook-eln), an entry is usually created directly. A record can be created quickly this way. For [LIMS](https://www.labii.com/laboratory-information-management-system-lims) or [Inventory Management](https://www.labii.com/inventory-management), where several attributions need to be collected before creating a record, a form must be filled out before the record can be created.

The administrators can control how a record is added by updating the `should_add_from_form` in the table settings (Settings -> Table -> Select a table). To ensure the user fills out a form before a record is created, set the value to `true`. Set the value to `false` to create a record without completing the form.

### Four ways to add a record

In [Labii](https://www.labii.com/), a new record can be added to a table in three ways:

* [**Add a blank record.**](/user-guide/add-record/add-a-blank-record) It will create a blank record without any data.
* [**Add a record from a template**](/user-guide/add-record/add-a-record-from-a-template) **or duplicate a record.** To reduce repetitive work, a template can be used to create a similar record. The created record will contain the same data (columns, sections, notes, signers) as the template.
* [**Add a record from one or many local files.**](https://github.com/Labii/labii-gitbook-docs/blob/gitbook/user-guide/add-record/broken-reference/README.md) In some tables, the record you create is a simple container of files, so you can use this method to upload files and create a record at the same time. The uploaded files will be inserted directly into the record's sections/notes.
* [**Import records.**](/user-guide/list-view/import) By using the import function, multiple records can be generated simultaneously.

## Execute workflows

Select workflows to execute upon submission of the form. Use this field if you want to create 5 vials when a sample is created.

Use this function when:

1. You want to execute workflows without triggers.
2. You want to execute workflows which already have a trigger but do not trigger when this form is submitted.

You should not select the workflow that already has a trigger when this form is submitted. The workflow will be executed automatically. If selected, it might end up running twice.

**This function applies to:**

* Add a blank record
* Add records in bulk
* Add a record from a template
* Add a template
* Import records


# Add a project

Add a project or folder.

Using the **Add** button on the side menu, you can add a project or a folder. Learn more about the projects at [here](/admin-guide/projects).

![](/files/7sq0jRxUqU3slnbbdaTR)

## Add top project

Select **Top project** to add a top project.

## Add subproject

When a project or folder is clicked/selected, the option **Subproject of xxx** will appear. Subprojects can be added by selecting this option.


# Add a Blank Record

Add a blank experiment, sample, or other record type.

The Add a Blank Record function allows users to manually create a new, empty record in any table — such as Experiments, Samples, Projects, or other data types.

This method is best suited when you want to add one single record and fill in all information manually through the form interface.

Unlike bulk import or template-based creation, which are optimized for multiple entries or prefilled content, Add a Blank Record gives you a clean, customizable starting point to record unique data.

<figure><img src="/files/eg8ol1Fyg2cnI4M8BFNy" alt=""><figcaption></figcaption></figure>

## Open Add Blank Record Form

There are 3 ways to open add blank record form:

### 1. Add from Side Menu

{% stepper %}
{% step %}
Click the Add button in the left-side menu.

<figure><img src="/files/0Zl1WbISpN5PkJ4jIf1c" alt="" width="188"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
A list of available tables will appear. Use the search box to filter and locate the table you want.
{% endstep %}

{% step %}
Select a table (e.g., *Experiments*, *Samples*) to create a blank record.
{% endstep %}

{% step %}
Add Record form interface will be opened
{% endstep %}
{% endstepper %}

### 2. Add from Table List View

From any Table List View, you can also create a new blank record.

{% stepper %}
{% step %}
Click the Add \[Table Name] button in the navigation bar.
{% endstep %}

{% step %}
In the dropdown, select Add Blank Record.

<figure><img src="/files/Dpg8rckLCtBOdi4Z7ziC" alt="" width="230"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
The blank record form will open, allowing you to input data.
{% endstep %}
{% endstepper %}

### 3. Add from Project List View

In the Project List View, you can create a new record linked to your project.

{% stepper %}
{% step %}
Click the + Add button in the top navigation bar.
{% endstep %}

{% step %}
From the dropdown, select Add Blank Record.
{% endstep %}

{% step %}
Choose the desired table to add the record to.
{% endstep %}
{% endstepper %}

## Side Menu

When you are in the *Add Record* interface, Labii provides several convenient side menu tools to help streamline data entry and maintain data integrity.

### AI Assistant

The AI Assistant helps you quickly populate form fields by interpreting structured or descriptive text input. Simply paste your data, and the AI will generate a JSON response that can be applied to your form.

<figure><img src="/files/1dNL4aMCjFGnIJAFmYpv" alt=""><figcaption></figcaption></figure>

{% stepper %}
{% step %}
Click the **AI Assistant** button in the side menu to open the AI Assistant panel on the right.
{% endstep %}

{% step %}
Paste your form data or details into the input field and press Enter to submit.
{% endstep %}

{% step %}
Review the AI-generated JSON response.
{% endstep %}

{% step %}
Choose how to apply the data:

* Click **Update** to fill only empty fields (preserves existing data)
* Click **Overwrite** to replace all fields, including those with existing data
  {% endstep %}

{% step %}
If needed, click **Edit response** to manually modify the AI-generated JSON before applying it.
{% endstep %}

{% step %}
Optionally, click **Copy** to copy the AI response to your clipboard for other uses.
{% endstep %}
{% endstepper %}

#### Form GPTs

Labii provides two specialized Form GPTs to help you interpret and populate form data:

**FormDataParseGPT**

* Extracts form data from provided text with high accuracy
* Ideal for parsing structured information like contact details from email signatures, specifications from documents, or metadata from descriptions
* Best used when you have descriptive text containing specific data points

**FormDataGenerationGPT**

* Generates form data based on general information and context
* Uses intelligent inference to populate fields when exact data isn't provided
* Less precise than FormDataParseGPT but useful for filling non-critical fields or generating sample data
* Best suited for fields that don't require exact descriptive information

{% hint style="info" %}
For optimal accuracy, use FormDataParseGPT when extracting specific information from text. Use FormDataGenerationGPT when you need to quickly populate forms with reasonable default values.
{% endhint %}

### Check Duplicate

Click Check Duplicate before saving to verify whether another record with the same name already exists.

This ensures data consistency and prevents duplicate entries in your table.

### Save as Default

Administrators can click Save as Default to store the current form’s data as the default template for future records in the same table.

The next time a new record is added, these default values will automatically be preloaded.

You can also adjust these defaults later by editing the `default_add_query` in the [table settings](/admin-guide/tables).

## Form Link

When you click **Documentation**, a link to the current form will appear. You can use this link to create or build a workflow.

## Form Query

The form can be customized with the following query parameters.

* Parameter to prepopulate data - Use `bHN6R2RhdGFud0ZP` to preassign data to the form. The value is a JSON string.
* Parameter to submit the form automatically - Use `MAZFNvXcgdMg` to submit the form automatically.
* Parameter to hide fields - Use `dUJJUGZpZWxkc19oaWRkZW53Rk9Y` to hide fields.
* Parameter to disable fields - Use `d0RLUmZpZWxkc19kaXNhYmxlZHlIUVo_` to disable fields.
* Parameter to make fields as required - Use `d0RLUmZpZWxkc19yZXF1aXJlZHlIUVo_` to make fields as required.


# Add records in bulk

Efficiently create multiple records simultaneously to streamline laboratory data entry

## Overview

The bulk record addition feature in Labii enables you to create multiple records simultaneously, significantly streamlining data entry for repetitive or similar information. This functionality is particularly valuable when working with:

* Multiple samples from the same experimental batch
* Serial inventory items of the same type
* Sets of tasks with similar parameters
* Collections of related experimental data points

By eliminating redundant manual entry, bulk addition reduces errors, saves time, and increases laboratory productivity.

{% hint style="success" %}
Bulk addition is ideal when you need to create 5 or more similar records at once. For smaller quantities, consider using the standard single-record addition method.
{% endhint %}

## Starting bulk record addition

You can initiate bulk record addition from three different locations in Labii:

### From table list view

{% stepper %}
{% step %}
Navigate to the [Table List View](/user-guide/list-view/table-list-view) for your desired record type
{% endstep %}

{% step %}
Click the **Add xxx** dropdown button
{% endstep %}

{% step %}
Select **Add x records in bulk** from the dropdown menu
{% endstep %}
{% endstepper %}

### From selected records

{% stepper %}
{% step %}
In the Table List View, select one or more existing records by checking their boxes
{% endstep %}

{% step %}
Click the **Use selected** dropdown button
{% endstep %}

{% step %}
Choose [**Add records in bulk**](/user-guide/list-view/bulk-operations/use-selected-to-bulk-add-records) from the options
{% endstep %}
{% endstepper %}

### From a ForeignKey section

{% stepper %}
{% step %}
Open a record containing a [Record List by ForeignKey](/widgets/section-widgets/data-display/record-list/record-list-by-foreignkey) section
{% endstep %}

{% step %}
Click the **Add xxx** dropdown within that section
{% endstep %}

{% step %}
Select **Add x records in bulk**
{% endstep %}
{% endstepper %}

## Using the bulk addition interface

The bulk addition interface uses a step-by-step wizard approach to guide you through the process:

<figure><img src="/files/PoQLYhQIKV1FXSFgRQqO" alt="Bulk record addition interface showing step navigation on the left and data entry fields on the right"><figcaption><p>The bulk addition interface with step progress sidebar and main data entry area</p></figcaption></figure>

### Interface components

* **Left sidebar**: Displays all steps and tracks your current progress
* **Main area**: Shows data entry fields for the current step
* **Navigation buttons**: Allow you to move forward or backward through steps
* **Submit options**: Complete the process with all fields or skip remaining steps

### Workflow structure

{% stepper %}
{% step %}
**Initial step**: Specify the number of records to create
{% endstep %}

{% step %}
**Field steps**: Enter values for each field in your records. Each step corresponds to one field in the record structure
{% endstep %}

{% step %}
**Final step**: Monitor the progress as records are created
{% endstep %}

{% step %}
Upon completion, you are redirected to the Table List View showing your newly created records
{% endstep %}
{% endstepper %}

{% hint style="info" %}
You can use **Submit and Skip Remaining Steps** to complete the bulk addition without filling in all optional fields. Required fields must still be completed.
{% endhint %}

## Data entry features

### Load from selected records

When you have pre-selected records, you can use their data to populate fields in your new records.

{% stepper %}
{% step %}
Click **Load from x selected** to copy data from selected records to ForeignKey fields
{% endstep %}

{% step %}
Optionally, use **Load from x selected (reverse)** to load data in reverse order
{% endstep %}
{% endstepper %}

{% hint style="info" %}
You can also generate selected records by passing a search query in the URL parameter. The system will load matching records and set them as selected.
{% endhint %}

### Load from text

Import data directly from text sources to quickly populate multiple values:

{% stepper %}
{% step %}
Click the **Load from Text** button for the field you want to populate
{% endstep %}

{% step %}
Paste text copied from spreadsheets, tables, or other applications
{% endstep %}

{% step %}
Select the appropriate separator (tab, comma, line break, etc.)
{% endstep %}

{% step %}
The text is automatically split into individual values and distributed across your records
{% endstep %}
{% endstepper %}

For ForeignKey fields, you can paste item names instead of record values. When a pasted name matches an existing item, Labii searches for the matching record and assigns the correct value automatically.

<figure><img src="/files/SX9VyvyNf8ZMWdimzXXp" alt="Load from text dialog showing text input area and separator options"><figcaption><p>Load from text interface for importing data from external sources</p></figcaption></figure>

**Alternative data formats**

* **JSON arrays**: Paste data in JSON array format: `["value1", "value2", "value3"]`
* **File upload**: Drag and drop text or JSON files directly into the file drop box to load their contents

{% hint style="success" %}
Loading from text is particularly efficient when transferring data from Excel spreadsheets or CSV files. Simply copy a column of values and paste it directly into Labii.
{% endhint %}

### Copy to all records

For fields where most records share the same value:

{% stepper %}
{% step %}
Enter the desired value in the first record's field
{% endstep %}

{% step %}
Scroll to the right side of the data table
{% endstep %}

{% step %}
Click the **Copy to all** button for that field
{% endstep %}

{% step %}
The value is copied to all records below the current one
{% endstep %}

{% step %}
Manually adjust any records that require different values
{% endstep %}
{% endstepper %}

{% hint style="info" %}
This feature is especially useful for common fields like project associations, dates, or categorical values that remain consistent across multiple samples or experiments.
{% endhint %}

### Add sequential numbers

Automatically generate sequential numbering for sample IDs, specimen numbers, or other sequential identifiers:

{% stepper %}
{% step %}
Navigate to the field where you want sequential numbers
{% endstep %}

{% step %}
Click the **Add sequential numbers** button
{% endstep %}

{% step %}
Sequential numbers are automatically generated starting from the current row downward
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Sequential numbering only affects the current field and records below it. Records above the current position are not modified.
{% endhint %}

## Advanced configuration

### Minimum items setting

Adjust the default minimum number of records for bulk addition:

* **Default value**: 5 records
* **URL parameter**: `min_items`
* **Example**: `?min_items=10` to set minimum to 10 records

### Default values

Pre-populate fields with default values using the URL parameter:

* **Parameter**: `bHN6R2RhdGFud0ZP`
* **Usage**: Pass default field values in the URL query string

### Predefined values

Provide specific predefined values for fields using the URL parameter:

* **Parameter**: `ImRhdGFfYXJyYXki`
* **Format**: JSON array format, such as `["value1", "value2", "value3"]`
* **Usage**: Values are automatically filled when creating new records

### Form link

Generate a reusable link to the current bulk-add form with all currently filled values.

{% stepper %}
{% step %}
In the bulk-add interface, click **Documentations**
{% endstep %}

{% step %}
Find and copy the **Form Link** for the current form
{% endstep %}

{% step %}
Open the copied link to regenerate the same form with the current filled values
{% endstep %}
{% endstepper %}

This is useful when you need to repeat similar entries, such as adding the same reagents during ongoing experimentation.

### Hidden fields

Hide specific fields from the bulk addition interface:

* **Parameter**: `dUJJUGZpZWxkc19oaWRkZW53Rk9Y`
* **Usage**: Specify field names to be hidden from the form

{% hint style="info" %}
Advanced configuration parameters are typically set by administrators or when using automated workflows. Contact your system administrator for assistance with custom URL parameters.
{% endhint %}

## Best practices

* **Plan ahead**: Determine all required field values before starting the bulk addition process
* **Use templates**: Load data from selected records to maintain consistency
* **Verify data**: Review the final step carefully before confirming the bulk addition
* **Start small**: Test with a smaller batch first when working with complex record structures
* **Copy wisely**: Use "Copy to all" for truly consistent values to avoid unnecessary corrections later
* **Sequential IDs**: Establish a numbering scheme before using sequential number generation


# Add a record from a template

Use template to reduce repetitive work.

To reduce repetitive work, a template can be used to create a similar record. The created record will contain the same data (columns, sections, notes, signers) as the template.

{% hint style="info" %}
**Add from a template** does not work for the files table.
{% endhint %}

## Add from side menu

1. Click the **Add** button in the side menu.
2. Choose a table. Simply click the "**...**" icon next to a table, and then select the **Add from a template** option.
3. Upon clicking, a list of templates specific to the table will appear.\
   ![](/files/nFADUYWpsQjFXVRDyRFx)
4. Choose a template to continue. You can use the search box to find a particular template. The template will only be shown if it belongs to the table you selected.
5. Depending on how you configure "[Add from form vs. Add directly](#add-from-form-vs.-add-directly)" either a form will be displayed with prefilled template data for you to fill out, or a record will be created directly with the template data.

## Add from table list view

In the Table List View, you can add a new record from a template from the nav bar.

1. Click the "**Add \[Table name]**" button
2. A dropdown menu will be opened. Select "**+ From a template**". Upon clicking, a list of templates specific to the table will appear. The steps for selecting a template are the same as [Add from side menu](#add-from-side-menu-1).

## Add from detail view

In the record detail view, you can click "**Duplicate**" button to duplicate a record.


# Add a template

Create a template

You can create a template for later use. Templates can be created for any table, and an unlimited number of templates can be created.

The template is identical to the normal record except that `is_template=true`.

## Add from side menu

1. Click the **Add** button in the side menu.
2. Choose a table. Simply click the "**...**" icon next to a table, and then select the **Blank \[Table] template** option.
3. Depending on your "[Add from form vs. Add directly](#form-add-vs.-direct-add)" settings, a form will be displayed or a record will be directly created.<br>
4. The newly created template should be opened directly.

{% hint style="info" %}
In the form view, you can also set **Is Template** to `true` to make the newly created record a template.
{% endhint %}

## Add from project list view

When you click a Project / Folder and at the Project List View, you can add any type of table from the navigation bar.

By clicking the "**+ Add**" button, you will see the same interface as "[Add from side menu](#add-from-side-menu)".

## Add from table list view

In the Table List View, you can add a new record from the nav bar.

1. Click the "**Add \[Table name]**" button
2. A dropdown menu will be opened. Select "**+ \[Table name] template**". Depending on your "[Add from form vs. Add directly](#form-add-vs.-direct-add)" settings, a form will be displayed or a record will be directly created.
3.

```
<img src="../../.gitbook/assets/add-table-list-button.webp" alt="" data-size="original">
```

## Add from detail view

In the record detail view, you can click "**+ \[Table name]**" at the nav bar to add a new record.

A dropdown menu will be opened. Select "**+ \[Table name] template**". Depending on your "[Add from form vs. Add directly](#form-add-vs.-direct-add)" settings, a form will be displayed or a record will be directly created.

<img src="/files/pPw6S7mEASZY9BsZ5Rwt" alt="" data-size="original">

## Create templates from existing records

The record can also be changed into a template by clicking on the "Columns" tab, then switching `is_template` to `true`.

Using bulk edit, you can also change the value of is\_template for multiple records at once.

## Remove a template

Labii encourages you to replace the old templates with new ones. You can do so by setting the newest records as templates, and by removing existing templates.

You can do this by setting `is_template` to `false`.

Using bulk edit, you can also change the value of is\_template for multiple records at once.


# Add via import

Add hundreds of records at once using the import function

## Overview

The import function allows you to create and update multiple records efficiently in bulk. Instead of manually adding records one by one, you can prepare your data in a spreadsheet and import hundreds or even thousands of records at once.

This is especially useful for:

* Initial data migration from legacy systems
* Batch sample creation in research projects
* Bulk inventory loading
* Large-scale data entry with multiple fields per record

## How it works

The import process is straightforward:

1. **Prepare your data** in a TSV or XLSX file with column headers matching your table structure
2. **Select the file** and specify any project assignments
3. **Map the columns** from your file to the corresponding fields in Labii
4. **Review and execute** the import to create all records at once

## Required fields

When importing new records, ensure that all **required fields** (marked with an asterisk \* in your table settings) are included in your import file. Missing required fields will cause the import to fail for those records.

## Advanced features

* **Update existing records** by including UIDs (Unique IDs) to match and modify records
* **Execute workflows** after import to automatically perform actions like creating vials or samples
* **Use special syntax** like `{{INDEX}}` for auto-numbering or `{{LETTERINDEX}}` for letter sequences
* **Multiple value support** for fields that accept multiple selections

## For detailed instructions

For comprehensive guidance on file preparation, field formatting, workflow execution, and troubleshooting, see [**Import Records**](/user-guide/list-view/import).


# Add via Share form link

Create public forms to collect data from external users without requiring Labii accounts

## Overview

The Share Form Link feature enables you to create customizable public forms for collecting data in Labii from people who don't have Labii accounts. This is particularly useful when you need to gather information from external parties such as research participants, collaborators, clients, or anyone who needs to submit data to your laboratory.

**Common use cases:**

* Collecting patient information for clinical studies
* Gathering sample submission details from external laboratories
* Receiving meeting attendance confirmations
* Collecting survey responses from research participants
* Accepting equipment service requests from facility users

**Key capabilities:**

* Create public forms with customizable fields
* Control field visibility, requirements, and default values
* Real-time preview of form appearance
* Automatic email notifications for submissions
* No authentication required for form users

## Creating a Share Form Link

{% stepper %}
{% step %}
Navigate to the table where you want to collect data (e.g., Experiments, Samples, Patients)
{% endstep %}

{% step %}
Click the **Add \[record type]** dropdown button (e.g., "Add experiment")
{% endstep %}

{% step %}
Select **Share form link** from the dropdown menu
{% endstep %}

{% step %}
The Form Share Settings panel appears on the left with a live preview on the right
{% endstep %}
{% endstepper %}

## Configuring Form Settings

<figure><img src="/files/mc4z6ZmelkRkfcmCO7uo" alt=""><figcaption></figcaption></figure>

### Basic Information

**Title**

Enter a descriptive title that clearly indicates the form's purpose. This appears at the top of the shared form.

*Example:* "Patient Information Collection Form" or "External Sample Submission"

**Description**

Provide clear instructions or context for form users. This text appears below the title and helps users understand what information to provide.

*Example:* "Please complete all required fields to submit your sample information. You will receive a confirmation email upon successful submission."

### Appearance Settings

**Should hide header**

Controls whether the Labii header appears on the shared form.

* **Enabled:** Header is hidden for a cleaner appearance
* **Disabled:** Full Labii header is visible

{% hint style="info" %}
Hiding the header creates a more streamlined, professional appearance for external users.
{% endhint %}

**Should hide footer**

Controls whether the "Powered by Labii Inc" footer appears.

* **Enabled:** Footer is hidden
* **Disabled:** Footer is visible

**Should hide AI Assistant**

Controls whether the AI Assistant button is available to form users.

* **Enabled:** AI Assistant is not available (recommended for external forms)
* **Disabled:** Users can access AI assistance

{% hint style="success" %}
For external forms, enable this option to simplify the interface and focus users on form completion.
{% endhint %}

### Field Configuration

**Hidden columns**

Select fields that should not appear in the shared form. Users won't see or be able to fill these fields.

*Use this for:*

* Internal tracking fields
* System-generated data
* Fields that will be auto-populated

*Example:* Hide "Associate To" field if not needed for external submissions

**Required columns**

Select fields that must be completed before submission. These fields display a "Required" label and prevent form submission if left empty.

*Example:* Make "Projects", "Name", and "Email" required to ensure essential data is collected

**Readonly fields**

Select fields that users can see but cannot edit. These fields display as "Disabled" and show pre-filled information.

*Use this for:*

* Pre-selected project assignments
* Reference information
* Context that shouldn't be modified

{% hint style="warning" %}
Set default values for readonly fields before making them readonly, otherwise they will appear empty and locked.
{% endhint %}

**Default data**

This field automatically captures values selected in the preview panel. When you fill out fields in the preview, those values become defaults for all form submissions.

*How it works:*

1. Select values in the preview panel (right side)
2. "Default data" field updates automatically
3. All form users will see these pre-filled values

*Example:* Select "Q1 2026 Study" in the Projects field → all submissions will default to that project

**End user email column**

Select which field should capture the submitter's email address. This email is used for sending confirmation notifications.

*Requirements:*

* Must be a text or textarea field
* Required for notification functionality
* Users must enter a valid email address

## Preview and Submission Workflow

<figure><img src="/files/PAhxMq7iaMszf5wDNaUF" alt=""><figcaption></figcaption></figure>

### Previewing Your Form

{% stepper %}
{% step %}
After configuring all settings, click the **Preview** button
{% endstep %}

{% step %}
A new browser tab opens showing the form exactly as external users will see it
{% endstep %}

{% step %}
The preview includes:

* Custom title and description
* Only visible fields (hidden fields are removed)
* Required field indicators
* Disabled/readonly fields with pre-filled values
* Default values you configured
  {% endstep %}

{% step %}
Test the form by filling it out as an end-user would
{% endstep %}
{% endstepper %}

### Submitting Through the Form

{% stepper %}
{% step %}
Fill out all required fields (marked with "Required" label)
{% endstep %}

{% step %}
Provide a valid email address in the designated email column field
{% endstep %}

{% step %}
Click the **Submit** button
{% endstep %}

{% step %}
Upon successful submission, you'll see:

* Success message: "Form Submitted Successfully"
* Option to "Submit another response"
* Confirmation that data was saved
  {% endstep %}

{% step %}
Check your email for the confirmation message
{% endstep %}
{% endstepper %}

**Notifications sent:**

1. **To form owner:** "Your form, \[Form Title], has received a new submission"
2. **To submitter:** "Your submission to \[Form Title] has been received"

### Verifying Submissions

{% stepper %}
{% step %}
Return to your Labii workspace
{% endstep %}

{% step %}
Navigate to the table where submissions are stored
{% endstep %}

{% step %}
Verify the new record appears in the list with all submitted data
{% endstep %}

{% step %}
Click **Notifications** in the side navigation
{% endstep %}

{% step %}
See notification: "Your form, \[Form Title], has received a new submission"
{% endstep %}

{% step %}
Check the **Sent notifications** tab
{% endstep %}

{% step %}
See confirmation: "Your submission to \[Form Title] has been received"
{% endstep %}
{% endstepper %}

## Best Practices

1. **Always test before sharing** - Use the Preview function to test the complete submission workflow from start to finish
2. **Minimize visible fields** - Only show fields that external users actually need to complete. Hide internal tracking fields
3. **Use clear titles and descriptions** - Help users understand the form's purpose and what information they need to provide
4. **Pre-fill when possible** - Use default data to reduce user effort and ensure consistency across submissions
5. **Make critical fields required** - Ensure you collect all necessary information by marking essential fields as required
6. **Hide branding for professional look** - Consider hiding header/footer for a cleaner appearance when sharing with external parties
7. **Configure email notifications** - Always set "End user email column" to enable automatic confirmations
8. **Test readonly fields carefully** - Ensure users can see but not modify pre-set values that provide important context
9. **Document the form URL** - Keep track of shared form links and their purposes for future reference
10. **Monitor submissions regularly** - Check the Notifications page to stay informed of new submissions in real-time

{% hint style="success" %}
For sensitive data collection (e.g., patient information), review your organization's data privacy policies and ensure compliance with regulations like HIPAA or GDPR before sharing forms externally.
{% endhint %}

## Related Documentation

* [Add Records](/user-guide/add-record)
* [Table Management](/admin-guide/tables)
* [Notifications](https://github.com/Labii/labii-gitbook-docs/blob/gitbook/user-guide/navbar/notifications.md)
* [Email Settings](/admin-guide/organization)


# Record List View

Labii’s List View is a versatile interface for managing and interacting with a list of records.

## Overview

Labii’s List View is a versatile interface for managing and interacting with a list of records. It empowers users with a wide range of functionalities, including the ability to add new records, apply filters to refine the displayed data, sort records for easier navigation, and perform bulk edits for efficient updates. Additionally, the List View supports label printing, streamlining tasks like inventory management or sample tracking. With its intuitive layout and robust features, Labii’s List View is an essential tool for organizing and maintaining professional data.

## List View Types

Labii offers three types of List Views to cater to different data management needs: **Table List View**, **Project List View**, and **Row List View**.

* The [Table List View](/user-guide/list-view/table-list-view) displays a comprehensive list of records for a specific table, consolidating records from multiple projects for centralized access.
* The [Project List View](/user-guide/list-view/project-list-view) focuses on records within a single project, aggregating data from various tables to provide a project-centric overview.
* The [Row List View](/user-guide/list-view/row-list-view) is designed for specialized purposes, such as displaying search results from chemical substructure or similarity searches, offering tailored views for specific workflows.

These options ensure flexibility and efficiency in navigating and managing records in Labii.

## Permissions

Labii’s List View incorporates robust permissions to ensure data security and controlled access based on user roles. The number of records visible in the List View depends on the user’s permissions within the associated projects. Administrators have the highest level of access, allowing them to view all records across projects. Other users will see only the records they are authorized to access, based on their assigned permissions within each project. This system ensures that users can interact with relevant data while maintaining the privacy and integrity of sensitive information.

## Common List Functions

### Filter

You can quickly limit records by filtering directly from each field title.

1. Click the filter icon next to a field title.
2. An input box will appear.
3. Type any value to limit the records shown for that field.
4. Click the filter-off icon to remove the filter for that field.

![](/files/aTrOIjOY5irsreY7jFnF)

You can apply filters on multiple fields at the same time. Multiple field filters are combined using an AND relationship.

### Group

Group records by a field to organize records that have the same value together.

{% stepper %}
{% step %}
Click the group icon next to a field title.
{% endstep %}

{% step %}
Review the records organized into groups based on the values in that field.
{% endstep %}

{% step %}
To group by additional fields, click the group icon next to each field title you want to include.
{% endstep %}
{% endstepper %}

![](/files/4o5FrpPCxevJ9PFoFw1t)

You can group by more than one field at the same time. Records with matching values are displayed together for each selected field.


# Table List View

Display a list of records for a table.

## Table list view

### Overview

The Table List view of Labii [electronic lab notebook (ELN)](https://www.labii.com/electronic-lab-notebook-eln) and [laboratory information management system (LIMS)](https://www.labii.com/laboratory-information-management-system-lims) displays a list of records for a table.

You might not be able to see all records depending on your permission settings. All records are visible to administrators regardless of the permission settings at the project level.

The list view is independent for each table and has the following tabs:

* **Dashboard** - Display dashboard data. Only available when `common_check_count=true`.
* **\[Table] records -** Display a list of records for the table.
* [**Properties**](/admin-guide/tables) **-** Table settings. Changes can only be made by administrators. Available to Administrator only.
* [**Filters**](/admin-guide/tables/filters) **-** Display a list of filters for the table. Available to Administrator only.
* [**Columns**](/admin-guide/tables/columns) **-** Display a list of columns for the table. Available to Administrator only.
* [**Default sections**](/admin-guide/tables/sections) **-** Display a list of default sections for the table. Available to Administrator only.

## Side Menu

The side menu of the Table List View provides a well-structured interface for streamlined navigation and enhanced functionality. It is divided into four distinct panels:

1. **Navigation Panel** - This panel is designed for quick navigation and table-specific actions. It includes:
   * **Breadcrumbs**: Allow users to easily track and navigate the hierarchical structure.
   * **Table Name and Description**: Clearly displayed to provide context for the current table.
   * **Add Dropdown**: A dynamic menu offering multiple methods to add records, such as manual entry, bulk import, or integration-based input.
   * **Action Buttons**: Enable additional table-specific actions, such as exporting data or managing table settings.
2. **Filters and Dashboard Panel** - This panel focuses on customizing the view and managing filters. It includes:
   * **Default and Custom Filters**: Predefined filters and user-created filters for narrowing down the displayed records.
   * **Dashboard**: Offers an overview of table-related metrics or visualizations for quick insights.
   * **Save as Default View**: Allows users to save their current filter and layout configuration as the default view.
3. **Related Tables Panel** - This panel facilitates access to other tables within the same application. It includes:
   * **List of Related Tables**: A navigable list of tables within the same application, making it easy to switch between tables and access records seamlessly.
4. **Projects Panel** - This panel helps users manage and limit the scope of records by project. It includes:
   * **Project List**: A list of available projects for the application.

Together, these panels make the Table List View a powerful and efficient interface for managing and interacting with records across various contexts.

### Open table list view

Table list view can be opened by clicking the **Application** from the side menu and then click the table name. For example, to open a list of experiments, click the **ELN** from the side menu and then click the **experiments**.

![](/files/td89sWa2CxjBKkBxgpiF)

### [Add record](/user-guide/add-record)

Click **+ \[table name]** from nav bar to add a new record. Depending on your needs, you can:

* [Add a blank record.](https://docs.labii.com/eln-and-lims/add-record/add-a-blank-record)
* [Add a record from a template.](https://docs.labii.com/eln-and-lims/add-record/add-a-record-from-a-template) To reduce repetitive work, a template can be used to create a similar record. The created record will contain the same data (columns, sections, notes, signers) as the template.
* [Add a record template.](https://docs.labii.com/eln-and-lims/add-record/add-a-template) The template can be used to create records with similar content.

### Search records

Learn more about [Search at list view.](/user-guide/navbar/search/search-at-list-view)

### Filter records

Filters can be applied to the table list view to specify a subset of the results. When a filter is selected, the button name changes to the filter name and the text color changes to teal.

![](/files/fgtyAjhT5c66pgd4NPmr)

#### Predefined filters

6 predefined filters are provided for quick access:

1. All records.
2. Active records (default).
3. Archived records.
4. My records.
5. My unsigned records. All records requiring your signature, whether you are the author or witness.
6. Record templates. A list of records that have been set as templates.

#### Custom filters

In addition to the predefined filters, you can also create custom filters for later use.

* **Apply a custom filter.** To apply the filter, click the filter dropdown and select one of the custom filters.
* [**Create new filter**](/admin-guide/tables/filters#add-filters)**.** Create a new filter by selecting **Create new filter** from the filter dropdown. Learn more from Settings -> Table -> Filters.
* **Save current query as new filter.** Select **Save as new filter** from the filter dropdown to create a new filter with the current query. This function will not be available when all records are displayed.
* **Delete current filter.** To delete the current filter, select **Delete filter \[filter name]** from the filter dropdown. This option is only available when a custom filter is applied.
* **Manage filters.** Click **Manage filters** from filter dropdown to update the existing filters.

#### Default filter

If you want to save a query and have it open automatically when the list view loads, use **Save as my default filter** function. A default filter is specific to each table and each user, so each user can save their own filters without interrupting the view of others.

* **Save as my default filter** to save the current filter as your default filter.
* **Clear my default filter** to delete any saved default filter.

#### Filter by project

The records can be filtered by projects. Click **All my projects** and select a project from the dropdown. Depending on your permissions, only the projects you have at least **read** permission will be displayed.

![](/files/45f5Owd0elAD6o6RQA3D)

### Save as default

If you would like a different view to be loaded when clicking on the table, you can use the **Save as default** feature.

<figure><img src="/files/aLSIdGml8qt4C3hSfgxM" alt=""><figcaption></figcaption></figure>

* Save as my default
* Save as table default
* Save as organization default

In the event that multiple default data are saved for a person, the personnel default data will be used first. Click **Clear all default** to clear all defaults.

### Sort records

Click the title to sort the records.

### Edit mode

Labii allows you to edit records in bulk. In order to do that, click "Edit mode".

All fields are displayed once you are in edit mode. By clicking the edit icon, you can edit a field.

<figure><img src="/files/97g5eVlnNYn5Iuka9Dxg" alt=""><figcaption></figcaption></figure>

### [Batch operations](/user-guide/list-view/bulk-operations)

A batch operation is a function or a method that processes multiple experiments in a single operation. Labii supports the batch operations for Editing, Printing, and Downloading. Select one or more experiments to get started.

![](/files/eW7oZaDi5XaKEw14jDM7)

### Upload

You can use this method to upload files and create a record at the same time. The uploaded files will be inserted directly into the record's sections/notes.

### Import

Using the import function, you can create multiple experiments at once. The import function can also be used to update multiple existing records.

### [Export](/user-guide/list-view/export)

Labii allows exporting data in the list view to a \*.tsv file. Two exporting options are supported:

* **Export current page.** Export data that is same as the current list view.
* **Export with customization.** Customize the number of records, the columns to be exported

<img src="/files/5kHdK8YXbnFFpRzEakZg" alt="" data-size="original">


# Project List View

Display a list of records for a project.

## Overview

The Project List view of Labii [electronic lab notebook (ELN)](https://www.labii.com/electronic-lab-notebook-eln) and [laboratory information management system (LIMS)](https://www.labii.com/laboratory-information-management-system-lims) displays a list of records for a project.

If you can see a project, means you already have permission to view all content of the project.

The list view is independent for each project and has the following tabs:

* **Content -** Display a list of records for the project as well as the sub-projects.
* [**Properties**](/admin-guide/projects) **-** Project settings. Changes can only be made by administrators. Available to Administrator only.
* [**Permissions**](/admin-guide/projects/members) **-** Display a list of permissions for the project. Available to Administrator only.

## Open project list view

Project list view can be opened by clicking the **Projects/Folders** from the side menu and then click the project name.

![](/files/DZYLgrdGMf96SPi3YJYV)

**Tabs**:

* **Content** - Project content displays records from all tables and sub-projects.
* **Properties** - Displays all configuration and properties about the project. [Learn more](/admin-guide/projects)
* **Permissions** - Displays a list members who can access the project. [Learn more](/admin-guide/projects/members)

## [Add record or project](/user-guide/add-record)

Click **+ Add** to add a record or a sub-project. It will open the same interface as the Add button on the side menu.

## Search records

Learn more about [Search at list view.](/user-guide/navbar/search/search-at-list-view)

## Filter records

Filters can be applied to the project list view to specify a subset of the results. When a filter is selected, the button name changes to the filter name and the text color changes to teal.

<img src="/files/FBfHR6ZkR1YYGGUUf81w" alt="" data-size="original">

* **All records**. Filter to display all records in the project.
* **Active records**. Filter to display the active records that is in the project.
* **Archived records**. Filter to display the archived records in the project.
* **My records**. Filter to display the records created by you.
* **My unsigned records**. Filter to display the records that need to be signed by you.
* **Templates**. Filter to display list of records as templates.

### Filter by tables

The records can be filtered by tables. Click **All tables** and select a table from the dropdown.

## Save as default

If you would like a different view to be loaded when clicking on the project, you can use the Save as default feature.

* Save as my default
* Save as project default

Personnel default data will be loaded if both personnel and project levels are saved.

## [Batch operations](/user-guide/list-view/bulk-operations)

A batch operation is a function or a method that processes multiple experiments in a single operation. Labii supports the batch operations for Editing, Printing, and Downloading. Select one or more experiments to get started.

![](/files/eW7oZaDi5XaKEw14jDM7)

## Upload

You can use this method to upload files and create a record at the same time. The uploaded files will be inserted directly into the record's sections/notes.

## [Export](/user-guide/list-view/export)

Labii allows exporting data in the list view to a \*.tsv file. Two exporting options are supported:

* **Export current page.** Export data that is same as the current list view.
* **Export with customization.** Customize the number of records, the columns to be exported

<img src="/files/5kHdK8YXbnFFpRzEakZg" alt="" data-size="original">


# Row List View


# Import Records

Use Import function to create and update data in bulk

## Overview

With Labii's import function, you can create and update records for multiple columns in bulk.

{% embed url="<https://youtu.be/_yR4umzXqEg>" %}

## File preparation for import

### **File format**

* **\*.tsv**, or **\*.xlsx** file is supported. \*.csv is not allowed because **,** is used as separate for multiple choose.
* **\*.xlsx** file will only use data from the first sheet.

### **Import file template**

Import templates are not required for the import. Labii is capable of reading any tabular file. Columns can be selected for import, as well as for where they should be imported.

For the preparation of the import document, please follow these guidelines:

1. The first row serves as the title.
2. To ignore a row, use **#** at the beginning.
3. The Unique IDs (UIDs) are used as a means of matching and updating existing records. If there are any UIDs that do not match, they will be ignored and a new UID will be generated. In the event that you create records by mistake, you can reuse existing UIDs.
4. If you would like more information on how to prepare data for a particular column, please refer to the Import value of each column widget.
   1. For the **MultiSelect** or **ForeignKeys** widget, use **,** to separate multiple values.
   2. Use UID or name for **ForeignKey** widget.
   3. If a column is using **Boolean** widget, use **true** if it is true and **false** if it is false.
   4. Use **YYYY-MM-DD** for **Date** widget. This column can be configured to display the date in a different format.
5. It is important to use the same column name as that of the workflow action table when preparing data for workflow.
   1. To separate values for multiple workflow action items, use the `,` symbol. As an example, you might want to use `10,20` in order to create two aliquots with a volume of 10 and 20, respectively.
      1. It should be noted that if only one value is provided, all workflow items will use the same value. As an example, you could use `10` to create two aliquots of the same volume that are created by the workflow.
   2. If you want to get the numeric id in order, use the `{{INDEX}}`. As an example, use A`{{INDEX}}` in order to create storage coordinates for two aliquots that have been segregated into `A1` and `A2`.
   3. If you would like to get letter IDs in order, use `{{LETTERINDEX}}`. Acceptable range: A to ZZ

The file will be processed locally and will not be uploaded to the server. You should ensure that your data has been successfully imported before deleting it.

## How to use

The import function is only available in the [table list view](/user-guide/list-view/table-list-view). Click the **Import** button in the table list view to begin importing.

{% stepper %}
{% step %}
**Select file**

During the importing process, the first step is to select a file that you wish to import. The projects that are going to be assigned also need to be specified.

If the title row is located in a row other than the first, kindly indicate the row number where the title row can be found. Once you provide this number, all rows preceding the title row will be disregarded.

![](/files/nvEHbQzkOxXjVzlpI6dp)

**Workflows**

After the import has been completed, select workflows to be executed. Use this field if you want to create 5 vials when a sample is created.
{% endstep %}

{% step %}
**Match file headers**

Once clicked Submit button, you will be directed to the second step of importing: match file headers with column names.

![](/files/6VQ2I02glUdiPNUz6Afr)

This form allows you to specify which fields to import and where they should be imported. Every field in the list represents a header from the file provided. The dropdown menu represents the columns defined in Labii.

To import the value from the file into a particular column, choose an option from the dropdown menu. The options with the same header as the file will be selected, so please review the headers to ensure all are correct.

* To disregard a column to be imported, select **Do not import** or leave it empty.
* The **UID** must be included and selected if you want to update existing records.
* You can select **Metadata** multiple times; all headers will be included.
* To pass data to the workflow, you can select **Workflow data** multiple times.

{% hint style="info" %}
**Required Fields for New Records**: When importing new records, ensure that all required fields (marked with an asterisk \* in the table settings) are included in your import file. If any required fields are missing, the import will fail for those records. Review your table's column configuration in the admin guide to identify which columns are marked as required.
{% endhint %}
{% endstep %}
{% endstepper %}

## Execute workflows after importing

Workflows can be executed after the import has been completed. Use this function if you want to create 5 vials when a sample is created.

1. [You can create one or more workflows.](/admin-guide/workflows) You do not need to include any triggers.
2. If you need to create multiple records within a workflow, prepare columns with "," to separate values.
   1. The column title must match the column name.
   2. Use "`,`" to separate values for multiple workflow actions. In the case where only one value is provided, it will be applied to each workflow action item.
   3. For foreignKey replacement, use UID.
   4. To replace the serial number, you can also use `{{INDEX}}` or `{{LETTERINDEX}}`.
   5. To create a serial of storage coordinates, "`A1,A2,A3`" is identical to "`A{{INDEX}}`".
3. Choose one or more workflows to execute at the first step of importing
4. To pass the column to workflow actions, select Workflow data in step 2.

## Update existing records

Using the import function, you can also update multiple columns for multiple records at the same time. You only need to match the UID column with the UID field to enable it to work.

If you happen to import the same batch of data twice by mistake, you can use the UIDs of the duplicated records with the new imports, and the new records will use the old UIDs from the previous import.


# Export Records

Labii’s export function allows users to export either the current page’s data or a customized dataset with selectable columns, size, and file format.

## Overview

Labii’s export functionality is table-specific and can only be accessed from the table list view. It offers two types of exports: Export Current Page, which allows users to export all data displayed in the current list view, and Export with Customization, which provides flexibility in selecting the number of columns, adjusting the data size, and choosing the desired file format. This ensures that users can efficiently extract the exact data they need in a structured and customizable manner.

## Export current page

Labii allows users to export the contents of a list at the current page into a .tsv (Tab-Separated Values) file for easy data sharing and analysis. Follow these steps to perform an export:

1. Navigate to the List View – Ensure you are in the table’s list view where the data is displayed.
2. Open the Actions Dropdown – Locate the Actions dropdown in the side menu.
3. Select “Export Current Page (\*.tsv)” – From the Actions dropdown menu, choose this option to export all data currently visible in the list view.
4. Download the File – The export process will begin automatically, and the .tsv file will be downloaded to your device.

The .tsv format is useful for transferring structured data while maintaining easy compatibility with spreadsheet software, text editors, and data processing tools. If you need more customization, consider using the “Export with Customization” option for selecting specific columns, adjusting file size, and choosing alternative formats.

<figure><img src="/files/n8KakoruVU4aA6YhN6kE" alt=""><figcaption></figcaption></figure>

## Export with customization

The customizable export enables you to:

* The ability to export any number of records. In addition to being able to export one particular page or all records, you can also export specific records.
* Choose an output format. Various text files can be exported, such as \*.tsv, \*.csv, and \*.txt. \*.json and \*.hl7 files can also be exported. \*.hl7 is currently under development.
* Customize the columns. You can specify which columns to export.
* Combine with other tables. Information from other tables can now be exported via the [ForeignKey](/widgets/column-widgets/form/dropdown/foreignkey) widget. In the case of a biospecimen generated from a patient, when exporting the biospecimen table, you can include the patient's name, age, gender, etc.

**Exporting from the List View:**

1. Navigate to the List View – Ensure you are in the table’s list view where your data is displayed.
2. Open the Actions Dropdown – Locate and click the Actions dropdown in the side menu.
3. Select “Export with Customization” – Choose this option from the Actions dropdown menu.
4. Configure Export Settings – A new export page will appear, allowing you to customize the number of columns, file size, and format.
5. Download the File – After configuring your export, confirm the settings and download the file.

**Exporting Selected Records:**

Use this option to export only specific records instead of the entire list.

1. Navigate to the List View – Open the table containing the records you want to export.
2. Select Records – Check the boxes next to one or more records you wish to export.
3. Open the Actions Dropdown – In the side menu, click Actions to open the menu.
4. Select “Export” – Choose this option from the Actions dropdown to proceed with exporting the selected records.
5. Customize Export Settings – A new export page will appear, allowing you to adjust file format, columns, and data size as needed.
6. Download the File – Once configured, confirm and download your export.

<figure><img src="/files/wzZ0GNBbz8QcOFaR3jpa" alt=""><figcaption></figcaption></figure>

## Export settings

The following settings can be configured:

* **Records** - Number of records to be exported
  * Selected records
  * Current page
  * All
* **Data format** - Choose what type of data you want to export
  * \*.tsv
  * \*.csv
  * \*.txt
  * \*.json
* **Columns** - The columns to export
* **Joined tables** - Access data from other tables that are joined through ForeignKeys.

## Export preview

You will see a real-time preview table as you change the configuration. This record is shown only as an example. It may not be included in the final export.


# Bulk Operations

A batch operation is a function or method that processes multiple records in a single operation, streamlining workflows and enhancing productivity.

## Overview

The list view supports batch operations in the Laboratory Information Management System (LIMS) and Electronic Lab Notebook (ELN).

Labii's platform provides robust tools and features to facilitate these batch operations, allowing users to efficiently manage and manipulate large datasets. These capabilities are essential for laboratories aiming to optimize their data management processes and maintain high levels of accuracy and consistency across their projects. By leveraging batch operations, labs can significantly reduce the time and effort required for routine tasks, ensuring more focus on critical research activities.

To get started, go to the list view, select one or more records, and the batch operation buttons will appear.

## Actions

* Bulk Edit
  * [Bulk Edit Columns](/user-guide/list-view/bulk-operations/bulk-edit-columns)
  * [Bulk Edit Sections](/user-guide/list-view/bulk-operations/bulk-edit-sections)
* Bulk Print
  * [Bulk Print Detail](/user-guide/list-view/bulk-operations/bulk-print-detail)
  * [Bulk Print Labels](/user-guide/list-view/bulk-operations/bulk-print-labels)
  * [Bulk Print Barcodes](/user-guide/list-view/bulk-operations/bulk-print-barcodes)
  * [Bulk Print QR Codes](/user-guide/list-view/bulk-operations/bulk-print-qr-codes)
* Bulk Export
* [Bulk Download](/user-guide/list-view/bulk-operations/bulk-download)


# Bulk Edit Columns

Edit one or more column data for multiple records simultaneously

## Overview

Labii's "Bulk Edit Columns" feature streamlines data management by allowing users to edit one or more column data for multiple records simultaneously, making it an efficient tool for updating certain column data. This functionality saves time and reduces the tediousness of editing individual records, enabling users to quickly update specific columns across numerous records with ease, and thereby increasing productivity and accuracy in data management.

You can only change records you have permission to edit. Administrators, if you can't edit certain records, ensure you have granted yourself edit permissions in the [project settings](/admin-guide/projects/members).

## How to Use

1. **Go to Table List View**: Navigate to the table you want to edit from side menu and click it to open the list view, which displays all the records in a tabular format.
2. **Select Records**: Choose one or more records that you want to edit by clicking on checkbox. You can select multiple records by clicking on each record. You can also select all by clicking the checkbox in the title row.
3. **Open the Bulk Operations Panel**: After selecting the records, the bulk operations panel will appear in front of the list.
4. **Click the "Bulk Edit" Button**: In the bulk operations panel, click "Bulk Edit." From the dropdown, select "Columns" to open a window for making bulk edits.
5. **Perform Bulk Edit**: In the new window, perform bulk edits on the selected columns based on the provided steps.

## Step 1: **Select target records**

To begin the bulk edit process, you need to choose which records you want to edit. You have the following options to select the target records:

* **Selected**: Choose the specific record(s) you selected on the previous page.
* **Page 1**: Select all records displayed on the first page.
* **All Active**: Choose all active records in the table, which are currently in use or not archived.
* **All Archived**: Select all archived records in the table, which are no longer in use or have been stored for historical purposes.
* **All**: Select every single record in the table, including both active and archived records.

Click **Next** to continue.

## Step 2: Choose one or more fields

You can select only the fields you want to edit, avoiding changes to any columns you don’t wish to modify. From the fields dropdown, choose one or more fields you want to update.

Click **Next** to continue.

## Step 3: Provide new values

In this step, a form with the selected fields will be displayed. To edit a field, simply provide the new value.

Click **Next** to continue.

## Step 4: Start bulk editing

The editing process will commence automatically. Initially, the system will determine the number of records that require updates. A progress bar will be displayed to illustrate the overall progress.

Upon successful completion of all edits, you will be redirected to the previous page. If any errors occur, an error message will be displayed, providing detailed information about each affected record.

## Predefined values

When used in conjunction with a workflow, you may want to autofill the step information. Please use the following fields to provide values for each step:

Values can be predefined for certain fields.

* **target\_records**, one of the following: Selected, Page 1, All active, All archived, All, Filter, Query
* **query\_json**, a JSON object containing the query parameters
* **fields**, list of fields to be edited, separated by ','.
* **bHN6R2RhdGFud0ZP**, provide form value for all fields need to be updated.
* **MAZFNvXcgdMg**, pass the parameter to auto submit the step if form already prefilled and contains no errors.

For example, if you want to convert a quote into an invoice and associate all invoice items with the newly created invoice, you can create a link that predefines this information and passes it to the “next” parameter of the invoice creation form. Once the invoice is created, the system will automatically redirect to the bulk editing interface to update all related invoice items.


# Bulk Edit Sections

Efficiently modify a specific section across multiple selected records in one go

## Overview

Labii's "Bulk Edit Sections" function revolutionizes data management by allowing users to efficiently modify a specific section across multiple selected records in one go. With this powerful feature, users can add, update, archive, or reorder a particular section for all selected records simultaneously, streamlining the editing process and saving valuable time. This bulk editing capability eliminates the need for tedious, record-by-record updates, enabling users to focus on higher-level tasks and increasing overall productivity.

You can only change records you have permission to edit. Administrators, if you can't edit certain records, ensure you have granted yourself edit permissions in the [project settings](/admin-guide/projects/members).

## How to Use

1. **Go to Table List View**: Navigate to the table you want to edit from side menu and click it to open the list view, which displays all the records in a tabular format.
2. **Select Records**: Choose one or more records that you want to edit by clicking on checkbox. You can select multiple records by clicking on each record. You can also select all by clicking the checkbox in the title row.
3. **Open the Bulk Operations Panel**: After selecting the records, the bulk operations panel will appear in front of the list.
4. **Click the "Bulk Edit" Button**: In the bulk operations panel, click "Bulk Edit." From the dropdown, select "Sections" to open a window for making bulk edits.
5. **Perform Bulk Edit**: In the new window, perform bulk edits based on the provided steps.

## Step 1: **Select target records**

To begin the bulk edit process, you need to choose which records you want to edit. You have the following options to select the target records:

* **Selected**: Choose the specific record(s) you selected on the previous page.
* **Page 1**: Select all records displayed on the first page.
* **All Active**: Choose all active records in the table, which are currently in use or not archived.
* **All Archived**: Select all archived records in the table, which are no longer in use or have been stored for historical purposes.
* **All**: Select every single record in the table, including both active and archived records.

Click **Next** to continue.

## Step 2: Choose edit action

In this step, users have the option to select the desired action they want to perform on the chosen records. This allows for flexibility in managing data and ensures that the appropriate operation is applied effectively.

* **Add section**: Add a default section to the selected records.
* **Update section**: Update the section based on the provided default section.
* **Archive section**: Archive the section based on the provided name.
* **Reorder section**: Reorder the sections based on the provided name and order.

Click **Next** to continue.

## Step 3: **Define section**

In this step, users should define the section information that need to be updated.

* **Add section**
  * **Section to add**: The section to be added. Please select a section from the dropdown list. If the section you need is not listed, create a new section first and save it as the table default. Then, you can select it from the list to update the template.
  * **Skip if exists**: If the section already exists, skip adding it.
* **Update section**
  * **Source section name**: The name of the section to be updated. Please make sure the case of the section name is correct.
  * **Template section**: Please select the section to update from the dropdown list below. If the section you need is not listed, create a new section first and save it as the table default. Then, you can select it from the list to update the template.
* **Archive section**
  * S**ection name**: The name of the section. Please make sure the case of the section name is correct.
* **Reorder section**
  * **Section name**: The name of the section. Please make sure the case of the section name is correct.
  * **Order**: The order of the section. Please provide a number greater than 0.

## Step 4: Start bulk editing

The editing process will commence automatically. Initially, the system will determine the number of records that require updates. A progress bar will be displayed to illustrate the overall progress.

Upon successful completion of all edits, you will be redirected to the previous page. If any errors occur, an error message will be displayed, providing detailed information about each affected record.


# Bulk Copy

Bulk Copy lets you quickly copy identifiers from multiple selected records in any table view.

## Overview

Bulk Copy lets you quickly copy identifiers from multiple selected records in any table view. It supports four output formats, ideal for sharing in emails/chats, pasting into spreadsheets, or feeding downstream tools and scripts.

Once copied, Labii places the values on your system clipboard so you can paste them anywhere.

<figure><img src="/files/vPhfOBh4oSV8LkHgMijl" alt=""><figcaption></figcaption></figure>

## How to use

{% stepper %}
{% step %}
In a table list, select one or more records using the checkboxes.
{% endstep %}

{% step %}
Click COPY ▾ in the toolbar.
{% endstep %}

{% step %}
Choose one of the four copy actions (below).

1. Copy name
2. Copy UID and name
3. Copy SID
4. Copy SID and name
   {% endstep %}

{% step %}
Paste the result where you need it.
{% endstep %}
{% endstepper %}

## Copy actions & output

### 1) Copy name

* What it copies: The record name/title only.
* Output format: Newline-separated list.
* Example (2 records):

```
Test Experiment
Stability – Batch A
```

### 2) Copy UID and name

* What it copies: The UID (human-readable unique code) and the name, joined by ": ".
* Output format: Newline-separated list.
* Example:

```
EP1: Test Experiment
EP2: Stability – Batch A
```

#### 3) Copy SID

* What it copies: The SID (system ID; globally unique, non-editable).
* Output format: Newline-separated list.
* Example:

```
adgj0a40x43bc7chmrwBGL
7p8k2q1m4n9r0s3t5u6vWX
```

#### 4) Copy SID and name

* What it copies: An array of JSON objects, each with "sid" and "name".
* Output format: A single JSON array (valid JSON).
* Example (2 records):

```
[
  {"sid":"adgj0a40x43bc7chmrwBGL","name":"EP1: Test Experiment"},
  {"sid":"7p8k2q1m4n9r0s3t5u6vWX","name":"EP2: Stability – Batch A"}
]
```

## Behavior details

* Selection order: Items are copied in the same order they appear in the current table (including any active sort).
* Delimiter: One record per line for text outputs; JSON output is a single array.
* Encoding: Names are copied exactly as displayed (Unicode preserved). In JSON mode, special characters are properly escaped.
* Clipboard only: No file is created; content goes directly to your OS clipboard.
* Permissions: You can copy any record you can view; hidden columns do not affect copying.

## When to use each mode

* Name: Quick human-readable lists for messages or notes.
* UID and name: Share a readable ID with context, handy for stakeholders who reference UIDs.
* SID: Precise machine-stable identifiers for API calls, imports, or support tickets.
* SID and name (JSON): Structured payloads for scripts, integrations, or bulk operations.

## Tips & troubleshooting

* Pasting into spreadsheets: Use *Copy name*, *Copy UID and name*, or *Copy SID* and then use “Split text to columns” on ": " if needed.
* Need CSV: Paste the newline list into a sheet and export to CSV, or transform the JSON array as required.
* Nothing copied? Ensure at least one row is selected and your browser allows clipboard access.
* Large selections: Copy works for large sets; however, extremely big selections may be truncated by OS clipboard limits.

## Glossary

* UID (User-readable ID): Short, readable identifier like EP1.
* SID (System ID): Long, immutable system identifier like adgj0a40x43bc7chmrwBGL.

## Examples at a glance

* Names: Test Experiment
* UID + Name: EP1: Test Experiment
* SID: adgj0a40x43bc7chmrwBGL
* SID + Name (JSON): \[{"sid":"adgj0a40x43bc7chmrwBGL","name":"EP1: Test Experiment"}]


# Bulk Print Detail

Print the details of multiple records at once

## Overview

Labii's "Bulk Print Detail" function is a powerful feature that allows users to print the details of multiple records at once, either directly to paper or as a PDF document. This feature is an extension of the standard Print function, which prints a single record's details. With Bulk Print Detail, users can conveniently generate PDF files for multiple records, making it an ideal solution for backup purposes. By streamlining the printing process, Labii's Bulk Print Detail function saves time and increases productivity, allowing users to efficiently manage and archive their records.

## How to Use

* **Go to Table List View**: Navigate to the table you want to edit from side menu and click it to open the list view, which displays all the records in a tabular format.
* **Select Records**: Choose one or more records that you want to edit by clicking on checkbox. You can select multiple records by clicking on each record. You can also select all by clicking the checkbox in the title row.
* **Open the Bulk Operations Panel**: After selecting the records, the bulk operations panel will appear in front of the list.
* **Click the "Print" Button**: In the bulk operations panel, click "Print" From the dropdown, select "Detail".
* **Perform Print**: Clicking will open a new tab for each selected record. Follow Labii's [Print](/user-guide/detail-view#print) function to either print to a printer or save as PDF.


# Bulk Print Labels

Print multiple labels simultaneously

## Overview

Labii's "Bulk Print Labels" function streamlines label printing by allowing users to print multiple labels simultaneously, saving time and eliminating the need for handwriting. This feature is particularly useful for printing labels for samples or tubes registered in the system, enhancing organization and efficiency. With "Bulk Print Labels", Labii users can quickly and easily generate and print labels in bulk, making it an ideal solution for high-volume labeling needs.

## How to Use

* **Go to Table List View**: Navigate to the table you want to edit from side menu and click it to open the list view, which displays all the records in a tabular format.
* **Select Records**: Choose one or more records that you want to edit by clicking on checkbox. You can select multiple records by clicking on each record. You can also select all by clicking the checkbox in the title row.
* **Open the Bulk Operations Panel**: After selecting the records, the bulk operations panel will appear in front of the list.
* **Click the "Print" Button**: In the bulk operations panel, click "Print" from the dropdown, select "Label".
* **Perform Print**: Follow the label print settings to print.

## Print Settings

Users can customize the appearance of labels using these settings:

* **Columns** - Choose columns to be included. If the selected records come from more than one table, table-specific columns will not be displayed.
* **Separator** - Separator to separate columns.
  * Linebreak
  * Comma (,)
  * Vertical bar (|)
  * Dash (-)
* **Standard Label** - Choose a dymo label to set lable size. This will update the label width and height automatically.
* **Width** - The width of the label.
* **Height** - The height of the label.
* **Margin** - Set the margin of the text in the label.
* **Font Size** - Set the size of the text in px.
* **Should Display Header** - Should display the header for the label.

### Rotate Label

To match the printer settings, users can also rotate the label. The rotation will shift the height and width of the label, ensuring that it properly aligns with the specified printing dimensions. To achieve this adjustment, follow these steps: first, locate the Rotate button on the interface. Next, click the Rotate button to initiate the rotation process. This will effectively swap the height and width attributes of the label, accommodating the printer's layout requirements. It is crucial to verify that the label dimensions are correct after rotating, as improper alignment may result in printing errors.

### Save as Default

Users can save their print settings as either personal or organizational defaults to streamline future printing. Once saved, the system will automatically apply these settings. To save, click the "Save as Default" button and select either "Personal" or "Organizational." Only administrators can save as organizational defaults.

## Print Preview

As the user updates the settings, the preview window located on the right panel will display the label in real-time. This feature allows users to see immediate changes and adjustments to the label as they configure the settings, ensuring they have an accurate view of the final appearance without needing to save or refresh.


# Bulk Print Barcodes

Efficiently print barcodes for numerous samples or materials all at once

## Overview

Labii's "Bulk Print Barcodes" function enables users to efficiently print barcodes for numerous samples or materials all at once. This feature can be particularly useful for labs with extensive inventories or high-throughput environments, offering a streamlined solution to barcode generation. By utilizing this function, users can save considerable time and effort, ensuring all items are accurately labeled and easy to track.

## How to Use

* **Go to Table List View**: Navigate to the table you want to edit from side menu and click it to open the list view, which displays all the records in a tabular format.
* **Select Records**: Choose one or more records that you want to edit by clicking on checkbox. You can select multiple records by clicking on each record. You can also select all by clicking the checkbox in the title row.
* **Open the Bulk Operations Panel**: After selecting the records, the bulk operations panel will appear in front of the list.
* **Click the "Print" Button**: In the bulk operations panel, click "Print" from the dropdown, select "Barcodes".
* **Perform Print**: Follow the label print settings to print.

## Print Settings

Users can customize the appearance of labels using these settings:

**Barcode configuration**

* **Value to be encoded** - Choose a field to be encoded as barcode.
* **Format** - Select which barcode type to use. Please check the [wikipage of the different barcode types](https://github.com/lindell/JsBarcode/wiki#barcodes) for more information.
* **Barcode Width** - The width of a single bar.
* **Barcode Height** - The height of the barcode in px.

**Label configuration**

* **Should Display Label -** Should display the label with the Barcode
* **Label Position**
  * Top
  * Bottom
* **Columns** - Choose columns to be included. If the selected records come from more than one table, table-specific columns will not be displayed.
* **Separator** - Separator to separate columns.
  * Linebreak
  * Comma (,)
  * Vertical bar (|)
  * Dash (-)
* **Standard Label** - Choose a dymo label to set lable size. This will update the label width and height automatically.
* **Width** - The width of the label.
* **Height** - The height of the label.
* **Margin** - Set the margin of the text in the label.
* **Font Size** - Set the size of the text in px.
* **Should Display Header** - Should display the header for the label.

### Rotate Label

To match the printer settings, users can also rotate the label. The rotation will shift the height and width of the label, ensuring that it properly aligns with the specified printing dimensions. To achieve this adjustment, follow these steps: first, locate the Rotate button on the interface. Next, click the Rotate button to initiate the rotation process. This will effectively swap the height and width attributes of the label, accommodating the printer's layout requirements. It is crucial to verify that the label dimensions are correct after rotating, as improper alignment may result in printing errors.

### Save as Default

Users can save their print settings as either personal or organizational defaults to streamline future printing. Once saved, the system will automatically apply these settings. To save, click the "Save as Default" button and select either "Personal" or "Organizational." Only administrators can save as organizational defaults.

## Print Preview

As the user updates the settings, the preview window located on the right panel will display the label in real-time. This feature allows users to see immediate changes and adjustments to the label as they configure the settings, ensuring they have an accurate view of the final appearance without needing to save or refresh.


# Bulk Print QR Codes

Efficiently generate and print QR codes for a vast number of samples or materials all at once

## Overview

Labii's "Bulk Print QR Codes" function is a powerful tool that allows users to efficiently generate and print QR codes for a vast number of samples or materials all at once. This feature is particularly useful for laboratories and organizations dealing with large inventories or multiple sample types, as it significantly streamlines the labeling process. By automating the QR code creation and printing process, users can save time and reduce errors, ensuring that each sample or material is accurately tagged and easily traceable. Whether you are managing a small set of samples or a large-scale operation, Labii's bulk printing capability enhances productivity and accuracy in your workflow.

## How to Use

* **Go to Table List View**: Navigate to the table you want to edit from side menu and click it to open the list view, which displays all the records in a tabular format.
* **Select Records**: Choose one or more records that you want to edit by clicking on checkbox. You can select multiple records by clicking on each record. You can also select all by clicking the checkbox in the title row.
* **Open the Bulk Operations Panel**: After selecting the records, the bulk operations panel will appear in front of the list.
* **Click the "Print" Button**: In the bulk operations panel, click "Print" from the dropdown, select "QR Codes".
* **Perform Print**: Follow the label print settings to print.

## Print Settings

Users can customize the appearance of labels using these settings:

**QR code configuration**

* **Value to be encoded** - Choose a field to be encoded as QR code.
* **Correction level** - QR Error correction level.
* **Code width** - The width of QR Code.

**Label configuration**

* **Should Display Label -** Should display the label with the Barcode
* **Label Position**
  * Top
  * Bottom
* **Columns** - Choose columns to be included. If the selected records come from more than one table, table-specific columns will not be displayed.
* **Separator** - Separator to separate columns.
  * Linebreak
  * Comma (,)
  * Vertical bar (|)
  * Dash (-)
* **Standard Label** - Choose a dymo label to set lable size. This will update the label width and height automatically.
* **Width** - The width of the label.
* **Height** - The height of the label.
* **Margin** - Set the margin of the text in the label.
* **Font Size** - Set the size of the text in px.
* **Should Display Header** - Should display the header for the label.

### Rotate Label

To match the printer settings, users can also rotate the label. The rotation will shift the height and width of the label, ensuring that it properly aligns with the specified printing dimensions. To achieve this adjustment, follow these steps: first, locate the Rotate button on the interface. Next, click the Rotate button to initiate the rotation process. This will effectively swap the height and width attributes of the label, accommodating the printer's layout requirements. It is crucial to verify that the label dimensions are correct after rotating, as improper alignment may result in printing errors.

### Save as Default

Users can save their print settings as either personal or organizational defaults to streamline future printing. Once saved, the system will automatically apply these settings. To save, click the "Save as Default" button and select either "Personal" or "Organizational." Only administrators can save as organizational defaults.

## Print Preview

As the user updates the settings, the preview window located on the right panel will display the label in real-time. This feature allows users to see immediate changes and adjustments to the label as they configure the settings, ensuring they have an accurate view of the final appearance without needing to save or refresh.

## Cap label

Labii supports cap labels as well. A cap label is a QR code that can be attached to a tube cap. By using cap labels, you can easily identify and manage your samples with greater efficiency. These QR codes can be scanned to quickly pull up detailed information about the sample, reducing the risk of errors and improving the accuracy of your laboratory work. This feature facilitates better organization and traceability, ensuring that each sample is correctly labeled and easily accessible whenever needed.

To enable the cap label, check **Should display cap label** to include the cap label. Here are a few parameters to configure cap label:

* **Cap label position**. Please the cap label at the left or right of the tube label.
* **Cap code margin**. Cap code margin. You can use it to reduce the size of the cap code. See the picture below for details.
* **Cap gap**. The distance between the cap label and the tube label in pixels.


# Bulk Download

## Overview

The "Bulk Download" function operates similarly to the "Bulk Print Detail" function, with the primary distinction being that it allows users to download the files directly in PDF format. This feature is particularly advantageous for users looking to save multiple files quickly and efficiently without needing to initiate a separate print command for each document. Consequently, it streamlines the process, significantly enhancing productivity by reducing manual steps and offering a more convenient solution for managing and storing documents in bulk.

## How to Use

* **Go to Table List View**: Navigate to the table you want to edit from side menu and click it to open the list view, which displays all the records in a tabular format.
* **Select Records**: Choose one or more records that you want to edit by clicking on checkbox. You can select multiple records by clicking on each record. You can also select all by clicking the checkbox in the title row.
* **Open the Bulk Operations Panel**: After selecting the records, the bulk operations panel will appear in front of the list.
* **Click the "Actions" Button**: In the bulk operations panel, click "Actions" from the dropdown, select "Download".
* **Perform Download**: Clicking will open a new tab for each selected record. After download, the tab will be closed automatically.


# Use Selected to Add Blank Record

To quickly add all selected records at once to the column configured with the ForeignKeys widget.

## Overview

When you need to assign multiple records to a column using the [ForeignKeys](/widgets/column-widgets/form/dropdown/foreignkeys) widget, it can be time-consuming to search for and select each record individually. The “**Use Selected to Add Blank Record**” function streamlines this process by allowing you to quickly add all selected records at once to the column configured with the ForeignKeys widget. This improves efficiency and ensures consistency when handling multiple entries.

## How to use

Follow these steps to efficiently assign multiple records to a [ForeignKeys](/widgets/column-widgets/form/dropdown/foreignkeys) field using the “Add Blank Record” feature:

1. Open the List View:
   1. Navigate to the [Table List View](/user-guide/list-view/table-list-view) to display all records from the table you’re working with. This view allows you to browse and interact with the data more easily.
   2. Apply [Filters](/admin-guide/tables/filters) (Optional): Use the Filters panel to narrow down the records shown. This is helpful if you’re looking for specific entries based on criteria such as status, category, or date.
   3. Access the [Record List By the ForeignKeys](/widgets/section-widgets/data-display/record-list/record-list-by-foreignkey) Widget (if applicable): If you’re working from a Record List by ForeignKey section, you can also open the record list by clicking the List View icon directly from the widget. This will display records relevant to that specific relationship.
2. Select the Records:

   In the list view, check the boxes next to the records you want to include. You can select multiple records at once.
3. Add a New Blank Record with Selected Entries:

   At the top of the list, click the “**Use Selected**” dropdown and choose “**Add Blank Record**”. This creates a new blank record while associating it with your selected entries.
4. Assign the Selected Records in the ForeignKeys Field:

   In the form where your ForeignKeys field is located. Click the “**Load X Selected**” button (where X is the number of selected records). All selected entries will now be automatically assigned to the ForeignKeys field.

<figure><img src="/files/G0EOrhcKHmK2AjtAoOuW" alt=""><figcaption></figcaption></figure>


# Use Selected to Bulk Add Records

Creating multiple records by allowing users to assign a list of selected records to ForeignKey fields in bulk

## Overview

The “**Use Selected to Bulk Add Records**” feature streamlines the process of creating multiple records by allowing users to assign a list of selected records to [ForeignKey](/widgets/column-widgets/form/dropdown/foreignkey) fields in bulk. Traditionally, using the bulk create function required manually selecting different related records for each new entry—an error-prone and time-consuming task. This new feature eliminates that hassle by enabling batch assignment, significantly reducing manual effort and the likelihood of mistakes.

## How to use

Follow these steps to assign selected records to each of items in the bulk add:

1. Open the List View:
   1. Navigate to the [Table List View](/user-guide/list-view/table-list-view) to display all records from the table you’re working with. This view allows you to browse and interact with the data more easily.
   2. Apply [Filters](/admin-guide/tables/filters) (Optional): Use the Filters panel to narrow down the records shown. This is helpful if you’re looking for specific entries based on criteria such as status, category, or date.
   3. Access the [Record List By the ForeignKeys](/widgets/section-widgets/data-display/record-list/record-list-by-foreignkey) Widget (if applicable): If you’re working from a Record List by ForeignKey section, you can also open the record list by clicking the List View icon directly from the widget. This will display records relevant to that specific relationship.
2. Select the Records:

   In the list view, check the boxes next to the records you want to include. You can select multiple records at once.
3. Bulk Add Records with Selected Entries:

   At the top of the list, click the “**Use Selected**” dropdown and choose “**Add Records in bulk**”.
4. Load selected data to fields:

   In the step where you update values for a ForeignKey or ForeignKeys widget, click “Load Each from X Selected” or “Load Each from X Selected (Reverse)” to assign the selected records to each item accordingly.

<figure><img src="/files/ecDmQ92BcXFskoDzWV3n" alt=""><figcaption></figcaption></figure>


# Record Detail View

Edit/View the content of a record

Details of a record can be viewed and modified in the detail view. There are several views (tabs) available:

* **Columns**, display the structure data in labels and values.
* **Sections**, show a list of sections with unstructured data.
* **Notes**, display an editor for quick documentation.
* **Versions**, display a list of versions.
* **Activities**, display a list of activities.
* **Visitors**, display a list of visitors.
* **Permissions**, display a list of permissions.

For each table, you can select the view that should be opened by default. By doing so, all records from that table will be opened with the selected view. You may always want "Notes" to be opened by default for experiment records, and "Columns" to be opened by default for sample records.

![](/files/maRFs1dXZ5q8AZpPfm4K)

## Open detail view

Open a record by clicking its name in the list view.

**Open from the table list view:**

1. Select Tables from the side menu
2. Select a table
3. There should be a list of records displayed, click on the name of the record to view the detail

**Open from the project list view:**

1. From the side menu, click "Projects / Folders"
2. Select a project
3. Click the name of any record to open the detail view

By default, three tabs will be displayed (Columns, Sections, Notes).

## Update name

You can change the record name directly by clicking the name. By clicking the name, you will be taken to an input box where you can type your new name. The change will be automatically updated after five seconds.

This field support variables. Discover additional information about the array of supportive variables on <https://docs.labii.com/api/variables>

## Update description

You can update the record's description directly by clicking the description field.

## Sign the record

Learn more at [Sign](/user-guide/detail-view/actions/sign) Action.

## Duplicate

The "Duplicate" function lets you duplicate the whole record.

## Print

Learn more at [Print](/user-guide/detail-view/actions/print) action.

## Open other tabs

Click on **Other tabs** and then select a tab to open.

Aside from the default tabs, you can also open an individual section in a new tab. The section tabs are displayed at the bottom of the list of tabs.

## Delete

To comply with FDA 21 CFR part 11, the deletion is prohibited in Labii

## Archive

To archive a record, set `is_archived=true` in the Columns view. Archived records are read-only.


# Columns

Display the structured data of a record

## Overview

The columns view of a record shows the structure data of a record in labels and values. This view is mostly used for inventory management tables.

![](/files/LRJJjm5kxILLjcH8vjGC)

## Open columns view

The Column View can be accessed by simply clicking on the "Columns" tab when a record is opened.

## Column groups and types

Columns can be grouped into fixed columns and customizable columns with the following groups.

### Fixed columns

The fixed columns are predefined by Labii and are identical for every record regardless of the table. These include:

* **Overview**
  * **SID** - static encrypt ID.
  * **UID** - unique ID. Syntax: \[Unique Code] + \[Unique Identify]
  * Version
  * Table
  * Projects
  * Updated by
  * Date Updated
  * Owner
  * Date Created.
* **Metadata**
  * Metadata
* **Use this record as a template**
  * Is template
* **Archive this record**
  * Is archived

### Customizable columns

Each table has different customizable columns. A typical experiment table includes the start date, due date, and protocols. These can be added or removed at the table's column settings.

When you use the Subtitle widget, the columns right after will be grouped and displayed separately in both form and columns views.

## Edit a column

In the columns view, you can edit the values of editable fields. Editable fields have an "edit" icon on the right.

To edit a column, click the "edit" icon. Different widgets will have different edit interfaces. Click "Submit" to save your changes.

![](/files/WM6XVHfQe1QkMB7UjxLm)

When a record is archived, the "is\_archived" filed can still be updated.

When a record is signed and locked, the "projects" field can still be updated.

### Edit metadata

Each record can have its own specific metadata. You can add/edit/delete metadata at the metadata columns.

![](/files/BZoO74kuPxSYFOzhM0JV)

{% hint style="info" %}
Metadata can also be managed with the [Metadata](/widgets/section-widgets/data-display/columns#metadata) widget.
{% endhint %}

## Copy value

To copy the value of a column, click the copy icon next to a value.


# Sections

Provides the detail content of the record

An experiment is carefully divided into many sections in [Labii Electronic Lab Notebook (ELN)](https://www.labii.com/electronic-lab-notebook-eln) to better control the workflow.

Section views display the sections within a record. Each section holds specific data, and a specific widget is used to display and edit the data.

A section view enables a company or organization to define the sections that researchers should follow. They help keep notes and contents organized.

As a comparison, the notes view allows researchers to enter data in timeline order, and the results generated are more casual.

{% embed url="<https://youtu.be/pd3SoT62gkQ>" %}

## Open sections view

Similar to the columns view, the sections view can be accessed by simply clicking on the "Sections" tab when a record is opened.

![](/files/slTJ5iNmgSAMhzr2M5E6)

## Action buttons

On the top of the sections tab are action buttons:

* **Add section**. Add a new section at the bottom of the page with this button.
* **Add default section.** Add a predefined default section.
* **Table of Content**. You can quickly navigate to a section by clicking the Table of contents icon and selecting a section.\ <img src="/files/BrffTOu06ZX54BPBZa4o" alt="" data-size="original">
* **Actions:**
  * **Set as default view**. Set the Sections as default view.
  * **Expand/Collapse All**. Expand or collapse all sections.

## Section layout

Each section is a wrapper for a small software application, or widget in Labii. With widgets, you can insert different types of data for a record. There is no limit to the number of sections you can add. A section has a header, body, and footer.

<figure><img src="/files/5y45e9c0LKXCKS0s62n8" alt=""><figcaption></figcaption></figure>

### Section header

A section header displays the section name and the icons for controlling it. The section details can also be collapsed or expanded by clicking the header. From left to right:

* A "drag" icon to change the section order.
* The icon can be moved up or down in order to change the section order.
* Numeric value of the section order.
* The name of the section
* Use the "actions" or "more" icon to perform additional actions related to that section.

### Section description

The section description now supports Rich Text, enabling restricted text mode that allows users to modify text solely within predefined areas. This feature is particularly useful for steps requiring adherence to specific guidelines for result collection, as these guidelines can be conveniently provided within the section description.

### Section body

Depending on what widget the section uses, the interface will vary greatly. You can find the usage of each widget [here](https://github.com/Labii/labii-gitbook-docs/blob/gitbook/user-guide/detail-view/broken-reference/README.md).

The CKEditor widget, for example, can be used to edit rich text.

A widget usually comes with a read-only interface and an editable interface. The read-only interface displays the defined value. The editable interface lets you change values or configure the widget. You can switch from the readonly interface to the edit interface by clicking the "Edit" button.

Different widgets also open different interfaces by default. CKEditor widget, for example, opens the Edit interface by default, so you can update text data more quickly. Signature widgets, however, show a list of signers in a read-only interface by default.

### Section footer

The section footer displays the widget and version of the widget for the section. It also displays the user and the time when the section was updated.

## Add section

To add a section, you need to select a widget first.

1. Click the "+ Section" button \\

   <img src="/files/8QqSPLCySv6FxIrdCzbV" alt="" data-size="original">
2. Select a featured widget from the dropdown list
3. You will see a pop-up window where you can provide additional information about the section. Provide the section name and description.

   <figure><img src="/files/BOEbYhn9GTmZ14xwXY7A" alt=""><figcaption></figcaption></figure>
4. Click **Submit** to add a section
5. Labii comes with more than 100 widgets; to add one not found in the dropdown list, select "More widgets"

   <figure><img src="/files/xNSjRV6nqxoetJiGk8W0" alt=""><figcaption></figcaption></figure>
6. To continue, select a widget
   1. Click a category or subcategory to see all widgets within that category. To load more widgets, click Load More. By default, only the top 10 widgets are displayed. By clicking the load more button, you will load a second page (another ten widgets).
   2. You can also type in any text to find a widget.
7. After selecting a widget, follow steps 3 and 4 above to create a new section

## Section comments

Labii's section comments function allows users to discuss a specific section within a record. Comments are useful for feedback, follow-up questions, and collaboration without changing the section data itself.

Comments are created from the section's Actions menu. After a comment is added, the comment thread appears at the bottom of the section in timeline format, making it easy to review the full conversation in order.

<figure><img src="/files/ERmzjM3azyt7ISOH3WMj" alt=""><figcaption></figcaption></figure>

### Display Comments

Comments are displayed automatically at the bottom of the section after the first comment is created. The conversation is shown in timeline format, including the author, timestamp, and comment content.

### Add a Comment

To add the first comment, click **Actions** and then select **Add comment**. After comments are visible, you can also click the **Add comment** button at the bottom of the comment timeline to add another one.

All users who have access to the record receive a notification when a comment is added.

### Edit Comment

To update a comment, click the **Edit** button for that comment, make your changes, and save them.

All users who have access to the record receive a notification when a comment is edited.

### Delete Comment

If you wish to delete a comment, click the corresponding **Delete** button associated with that specific comment.

All users who have access to the record receive a notification when a comment is deleted.

### Additional Notes

Section comments are available even for records that have already been signed.

Comments are not included when the section is printed.

## Section actions

In the "actions" menu, you can update the detail of a section. Click the "actions" icon to open a dropdown menu.

<img src="/files/LkAHmdeknxsTXcTn0VdR" alt="" data-size="original">

### Open section

Using the open section feature, you can open the section in a new tab.

### Print section

You can print the data of the current section by clicking the print section button.

### **Insert section**

To insert a new section above the current section, utilize the "Insert section" function.

### Edit section

Select the **Edit Section** to edit the section name. The **name** and **description** of the section can be updated.

### Archive section

To discard or hide the section, select the **Archive section** to hide the section.

{% hint style="info" %}
Your data will not be lost. It can be found in the version history.
{% endhint %}

### Load data from section

By using the Load data from section button, you can copy data from a section that has already been created. Only sections using the same widget can be loaded.

### Load default section data

Likewise, you have the option to utilize the "Load default section data" feature, enabling you to import data from the default section that has been incorporated into the table. This function is primarily employed when working with optimized sections where updated settings need to be loaded.

### Save default section data

The default value of a section can be saved and reused to avoid configuring certain widgets repeatedly. If the default section value is saved, it will be loaded automatically when a new section is created.

The data saved are specific to the **Table**, **Widget,** and **Section Name**.

Labii provides 4 levels of default data:

1. **Personal level (Save as my default)**, for your personal preference.
2. **Project level (Save as project default)**, specific to a project.
3. **Organization level (Save as organization default)**, specific to your organization.
4. **Table level (Save as table default)**, specific to the table. If you click the save as table default button, a default section will be created for the table. The action will update the existing section if the section already exists (use the same section name and widget).

The data will be used in order.

1. If the personal default data is saved, it will be used first.
2. If the personal default data is not available, then the project default data will be used.
3. If both personal default data and project default data are not available, then the organization default data will be used.
4. If none of the above default data is available, the table default data will be used.

{% hint style="info" %}
Only the project managers can save the project default data.

Only the administrators can save the organization's default data.
{% endhint %}

**Example usage:**

If you need to set up the signers for all of your experiments, save the settings of authors, witnesses, et.al at your personal level. Then the same configuration will be added automatically.

1. Create a section named "**Signatures**", choose the widget "**Signatures**".
2. Add the authors and witnesses.
3. Click "**Save as my default**"
4. In the new experiment, when you create a section "Signatures" with the widget "Signatures", the same settings will be added directly.

### Collapse content

The content of the section can be collapse and expand by clicking the section header.

### Change order

The order of the section can be changed by dragging the section header.

### Create support ticket

Use this function to report problems or provide feedback on the widget/section. Click the “ menu icon” located on the top right of each section" and select "**Create support ticket**" from the list of options.

### Open documentation

You can find the help documentation on how to use the widget at this link. By clicking the “Open documentation”, it will open a documentation link.


# Notes

Document quick notes

Notes is the function you need if you need to create a very quick note on what you did on a particular day.

Please use the Sections tab if you need to follow the SOP to fill out experimental results (for example, the testing results).

## Open notes view

Similar to the columns view, the sections view can be accessed by simply clicking on the "Notes" tab when a record is opened.

By default, all sections of the record will be loaded into the notes view.

![](/files/Hq1OQIspVgLDMqF1eoFd)

## Action buttons

On the top of the notes tab are action buttons:

* **Save**. Save the data.
* **Print**. Print current notes.
* **Save as default view**. Save the Notes as the default view.

## Edit note

CKEditor widget is used in the notes, and you can use it to do all the formatting changes described below.

* Undo, Redo
* Heading
* Font
  * Font Size
  * Font Family
  * Font Color
  * Font Background Color
  * Alignment
  * Bold
  * Italic
  * Underline
  * Strikethrough
  * Subscript, Superscript
  * Restricted Editing
  * Remove Format
* List
  * Bulleted List
  * Numbered List
  * Todo List
  * Indent
  * Outdent
* **Insert**
  * Insert day
  * Insert file
  * Insert section
  * Insert text
* Image Upload
* Block Quote
* Table
* Code, Code Block
* Link
* Page Break
* Special Characters
* Math
* Chemical Structure
* Export
  * Export PDF
  * Export Word

### Insert day

Click the "Insert day" icon (<img src="https://icons.veryicon.com/png/o/education-technology/power-icon/calendar-196.png" alt="" data-size="line">) to insert today's date. By clicking the text, you can change the date to another date or any other text you like.

![](/files/ArTmMEkpN57D53c2S5oK)

### Insert record

Other records can be inserted into the notes. You can, for instance, insert a protocols record into your notes.

![](/files/vN9g9pIrZyG6yDwYVxYV)

Enter `#` to insert a record, and a dropdown will appear with a list of recent records. Choose a record to insert.

Additionally, you can search a record. Type `#`, and then type the search keyword, for example "`#Test Name`", to get results with matched keywords. A "AND" relation is applied when there are multiple keywords that are separated by a blank.

Click on the "LINK" icon (<img src="https://api.nuget.org/v3-flatcontainer/truepeople.sharepreview/1.0.5/icon" alt="" data-size="line">) in the dropdown list to open the record. If a record has already been inserted, place the cursor at the end of the record, and the dropdown with the matched record will appear, and the "LINK" icon will be clickable.

### Mention user

Additionally, you can mention a user by using the "`@`" symbol.

![](/files/9Ov9e1PZGF91NH2j599V)

### Insert file

In the editor, you can insert files and view its content. Inserted files will be locked to the most recent version.

![](/files/Ifyr4AYiurjOXVuAEvyT)

How to insert a file:

1. From the editor menu, click the **Insert** and then select **File**.
2. The pop-up modal will appear. It displays the ten most recent files.
3. Search results can be filtered by entering a keyword
4. Alternatively, you can click the load more button to view a second page of files
5. Click **Open** to preview the file.
6. Choose a file to insert
7. Drag files to the cloud icon in the pop-up modal if you wish to upload new ones. The selected files will begin uploading one by one and will be inserted into your editor once uploading is complete.

Additionally, you can drag and drop files to the cloud icon located at the bottom of the editor.

From top to bottom, each file is displayed in order of file name, file content preview, and file action buttons.

![](/files/K0tzxcpA9iHuKjYYr6pg)

* **Hide/Show Preview** - By clicking this button, you can hide or display the preview of the file. A bug is known to occur when saving the change status. We are working on fixing it.
* **Open** - Click on the file to open it in a new window. It will allow you to edit the content.
* **Download** - Save the file locally.

### Insert section

By default, other sections from the sections view will appear in the notes. A section can also be added or deleted. To display the sequences of plasmids, you can insert a plasmid editor section.

![](/files/PVNTBibmHn3uTHoX5ybU)

In order to add a section,

1. From the editor menu, click the **Insert** and then select **Section**.
2. From the pop-up modal, then choose a section
3. The new section will be added
4. Still in the pop-up modal, click "**+Section**" to add a new section.
   1. Select one widget from the dropdown menu.
   2. Click "More widgets" to view other widgets, then select a widget to continue
   3. Provide the section name
   4. By clicking submit, you will be able to add a new section

In the notes view, you can see all data in a section. To delete a section, select a section and press the "**Delete**" key. The section can be edited by clicking the **OPEN** button open a new tab, then making any necessary changes. Sections can also be updated from the sections view.

### Insert text

There is no reason to retype when the text data is already somewhere else. With the insert text function, you can insert data from a section or external file document.

![](/files/6QSvESYM7DIPFfz7Ixwc)

To insert text in your editor:

1. In the text editor, click where you want to insert
2. Insert text by clicking the **Insert** and then select **Text**
3. Select a section from the pop-up modal. The function allows you to insert a section from any record, and the record name is displayed at the bottom of each section. At the moment, you can only insert data from CKEditor related sections.
4. The first line is the name of the section, the second line is the name of the record. To preview the text, click **SHOW PREVIEW**. To hide the preview, click **HIDE PREVIEW**.
5. The selected section's text will be inserted.
6. Drag text, table, or image files into the pop-up modal to insert data directly from these files.\
   The supported file types are: .docx, .txt, .md

{% hint style="info" %}
Make a template record with each frequently used text as a section. By inserting these text snapshots into your new record, you will increase the efficiency of your note-taking process.
{% endhint %}

{% hint style="info" %}
If the record you are working on is similar to one you worked on before, you can insert text from the previous record and make the necessary changes.
{% endhint %}

### Insert Text Field

The "Insert Text Field" function in Labii text editor offers users a versatile tool for capturing text variables during experimentation. With the ability to specify both a name and a default value, users can seamlessly integrate this function to capture any text variable, whether short or long. Moreover, its compatibility extends to number fields, enhancing its utility across various data types. This feature streamlines the process of recording crucial information during experiments, providing researchers with a convenient and flexible solution for data capture and organization.

<figure><img src="/files/tLbd3G3hN9AY0prHdahR" alt=""><figcaption></figcaption></figure>

Ensure the field name used in the Formula Field for data calculations is unique. If a field name is duplicated, the value from the last entry will be utilized.

**To insert text field in your editor:**

1. In the text editor, click where you want to insert.
2. Click "Text field" icon
3. Provide Field name
4. Click Submit.
5. You can choose text and then utilize the "Text Field" function to transform the currently selected text into a Text Field.

Select a Text Field to view detailed information about it. The information will be presented in the format of \[{Field Type}]: {Name} ({Default Value if any}). Click the Edit button to make changes to the Text Field.

{% embed url="<https://youtu.be/kIJfboUo7to>" %}

### Insert Formula Field

The "Insert Formula field" function within Labii text editor empowers users with a dynamic tool for automating calculations based on provided variables. By encapsulating variable names within "{{}}" notation, such as "{{weight}}", users can seamlessly reference these variables within the formula field. This feature enables efficient computation and manipulation of data, offering researchers a streamlined approach to perform complex calculations directly within their documentation.

<figure><img src="/files/CbiomTKPGNXI0G2q1Q7h" alt=""><figcaption></figcaption></figure>

**To insert formula field in your editor:**

1. In the text editor, click where you want to insert
2. Click "Formula field" icon
3. Provide Field name.
4. Provide formula
   1. `{{Price}} * {{number of items}}`
5. Click Submit.
6. You can choose text and then utilize the "Insert Formula Field" function to transform the currently selected text into a Formula Field.

Select a Text Field to view detailed information about it. The information will be presented in the format of \[{Field Type}]: {Name} ({Default Value if any}). Click the **Edit** button to make changes to the Text Field. Click the **Update** button to update the calculation result.

{% hint style="warning" %}
This function has performance issues in Firefox.
{% endhint %}

## Auto save

Every 5 seconds, any changes you make to the Notes will be saved automatically.

## Generate text context with AI

Suppose you need to write an experiment entry and are worried about the hassle of creating detailed experiment descriptions. In that case, you'll be pleased to know that with the help of AI, generating experiment details is as simple as describing your experiment in natural language.

Moreover, you can customize the prompts for generating experiment details by accessing the settings of the table. This feature can save you time and effort while ensuring that your experiment descriptions are accurate and comprehensive.

To add extra text to the notes using the preconfigured prompt template, simply place a "`>`" at the beginning of your own prompt.

{% hint style="info" %}
Example:

PCR experiment for 5 mice stem cells.

Example:

\>Generate PCR Cycling Parameters in HTML table.
{% endhint %}

<figure><img src="/files/FOjJjInOQo6BBXIL73Uu" alt=""><figcaption></figcaption></figure>


# Signers

Sign and witness of a record

By signing a document in [Electronic Lab Notebook](https://www.labii.com/electronic-lab-notebook-eln) (ELN), you certify that the record you generated or witnessed is accurate to the best of your knowledge. A signed document ensures that the data generated meets regulatory requirements, such as FDA 21 CFR part 11 and others can repeat the results based on the signed document. A lab notebook with signatures represents a legally valid, permanently written record of a lab’s research, which can be used in a court of law in patent investigations.

The signers tab enables [ELN](https://www.labii.com/electronic-lab-notebook-eln) users to manage a list of signers with various roles (Authors, Co-Authors, Witnesses), to sign and to witness an entry. It is an improvement over the previous Signature widget.

{% embed url="<https://youtu.be/8rA1GN_ICc4>" %}

## Open signers view

The Signers tab is one of the most commonly used tabs, and it can be opened under the Overview, Sections, and Notes tabs.

* **Open the Signers tab on the Overview tab**. When a record is open, under the Overview tab, click **Signers** to open the signers tab.
* **Open the Signers tab on the Sections tab**. To open the Signers tab, click the **Signers** button on top.
* **Open the Signers tab on the Notes tab**. To open the Signers tab, click the **Signers** button on top.

![](/files/v5v1QfwuxfokgxFnHVx1)

## Signers

With this tab, you can manage a list of signers who need to sign the record/entry.

### Add signer

To add a signer, click "**+Signers**". This will display a form.

![](/files/qvBK3hvC7cHdVMSNOQfz)

1. Choose a signer from the Signer dropdown list.
   * In the dropdown list, only users with at least view permission will appear. If the signer you want to add does not appear in the list, please go to the project of the record and add the user to the members.
   * By default, 10 users will be displayed. When there are more than 10 users, use the search function to find the signer you are trying to add.
2. Select a role from the dropdown. Currently, Labii supports the roles of "Author", "Co-author", "Witness", "Inspector", "Manager", "Signer", "Submitter", and "Recipient". Please contact <help@labii.com> if you would like to have additional roles added.
3. Click **Submit** button

### Add signers from default

In Labii's [electronic laboratory notebook](https://www.labii.com/electronic-lab-notebook-eln), you can save a default list of signers by clicking "**Save as default signers**" to avoid adding the same list of signers again and again. The default list of signers will be added to the newly created record once saved. Each table can have a customized list of default signers.

In the absence of any signers, clicking "**Save as default signers**" will remove the default list of signers.

For existing records without any signers, you can also use "**Load default signers**" to load the default signers list.

### Add signers from template

When the record is [created from a template](#add-signer-from-template), the signers will be copied and you will not need to enter them again for the new record.

### Edit signer

You can change the role of a signer by hovering over the signer and clicking the "<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr.svg/1024px-OOjs_UI_icon_edit-ltr.svg.png" alt="" data-size="line">" icon. From the dropdown, choose a role and click submit.

![](/files/oQoE8gTTicdaGKI7J3IO)

All other fields cannot be changed.

### Change order

It is possible to update the signing order if no one has signed the document. To change the order, click on the "<img src="https://cdn.iconscout.com/icon/free/png-256/drag-indicator-1779315-1512591.png" alt="" data-size="line">" icon, and drag the signer to the expected order and release.

### Remove signer

To remove a signer, click on the "**Remove**" button. You can only remove unsigned signers.

Signed users cannot be removed.

### Set minimum number of signers

For some companies, signing a record in the [electronic notebook](https://www.labii.com/electronic-lab-notebook-eln) required at least two signers, one as author and the other as witness. A minimum number of signers for a table can be set according to your company's policy. Unless the number of added signers reaches a minimum number of signers, the first signer will not be able to sign the document.

You will be instructed on how many more signers need to be added.

![](/files/2erTgnnIxqSZq61N4s0A)

Click on "**Set minimum signers**" to change the minimum number of signers. Changing the value can also be done in **Settings -> Tables -> Click table name -> minimum\_number\_of\_signers**. This can only be done by administrators.

### Search signers

You can search signers by typing a keyword into the search bar in the **signer list view**, and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter signers

With the **Filter** function, you can limit the number of signers displayed. You can do that by clicking **All signers** and then selecting a filter from the dropdown. Here are a list of filters:

* **All signers**. Filter to display all signers.
* **Signed signers**. Filter to display the signers already signed.
* **Unsigned signers**. Filter to display the signers need to sign.

## Signing and witnessing

In Labii, the signing and witnessing processes are identical. If you are the author, you mainly sign the document. As a witness, you are witnessing a signed document.

### Signing order

![](/files/JOAvASam9icMh2mw73Zq)

The signers must sign the record in order. The first signer must sign first. After signing, the record will be locked from editing and the second signer will be notified to sign. The second signer can either continue to sign or reject the signature.

* In the event of a second signer signing the document, it will further notify the third signer if there is one.
* If the second signer rejects the signature, the record will revert to editing mode. The first signer will then be notified to update the record.
* The process will continue until all signers have signed the document.

### Signing

When it is your turn to sign, you will see a "**Sign**" button under your name. To sign, click the "**Sign**" button.

![](/files/S4HF152YKfeR9vsj4erH)

1. Please add a comment if you wish.
2. Enter your login password. Your login password is used to verify your identity. If you use SSO to login, you can reset/generate your Labii password by clicking the Forgot Password link on the Login page.
3. Sign your name.
4. Click on Submit to sign. By signing, you certify that the record is accurate to the best of your knowledge. After signing, the document cannot be changed or deleted.
5. The next signer will be notified after signing.

![](/files/gFEHoHMLUw7Bt2AFqWFf)

### Message signer

To facilitate communication with the signer regarding signing or requesting changes, you can utilize the functionality of the "Send message" button. This feature allows you to remind the signer to sign or prompt them to request any necessary modifications.

### Reject

Click the "**Reject**" button if you don't approve the document after it has been signed by the authors.

![](/files/HXxF81Cka1YeI75mVGVG)

You will be required to enter the **reason for your rejection** and the **login password** to verify your identity.

![](/files/2OIp98cEeehbziTqghZ6)

Upon rejection, the record will revert to editing mode. Your comment will be sent to the signed signers.

### Signing at Sections/Notes tab

At the Section and Notes tab, you can also sign the record.

![](/files/QScbtNFrBJy8sfTNKhHI)

* When it is your turn to sign, you will see a sign button at the top of the Sections/Notes tab. Click "Sign" to sign.
* If you are the next witness, you should see a sign and reject button on the Section/Notes tab. Click "Sign" to sign, and "Reject" to reject.

### Sign as author

![](/files/PiUWFCHJEYlCSGLipLWQ)

If there are no signers added, and there is no limit to the minimum number of signers, the Sign button on the Sections and Notes tab will display as `Sign as author`. Clicking this button creates a signer in your name and signs the document simultaneously.

### Signing at Signers widget

Additionally, Labii's Signers widget enables you to sign directly inside a document. It displays the same content as the Signers tab. The widget replaces the previous Signatures widget.

## Modify after signing

Once a document is signed, it cannot be changed. Whenever there is a need for changes, you should have the next signer reject the signature so that the record will return to the editing mode.

If all signers have signed, you can add a new signer and have that person reject the signatures.

All signers must resign the document after all changes have been made.

Labii documents each sign-off and rejection, ensuring the change of data meets the regulatory requirements.


# Versions

Display all versions related to the changes

Whenever a change is made, Labii [Electronic Lab Notebook (ELN)](https://www.labii.com/electronic-lab-notebook-eln) and [Laboratory Information Management System (LIMS)](https://www.labii.com/laboratory-information-management-system-lims) saves a new version of the record automatically. This page shows all versions related to a record.

The content display is similar to the [Version](/widgets/section-widgets/regulation/audit-trail#version) widget. You can use the Version widget to insert the version information in your detail view.

## Blockchain

A [blockchain](https://en.wikipedia.org/wiki/Blockchain), originally block chain, is a growing list of records, called blocks, which are linked using cryptography. Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data. By design, a blockchain is resistant to modification of the data.

[Labii](https://www.labii.com) is the **FIRST** and the **ONLY** company in the market that [uses the blockchain technology to secure your research data](https://blog.labii.com/2018/03/using-blockchain-technology-inelectronic-lab-notebook-eln.html). A key (Hash) is created as the signature to each version, and used to verify the connections to its previous version.

**Labii utilizes the hash key (blockchain technology) of each version to ensure no alter can be made to any of the previous versions.**

> **11.10(a)** Validation of systems to ensure accuracy, reliability, consistent intended performance, and the ability to discern invalid or altered records.
>
> \-- FDA 21 CFR part 11

## Version List

A list of versions are displayed at this page. Each version contains a version number, a customized or auto generated commit message, the user, the timestamp, a hash key, as well as a checking icon.

![](/files/h9Ou63NhmGvCfnHazpa8)

On default, 10 most recent versions are loaded in the detail view, click "**Load More**" button to load more activities.

### Search versions

You can search signers by typing a keyword into the search bar in the **version list view**, and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter versions

With the **Filter** function, you can limit the number of signers displayed. You can do that by clicking **All versions** and then selecting a filter from the dropdown. Here are a list of filters:

* **All versions**. Filter to display all versions.
* **Renamed versions**. Filter to display the versions that have been renamed.
* **My versions**. Filter to display the versions created by you.

## Commit message

The commit message of a version can be updated for easy memory. A commit message indicates the message of changes, and why the change is made.

Click the pencil icon next to the version to update the commit message.

{% hint style="info" %}
The update of the commit message will not change the connect of the version.
{% endhint %}

## Preview a version

The detail of each version can be preview via clicking the the version title. The view is same as the [print view](/user-guide/detail-view#print), and it is readonly, no changed can be made.

## Restore to a previous version

If mistakes are made, you have options to restore to a previous version. Click "**Restore**" to restore. The restore will create a new version with notes "restored from version xxx".


# Activities

Shows the change activities of a record

An [audit trail](https://en.wikipedia.org/wiki/Audit_trail) is a security-relevant chronological record, set of records, and/or destination and source of records that provide documentary evidence of the sequence of activities that have affected at any time a specific operation, procedure, or event.

The content display is similar to the [Activity](/widgets/section-widgets/regulation/audit-trail#activity) widget. You can use the Activity widget to insert the activity information in your detail view.

## Activity list

This page shows a list of activities related to the record. Each activity shows what been changed, user, and date stamp.

<figure><img src="/files/hCC2jQVyKqFrxu0hRqIg" alt=""><figcaption></figcaption></figure>

On default, 10 most recent activities are loaded in the detail view, click the "Load More" button to load more activities.

### Search activities

You can search signers by typing a keyword into the search bar in the **activity list view**, and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter activities

With the **Filter** function, you can limit the number of signers displayed. You can do that by clicking **All activity** and then selecting a filter from the dropdown. Here are a list of filters:

* **All activities**. Filter to display all activities.
* **My versions**. Filter to display the activities created by you.


# Visitors

Display a list of visitors

The Visitors document a list of users who viewed the record.

The content display is similar to the [Visitor](/widgets/section-widgets/regulation/audit-trail#visitor) widget. You can use the Visitor widget to insert the visitor information in the section view.

The page captures who and when the page is visited.

### Search visitors

You can search signers by typing a keyword into the search bar in the **visitor list view**, and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter visitors

With the **Filter** function, you can limit the number of visitors displayed. You can do that by clicking **All visitors** and then selecting a filter from the dropdown. Here are a list of filters:

* **All visitors**. Filter to display all visitors.
* **My visitors**. Filter to display the visitors created by you.


# Permissions

Display a list of permissions that letting a user read or write a record.

## Overview

Permission is the act of letting a user read or write a record in Labii [Electronic Lab Notebook (ELN)](https://www.labii.com/electronic-lab-notebook-eln) and [Laboratory Information Management System (LIMS)](https://www.labii.com/laboratory-information-management-system-lims).

[Labii supports both top-down and bottom-up permission structures](https://www.labii.com/blogs/AJzjaUrBhFU1db1KuHf-permission-control-in-eln--lims-topdown-vs-bottomup/). With top-down permission, the administrator or PI determines everyone's permissions in the company. As for the bottom-up, everyone controls the permissions of their folders/projects.

Permissions for Labii are controlled both at the organization and project level. Users can be assigned to the following roles:

* `is_administrator=true`, administrators have full control over the account, can create projects and view all records.
* `is_readonly=true`, then readonly users can only be granted Read permission
* `is_archived=true`, archived users cannot access any data.

{% hint style="info" %}
In the bottom-up permission structure, any member who is not a read-only user can create their own projects and share them.
{% endhint %}

Permissions can be assigned to teams and individuals within a project:

* `permission=Admin`, the project manager(s). Administrators can update project settings, create subprojects, and update member access.
* `permission=Edit`, Team members and people with Edit permission to the project can add new records and edit existing records.
* `permission=View`, Users with the View permission to the project can read the record.

## Open permissions view

Similar to the columns view, the permissions view can be accessed by simply clicking on the "Permissions" tab when a record is opened.

![](/files/NZSGhS3EZvO0eUmupK9n)

### Search permissions

You can search teams by typing a keyword into the search bar in the **permission list view**, and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter permissions

With the **Filter** function, you can limit the number of permissions displayed. You can do that by clicking **All permissions** and then selecting a filter from the dropdown. Here are a list of filters:

* **All permissions**. Filter to display all permissions.
* **My permissions**. Filter to display the permissions for you.
* **Write permissions**. Filter to display the permissions can write.
* **Read permissions.** Filter to display the permissions can read.

## How does permission generated

Permissions are generated automatically based on your permission settings at the organization and project levels. These are the typical events that trigger the generation of permissions.

#### Organization level:

1. New people added.
2. Change the is\_administrator status of a people
3. Change is\_archived status of a people
4. Change is\_readonly status of a people
5. Change team members
6. Change is\_archived status of a team
7. Delete team

#### Project level

1. Change is\_archived status of a project
2. Change the team/people of the project member
3. Change the permission of the project member

#### Record level

1. New record is added
2. Change the projects of the record

## Add permission

According to your organization and project settings, permissions will be automatically updated. It is usually not recommended to add a record-level permission manually. After the above events are updated, permissions added manually could be wiped out.

The add permission function can be used if you need to give a temporary permission to a user. To add a permission, click "**+Permission**". This will display a form.

![](/files/YGm8NoiIz192LCqdPPvC)

1. Select a people from the dropdown menu
2. Choose a Read or Write permission
3. Click **Submit** button

## Edit permission

It is also not recommended to change the permissions manually. Any change in permission could be erased by any of the above events.

To update a permission temporarily:

1. Click the pencil icon (<img src="/files/l0Nx6YsHeC1nHCz1HBI3" alt="" data-size="line">) next to a people or a permission
2. Choose a new people from the dropdown or choose a new permission from dropdown.
3. Click **Submit** button.

## Delete permission

Likewise, deleting permissions is not recommended. Deleted permissions will be restored when one of the above events occurs.

The temporary permission you added can, however, be removed using this function. Click on the "delete" icon (<img src="/files/tyPRKoKLH1VwnK9MJIRf" alt="" data-size="line">) next to a permission to remove it.

## Regenerate permission

You can regenerate permissions if you believe that the current list of permissions is not accurate based on the organization's and project's permission settings. Click the "**Regenerate Permission**" button to regenerate permissions


# Section

Display the data of one single section.

The section view, previously known as workflow view, is a new view type that only shows one section at a time. The section view is similar to the sections view in that you can view and edit the data for a particular section, but it is lighter.

You can use the section view for:

1. Steps in the workflow. When a step in the workflow needs to update the value for a particular section, this section view will be opened
2. The notes view. The sections can be inserted into notes and opened from there for further editing.

## Open section view

When a record is open, under the Overview tab, click a section from the Sections to open a new tab.

![](/files/B9kAkE0BpDtxG7a81IGK)


# Actions

## Overview

The detail view provides a range of actions for managing the current record. You can edit multiple columns in a prefilled form, use AI to prepare updates across multiple fields, sign the record for approval, print it for offline documentation, or share it with others. These actions streamline record updates, collaboration, and documentation.

## Actions

* [Edit Columns](/user-guide/detail-view/actions/edit-columns)
* [Sign](/user-guide/detail-view/actions/sign)
* [Print](/user-guide/detail-view/actions/print)
* [Share](/user-guide/detail-view/actions/share)


# Edit Columns

Edit multiple columns of the current record in a single prefilled form.

## Overview

The **Edit Columns** action opens a form similar to the Add Record form. Instead of creating a new record, the form updates the current record and prefills its existing column data so you can review and modify values in one place.

Use this action when you want to edit multiple columns at the same time or use the AI Assistant to automatically update multiple fields. To change only one value, you can edit that column directly in the record detail view.

## Edit Multiple Columns

{% stepper %}
{% step %}
Open the record you want to update in the detail view.
{% endstep %}

{% step %}
Click **Actions**, then select **Edit Columns**.
{% endstep %}

{% step %}
Review the prefilled form. The fields display the current column data for the record.
{% endstep %}

{% step %}
Update one or more fields as needed.
{% endstep %}

{% step %}
Review your changes, then save the form to update the record.
{% endstep %}
{% endstepper %}

## Update Fields with AI

The AI Assistant can interpret structured or descriptive text and prepare values for multiple form fields at once.

{% stepper %}
{% step %}
From the Edit Columns form, click **AI Assistant** in the side menu.
{% endstep %}

{% step %}
Enter or paste the information you want to apply to the record, then submit it to the AI Assistant.
{% endstep %}

{% step %}
Review the AI-generated field values.
{% endstep %}

{% step %}
Choose how to apply the values:

* Click **Update** to fill only empty fields and preserve existing data.
* Click **Overwrite** to replace fields that already contain data.
  {% endstep %}

{% step %}
Confirm that the updated values are correct, then save the form.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Review AI-generated values before saving, especially when using **Overwrite**, because this option can replace existing record data.
{% endhint %}

## Related Documentation

* [Add a Blank Record](/user-guide/add-record/add-a-blank-record)
* [Bulk Edit Columns](/user-guide/list-view/bulk-operations/bulk-edit-columns)


# Sign

Labii's Sign and Signature feature is designed to streamline the process of digital record-keeping and ensure compliance with regulatory requirements.

## Overview

Labii's Sign and Signature feature is designed to streamline the process of digital record-keeping and ensure compliance with regulatory requirements. Here’s a quick overview of how it works:

1. **Digital Signing:** Users can digitally sign records to meet regulatory standards. This feature ensures that once a record is signed, it is locked from further editing, providing a secure and tamper-proof audit trail.
2. **Sequential Signing:** The signing process is managed in a specific order. After the first signer completes their signature, the second signer will receive a notification. This notification prompts them to review and sign the record.
3. **Rejection Option:** If the second signer finds any issues with the record or the first signature, they have the option to reject the signature. This ensures that all stakeholders have a chance to review and approve the record before it is finalized.

Overall, Labii's Sign and Signature feature enhances the integrity and accountability of record management by facilitating a secure and organized signing process.

You can also sign documents in the [Signers](/user-guide/detail-view/signers) view and [Signers](/widgets/section-widgets/regulation/signature/signers) widget.


# Print

The Labii print function allows users to print all details of a record into a PDF or directly to any printer.

## Overview

The Labii print function allows users to print all details of a record into a PDF or directly to any printer. Users can configure various print settings before printing, such as hiding specific sections, columns, notes, logos, titles, version information, commit messages, and audit trails, ensuring a customized and comprehensive printed document.

## How to use

To print a single record:

1. In the record detail view, click the "Actions" dropdown.
2. Select "Print".

To bulk print:

1. In the record list view, select one or more records.
2. Click the "Bulk print" dropdown.
3. Select "Bulk print".

## Print Interface

The Print Interface allows you to customize your final print page through an intuitive layout. On the left panel, you will find the print settings where you can configure various options such as hiding sections, headers, title, version, and audit trail. The right panel displays a print preview that dynamically updates to reflect any changes you make in the settings. This setup ensures you can easily visualize and adjust the final output before printing or downloading.

### Print Settings

From the left panel, you can configure the final print page. Specially:

* **Should hide header** - Check to hide the page header. You can customize the header in the organization settings.
* **Should hide footer** - Check to hide the page footer.
* **Should hide version number** - Check to hide the version in the title
* **Should hide audit trail** - Check to hide the timestamp and user information after each section
* **Should hide index** - Check to hide the index before each section.
* **Hidden groups and sections** - Select print sections to hide. You can also click the HIDE button on the right panel.
* **Hidden groups and section names** - List of group/section names to be hide.

### Print Actions

* To open the print page directly, click the **Print** button.
* To download the final page, click **Download**.
* To view the final page, click **Preview**
* To save your printing settings, click **Save as default**. You can apply default settings for individuals or entire organizations. The priority order for settings is: 1) URL query, 2) Personal default, 3) Organization default.

### Print Preview Actions

* Click **Insert Page Break** button to insert a page break.
* Click **Hide** to hide one of the print sections.

## Custom Print Header

The header of the print page can be customized at both the [**organization**](/admin-guide/organization#branding) level and the [**table**](/admin-guide/tables#table-detail) level. Update the `print_header` in the organization settings or table settings. If both are provided, the `print_header` from the table settings will override the organization settings. If no `print_header` is provided, the organization's logo will be used. If the logo is not provided, the organization name will be used.


# Share

Create a shareable link that can be sent to others.

## Overview

Labii's Share function allows users to easily create a shareable link that can be sent to others, even if they don’t have a Labii account. This feature is perfect for collaborating with external parties, such as sharing quotes with customers and receiving their feedback or approval. Users can specify which fields are editable by the recipient, allowing for seamless interaction. For example, a user can share a quote with a customer, enabling them to review and approve certain fields, all without requiring them to log in to Labii.

## How to use

To share a record using Labii's Share function, follow these detailed steps:

1. **Open the Record Detail View**: Navigate to the specific record you want to share.
2. **Click the Actions Menu**: In the top right corner of the record detail page, locate the "Actions" button and click on it to open the dropdown menu.
3. **Select Share**: From the dropdown menu, choose the "Share" option. This will open the Share Settings configuration screen.
4. **Configure the Share Settings**: In the Share Settings panel, you'll be able to customize what information you want to share. You can choose which fields are visible or editable, and whether the recipient can leave comments or provide input. You can also set any specific permissions, such as whether the recipient can edit certain details or just view them.
5. **Click Preview**: Once you've configured the share settings to your liking, click the "Preview" button to generate a preview link. This allows you to view exactly what the recipient will see and interact with.
6. **Share the Preview Link**: After previewing the shareable link, you can copy the URL and send it to the recipient. This link can be shared with anyone, regardless of whether they have a Labii account, and they will be able to view (and potentially edit) the fields you've selected based on the permissions you've set.

This process makes it easy to collaborate with external users, gather feedback, or get approvals—all without needing them to log into Labii.

## Share Settings

* **Display settings** - Configure how do you want to display this record.
  * **Should hide header** - Check to hide the header. You can customize the header in the organization or table settings.
  * **Should hide footer** - Check to hide the footer.
  * **Should hide index** - Check to hide the index before each section.
  * **Hidden groups and sections** - List of groups and sections to be excluded.
  * **Hidden groups and section names** - List of group/section names to be hide.
* **Permission settings** - Configure view, edit and expiration date permissions.
  * **Editable fields** - List of fields to be editable.
  * **Editable columns** - List of columns to be editable
  * **Editable sections** - List of sections to be editable.
  * **Should be editable if blank** - Check to enable editing if a editable field/column/section is blank.
  * **Should display editable UI** - Check to display the editable UI. If disabled, the user can still edit the editable field/column/section by clicking the Edit button. Use this option to provide intuitive editing experience.
  * **Date expiration** - Set the expiration date of this public access. Leave it empty to never expire.
  * **API Key** - API key to access this public table.\
    If you don't have one, click [this link](http://localhost:3000/form/settings/apikeys/0/) or the bellow Generate API Key button to create one. Please save the API key in a safe place.\
    Generate API Key will generate a new API Key and save it as {{SHARE\_API\_KEY}} in your profile metadata. The saved API Key can be loaded to this field automatically.\
    The same permission of the API Key user will be applied to the share access.

## Preview

The preview page will display how the final shareable page will appear to users.

* **Use Hidden Groups and Sections** to specify which groups or views will be visible in the shared version. This allows you to control which sections of the record are accessible to the recipient.
* **Use Editable Fields, Editable Columns, and Editable Sections** to define which specific fields, columns, or entire sections can be modified by the recipient. This ensures that only designated areas are open for editing, while others remain locked for viewing only.
* **Enable "Should Enable Editing"** to allow users to directly edit the form view for editable columns. This eliminates the need for extra clicks, making it easier for the recipient to input or modify values right within the shared page.

## Generate API Key

The shared page utilizes an API key to control access. If you haven't yet created an API key, click "Generate API Key" to generate one instantly. This API key ensures secure authorization and access management for your shared pages.

A metadata with label of {{SHARE\_API\_KEY}} will be saved at your profile level. The same saved API Key will be loaded next time when you open the share settings.

## Save as default

To streamline the sharing process, Labii allows users to save their share settings as default. Once saved, these default settings will automatically load the next time the share settings are accessed. The Share Settings offer three levels of default options:

1. **Save as My Default**: Saves the settings for your personal use, so they will be applied to all future shares you create.
2. **Save as Table Default**: Saves the settings for the specific table or record type, applying them to all users who share records within that table.
3. **Save as Organization Default**: Saves the settings at the organization level, ensuring that all users within your organization will have the same share settings applied by default.

These options help maintain consistency and efficiency when sharing records across different users and teams.

## Security

To ensure that users can only edit the fields specified by the record owner, Labii encrypts both the URL and the API key. This encryption prevents users from tampering with the URL to gain access to or modify other records, ensuring secure and controlled access to the shared content.

## SHARABLELINK Variable

You can use the `{{SHARABLELINK}}` variable to include the link in the email body or any other field that supports variables for easy sharing with other users.

You can use the `{{SHARE_API_KEY}}` variable to define the API Key to be used from the user or organization level.


# Navbar

Navigate core actions from the top bar, including menu, search, scan, support, and profile

## Overview

The Navbar is the top navigation bar in Labii. It provides quick access to common actions from anywhere in the app, including opening the side menu, searching, scanning, support, and user profile settings.

## Navbar items

### Search

Use **Search** to quickly find data.

* For workspace-wide lookup, use [Global search](/user-guide/navbar/search/global-search).
* For table or project-focused lookup, use [Search at list view](/user-guide/navbar/search/search-at-list-view).

### Scan

Use **Scan** to open scanning workflows available in your organization.

### Support center

Use **Support** to access help resources and support channels. The support dropdown includes:

* **Documentation** — Open the Labii documentation site.
* **YouTube** — Visit the Labii YouTube channel.
* **Videos** — Browse video tutorials inside Labii.
* **Shorten URLs** — Manage shortened URLs.
* **Tickets** — Submit and track support tickets.
* **Chat with us** — Start a live chat with the support team.
* **Schedule a meeting** — Book a meeting with the Labii team.
* **Survey** — Share your feedback via a survey.
* **Resources** — Access additional resources.
* **Download** — Download Labii desktop or mobile apps.

{% hint style="info" %}
For additional help resources, see the [Support](/support/support) section.
{% endhint %}

### User profile

Use the user profile menu to access account-related actions and personal settings. The menu includes:

* **My Profile** — View and update your personal profile.
* **API Keys** — Manage your personal API keys.
* **Logout** — Sign out of your Labii account.

## Organization-level customization

The Navbar can be customized at the organization level to match your branding.

You can customize:

* Logo
* Navbar background color
* Navbar text color

For details, see [Organization settings](/admin-guide/organization) in the Admin Guide.


# Search

Category overview for searching data in Labii

## Overview

Use Search to quickly locate tables, projects, and records across Labii. This category covers global search from the navbar and detailed search workflows inside list views.

{% embed url="<https://youtu.be/-_XxLYlowcA>" %}

## In this category

* [Global search](/user-guide/navbar/search/global-search): Search across **Tables**, **Projects**, and **Records** from one centralized search panel.
* [Search at list view](/user-guide/navbar/search/search-at-list-view): Use **Quick Search**, **Deep Search**, **Advanced Search**, and **Bulk Search** in list views.
* [Search query](/user-guide/navbar/search/search-query): Build field-based query expressions (including `in` with comma-separated values) for filters and advanced search.

## Choose the right search

* Use **Global search** when you are not sure where the data is located.
* Use **Search at list view** when you are already in a specific table or project and need precise filtering.
* Use **Search query** when you need reusable, expression-based query syntax.

{% hint style="info" %}
For bulk ID matching in Advanced Search, use the **In** lookup expression and provide IDs as a comma-separated list.
{% endhint %}


# Global search

Search across tables, projects, and records from one centralized search panel

## Overview

Global Search helps you find information across the entire workspace from one place. Instead of opening each table or project separately, you can enter a keyword once and review matching results in grouped categories.

Search results are grouped into:

* **Tables**
* **Projects**
* **Records**

Any category without matches is hidden automatically.

## How to use

{% stepper %}
{% step %}
Click **Search** from the navbar.
{% endstep %}

{% step %}
Enter one or more keywords in the search panel.
{% endstep %}

{% step %}
Review results shown automatically under **Tables**, **Projects**, and **Records**.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Use specific terms such as sample IDs, project names, or unique record text to narrow results faster.
{% endhint %}

<figure><img src="/files/Efjw6ZAQWhK7eReE45sJ" alt=""><figcaption></figcaption></figure>


# Search at list view

Search records in list views using quick, deep, advanced, and bulk search modes

## Overview

The Search at List View feature helps you quickly find records in project, table, and settings list views. It supports simple keyword search, full-field search, rule-based search, and bulk ID search.

**Key Features:**

1. **Quick Search:** Searches `name` and `description`. Fast for everyday lookups.
2. **Deep Search:** Searches across all fields. Slower, but more complete.
3. **Advanced Search:** Builds multi-condition queries with field, expression, and value.
4. **Bulk Search:** Finds records by a list of IDs loaded in one action.

## Views

The search function is supported at the following list view:

* [Table list view](/user-guide/list-view/table-list-view) - The Table List view displays a list of records for a table.
* [Project list view](/user-guide/list-view/project-list-view) - The Project List view displays a list of records for a project.
* Setting list view - The Settings List View displays a list of particular settings items.

## Quick Search

Quick Search is designed for speed. It checks `name` and `description`, making it ideal for fast, first-pass lookups.

<figure><img src="/files/I4ononxbV41AnMsxlubh" alt=""><figcaption></figcaption></figure>

{% stepper %}
{% step %}
Enter a keyword in the search box.
{% endstep %}

{% step %}
Press **Enter** or click **Search**.
{% endstep %}

{% step %}
Review matched records from `name` and `description`.
{% endstep %}
{% endstepper %}

## Deep search

Deep Search checks all searchable fields for the term you provide. It is slower than Quick Search, but it returns more complete results.

{% stepper %}
{% step %}
Enter a keyword in the search box.
{% endstep %}

{% step %}
Click **Deep search**.
{% endstep %}

{% step %}
Review results returned from all relevant fields.
{% endstep %}
{% endstepper %}

## Advanced search

Advanced Search lets you define one or more query rules by choosing a field, lookup expression, and value.

<figure><img src="/files/YVs82DzjNGjKcavwseOS" alt=""><figcaption></figcaption></figure>

{% stepper %}
{% step %}
Click **Advanced search** to open the query panel.
{% endstep %}

{% step %}
Add one or more rules by selecting **Field**, **Lookup expression**, and **Value**.
{% endstep %}

{% step %}
For ID list matching, set **Lookup expression** to **In**.
{% endstep %}

{% step %}
Use **AI** to select a file and load IDs that are separated by commas (`,`).
{% endstep %}

{% step %}
Click **Perform advanced search**.
{% endstep %}

{% step %}
Optional: click **Save as new filter** to reuse this query later.
{% endstep %}

{% step %}
Click **Cancel** to hide the advanced search panel.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Use the `In` expression when you need to match many specific IDs in one search. The value source should be a comma-separated list.
{% endhint %}

## Bulk search

Bulk Search is useful when you already have many record IDs and want to retrieve matching records at once.

{% embed url="<https://youtu.be/aP6fu7YNJ30>" %}

{% stepper %}
{% step %}
Open **Advanced search**.
{% endstep %}

{% step %}
Choose the ID field for your records.
{% endstep %}

{% step %}
Set the **Lookup expression** to **In**.
{% endstep %}

{% step %}
Use **AI** to select your source file and load the ID list.
{% endstep %}

{% step %}
Confirm IDs are comma-separated (`,`), then run the search.
{% endstep %}
{% endstepper %}


# Search query

Reference for building search queries used in filters and advanced search

## Overview

A search query defines which records Labii should return. You can use queries in list view filters, advanced search, and widgets that support query input.

In general, a query is written as URL parameters.

## Query format

A query contains three parts:

```
[field]__[expression]=value

# Example:
name__icontains=test
```

You can chain expressions with `__`.

```txt
# Convert date_start to date, then return records on/after 2022-02-01
date_start__asdate__gte=2022-02-01
```

## Query expressions

Supported expressions include:

* **contains**: Returns results that match the provided value, case sensitive.
* **not\_contains**: Returns results that do not match the provided value, case sensitive.
* **icontains**: Returns results that match the provided value, regardless of case.
* **not\_icontains**: Returns results that do not match the provided value, regardless of case.
* **in**: Returns results within the provided list separated by `,`.
* **jcontains**: Returns results that match the provided value with a JSON field.
* **jcontains\_any**: Returns results that match any of the provided value separated with "," with a JSON field.
* **not\_jcontains**: Returns results that do not match the provided value with a JSON field.
* **acontains**: Returns results where a comma-separated list of values exists within a JSON array field.
* **asimilarity**: Returns results above a similarity threshold by comparing a JSON field with a comma-separated input string.
  * **asimilarity\_65**: Returns results with over 65% similarity between a JSON field in the model and a comma-separated input string.
  * **asimilarity\_75:** Returns results with over 75% similarity between a JSON field in the model and a comma-separated input string.
  * **asimilarity\_85:** Returns results with over 85% similarity between a JSON field in the model and a comma-separated input string.
  * **asimilarity\_95:** Returns results with over 95% similarity between a JSON field in the model and a comma-separated input string.
* **gt**: Returns results that are greater than the provided value.
* **gte**: Returns results that is greater than or equal to the provided value.
* **lt**: Returns results that is less than the provided value.
* **lte**: Returns results that is less than or equal to the provided value.
* **int**: Converts the database value to integer.
* **asdate**: Converts the database value to a date object.
* **asstring**: Converts the database value to a string.
* **ne**: Returns results that are not equal to the provided value.

{% hint style="info" %}
For bulk ID matching in Advanced Search, use the **In** lookup expression with values separated by commas, for example: `sid__in=id1,id2,id3`.
{% endhint %}

## Query by multiple fields

Use `&` to combine multiple conditions.

```
name__icontains=test&is_archived=false
```

## JSON field filters

Examples for filtering JSON fields:

* Contains a string value: `jsonfield__icontains=test`
* Does not contain a string value: `jsonfield__not_contains=test`
* Contains a key: `jsonfield__has_key=test`
* Contains an object: `jsonfield__jcontains={'name':'test'}`
* Does not contain an object: `jsonfield__not_jcontains={'name':'test'}`

Filter by filter set:

* Single filter set: `filter__sid=xxx`
* Multiple filter sets with AND: `filter__sid=xxx,xxx`
* Multiple filter sets with OR: `filter__sid__in=xxx,xxx`

Filter by JSON query (same structure as filter set):

* `jquery={a:1,b:2,c=3}`
* `jquery={"or": [{sid:aa,data:bb}, {sid:aa,data:bb}]}`
* `jquery={"and": [{sid:aa,data:bb}, {sid:aa,data:bb}]}`

{% hint style="warning" %}
Database JSON fields no longer support the legacy array format:

`["or", {sid:aa,data:bb}, {sid:aa,data:bb}]`

Use this object format instead:

`{"or": [{sid:aa,data:bb}, {sid:aa,data:bb}]}`
{% endhint %}

## Examples

1. All unsigned experiments:

   ```
   {"is_archived": false, "is_locked": false}
   ```
2. All unfinished experiments (at least one signer has not signed):

   ```
   {"is_archived": false, "signer__signature__isnull": true}
   ```
3. Signed but unfinished experiments (at least one witness has not signed):

   ```
   {"is_archived": false, "signer__signature__isnull": true, "is_locked": true}
   ```


# Scan

Scan barcodes and QR codes to find or add records quickly

## Overview

Labii includes built-in barcode and QR code scanning to help you find records or add records faster.

You can use either your device camera or an external scanner.

## Scan page

Use the Scan page to scan barcodes or QR codes directly.

{% stepper %}
{% step %}
Click **Scan** in the navbar.
{% endstep %}

{% step %}
Select your input source (camera or external scanner).
{% endstep %}

{% step %}
Scan the barcode/QR code.
{% endstep %}
{% endstepper %}

Once the scan is completed, Labii executes the configured post-scan action.

### Scanning equipment

Labii supports both built-in cameras and external commercial scanners.

* **Camera**: Scan using the camera on your laptop, tablet, or phone. On mobile devices, you can choose front or back camera.
* **Scanner**: Use any compatible external scanner by connecting it to your device and scanning directly.

### Action after scan

You can configure what happens after each scan:

* **Append to list**: Adds results to the right panel for bulk processing.
  * Bulk edit, same as [Batch operations](/user-guide/list-view/bulk-operations#bulk-edit)
  * Bulk print, same as [Batch operations](/user-guide/list-view/bulk-operations#bulk-print)
  * Actions, same as [Batch operations](/user-guide/list-view/bulk-operations#bulk-export)
  * Open list view
  * Clear
* **Open in new**: Opens the matched result in a new tab.
* **Open in current**: Opens the matched result in the current tab.

<figure><img src="/files/GOfzNBfWzJI3GMNIXFU0" alt=""><figcaption></figcaption></figure>

## ForeignKey(s)

[ForeignKey](/widgets/column-widgets/form/dropdown#foreignkey) and [ForeignKeys](/widgets/column-widgets/form/dropdown#foreignkeys) widgets also support scanning, so you can select records automatically.

Example: to assign a storage box to a sample, scan the storage box barcode from the ForeignKey(s) widget.

{% stepper %}
{% step %}
Open a form that contains a [ForeignKey](/widgets/column-widgets/form/dropdown#foreignkey) or [ForeignKeys](/widgets/column-widgets/form/dropdown#foreignkeys) field.
{% endstep %}

{% step %}
Open the scanner from that field.
{% endstep %}

{% step %}
Scan the target record barcode/QR code to select it.
{% endstep %}
{% endstepper %}

<figure><img src="/files/PNtvZEyBX22XDRNVVJLa" alt=""><figcaption></figcaption></figure>


# Side Menu


# Home

Home page for welcome messages, announcements, and application navigation.

## Overview

The Home page is the default landing page in Labii. It gives users a quick starting point after signing in by displaying an optional home message and the applications available in the organization.

The page is useful for:

* Sharing a welcome message with users
* Posting announcements such as maintenance notices, policy updates, or reminders
* Showing which applications have been purchased
* Listing the tables available under those applications for quick access

<figure><img src="/files/1RwMwmhvmwxPX0KgVhEb" alt=""><figcaption></figcaption></figure>

## What is displayed on the Home page

The Home page can contain the following sections:

* **Home message** - A custom message displayed at the top of the page when one has been configured
* **Applications** - A list of purchased applications in the organization
* **Tables** - The tables available within each application

If no home message has been added, the page still displays the purchased applications and their tables.

{% hint style="info" %}
The home message is a good place to share onboarding notes, organization-wide announcements, or links to commonly used resources.
{% endhint %}

## Home message

The home message appears at the top of the Home page. It supports formatted content and can be used to make important information visible as soon as users enter the system.

Common examples include:

* Welcome text for new users
* Announcement of scheduled downtime
* Links to SOPs, project pages, or training materials
* Notes about current priorities or deadlines

## Edit the home message

Administrators can edit the home message directly from the Home page.

{% stepper %}
{% step %}
Open **Home** from the side menu.
{% endstep %}

{% step %}
In the home message section, click **Edit**.
{% endstep %}

{% step %}
Enter or update the message content in the editor. You can use the formatting tools to add headings, lists, links, images, or HTML content as needed.
{% endstep %}

{% step %}
Click **Submit** to save the message.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Only administrators can edit the home message.
{% endhint %}

<figure><img src="/files/Z0a6tggDChW2xnnIzV5s" alt=""><figcaption></figcaption></figure>

## Best practices

To keep the Home page useful and readable:

* Keep the message short and easy to scan
* Put the most important announcement at the top
* Remove outdated notices promptly
* Use links instead of long blocks of text when pointing users to detailed resources


# Dashboard

Visual display of data.

## Overview

A dashboard is a visual display of all of your data. With Labii, you can customize the dashboard with widgets to monitor key metrics, track experiment progress, and gain at-a-glance insights into your laboratory operations.

Dashboard can be accessed by clicking **Dashboard** from the side menu. For a full list of available dashboard widgets, see the [Dashboard Widgets](/widgets/dashboard-widgets) reference.

<figure><img src="/files/vnYonjiE1gk6lQPhk8ul" alt=""><figcaption></figcaption></figure>

## Add widget

Click **Add widget** to add a widget to your dashboard. Select a widget from the drop-down menu or click **More widgets** to browse all available widgets. The widget will be appended to the bottom of the dashboard once added.

When adding a widget, configure the following options:

* **Name** — Provide a display name for the dashboard item.
* **Size** — Set the size of the dashboard item. Widgets can be arranged in different sizes to create a structured, readable layout.
* **Height** — Set the widget height in pixels. For best alignment, widgets on the same row should use matching heights.
* **Display as Icon** — Display this dashboard as an icon instead of loading its content on the dashboard page.

## Dashboard view

In dashboard view:

* If **Display as Icon** is set to `false`, the dashboard content is rendered directly on the dashboard page.
* If **Display as Icon** is set to `true`, the dashboard is shown as an icon.

<figure><img src="/files/vnYonjiE1gk6lQPhk8ul" alt=""><figcaption></figcaption></figure>

If too many dashboards are rendered as full widgets, dashboard loading can become slow. For dashboards that are not frequently used, set **Display as Icon** to `true`.

## Dashboard detail view

Clicking a dashboard title or clicking a dashboard icon opens the dashboard detail view. The detail view displays the full dashboard content on one page.

In the detail view, the side menu shows a list of dashboards so users can quickly switch between dashboards.

<figure><img src="/files/Li3j6ZmREmUhcx95eKsl" alt=""><figcaption></figcaption></figure>

## Edit widget

To change the name, size, height, or icon display behavior of an existing dashboard item, click the more actions icon (**⋮**) on the widget and select **Edit widget**.

## Remove widget

To remove a dashboard item, click the more actions icon (**⋮**) on the widget and select **Remove widget**.

## Order widget

To reorder widgets, click and hold the drag handle on a widget, then drag and drop it to the desired position.

## Print

Click **Print** to print the current content of the dashboard.

## Install to all users

If you need to apply a specific dashboard configuration to all users in the organization, use the **Install to all users** function. This ensures that the same widget, along with its associated data, is installed for every user. If a user already has the widget in place, this function will update both the widget data and size for their existing instance.

{% hint style="warning" %}
This function is exclusively available for administrators.
{% endhint %}

## Install to administrators

If you need to apply a specific dashboard configuration only to administrators, use the **Install to administrators** function. This ensures that the widget is installed exclusively for users with administrator roles, without affecting regular users. If an administrator already has the widget, this function will update both the widget data and size for their existing instance.

{% hint style="warning" %}
This function is exclusively available for administrators.
{% endhint %}

## Data caution

Dashboard data is not regulated. Dashboards can be deleted. Use dashboard configuration and data with caution.


# Calendar

## Overview

A calendar is a chart which displays the date and the day of the week, and often the whole of a particular year divided up into months, weeks, and days. The Calendar view in Labii displays the records as events in order for you to keep track of how the research is progressing.

<figure><img src="/files/t6LzS419PrS8XzFo7Okn" alt=""><figcaption></figcaption></figure>

## How does it work

The Calendar searches records that contain dates from the [Date](/widgets/column-widgets/form/datetime#date), [DateTime](/widgets/column-widgets/form/datetime#datetime), and [Appointment](/widgets/column-widgets/form/datetime#appointment) widgets. If a record has a column that contains one or more of these widgets, and those data fall into the date range of the calendar, then the record will be displayed.

Depending on the table, the records will be displayed in a different color.

## Navigation

The calendar has a few buttons that you can use to navigate:

* **Today** - Jump to today
* **Previous** - Previous month/week/day
* **Next** - Next month/week/day

## Views

Calendar also comes with the following views:

* **Month**
* **Week**
* **Day**
* **Agenda**

## Configuration

Different users will see the Calendar differently, and it can be customized. Click Configure button to configure.

* **Tables** - Select one or more tables to display records. Leave it empty to include all records.
* **View** - Set a default view.

<figure><img src="/files/yUHjvPIs4c13xzzz4A5t" alt=""><figcaption></figcaption></figure>

## Open record

The records are clickable and can be opened in a new tab by clicking them.

## Display the events in your own calendar

With Labii's intuitive interface, managing your events has never been easier. Our latest feature allows you to seamlessly integrate your Labii calendar with your personal calendar applications. Here's how it works:

1. **Get ICS URL**: To begin, simply navigate to your Labii calendar and click on the "Get ICS URL" button. This action generates a unique URL that contains all your calendar events.
2. **Import into Your Calendar**: Once you have the URL, import it into your preferred calendar application. Whether you use Google Calendar, Apple Calendar, or any other compatible platform, importing the URL will automatically synchronize your Labii events with your personal calendar.
3. **API Key for Access**: Behind the scenes, we've implemented an API Key system named "ICS" to facilitate secure access to your events. This ensures that only authorized applications can read your calendar data. Should you ever wish to disable this link, it's as simple as deleting the API Key.
4. **Two-Month Event Display**: To keep things relevant, Labii currently displays events within a two-month range of the current date. This means you'll always have timely access to upcoming events without being overwhelmed by unnecessary clutter.

With Labii's "Display the events in your own calendar" function, you can effortlessly stay organized across all your scheduling platforms, streamlining your workflow and maximizing productivity. Try it out today and experience the convenience firsthand!


# Notifications

Labii notification center.

## Overview

A notification is a message that provides the user with reminders, communication from other people, or other timely information from Labii. With Labii's notification center, you can stay informed about your [Electronic Lab Notebook (ELN)](https://www.labii.com/electronic-lab-notebook-eln) and [Laboratory Information Management System (LIMS)](https://www.labii.com/laboratory-information-management-system-lims) activities.

Notifications also support a **Should Encrypt** option. When enabled, notification emails are still sent, but the notification detail is not included in the email body.

**Use cases**:

1. Administrators can send company-wide messages using the notification center.
2. Users can communicate on a particular experiment or record.
3. Email can be scheduled for CRM users.

![](/files/zMokJyFTe7M5G66vAZVz)

## List of notifications

From the side menu, click "Notifications" to open the notification center. The side menu also displays the number of new notifications you have received.

### Inbox

In the notification center, the inbox displays a list of notifications you have received. By default, the inbox will be opened when you click "Notifications" in the side menu.

### Sent

You can access the sent box by clicking **Sent** tab.

A future date appears under "Date sent" to indicate this is a scheduled message. This message will be sent on that date.

### Search notifications

You can search a notification by typing a keyword into the search bar in the **notification list view,** and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter notifications

With the **Filter** function, you can limit the number of backups displayed. You can do that by clicking **Unread notifications** and then selecting a filter from the dropdown. Here are a list of filters:

* **All notifications**. Filter to display all notifications.
* **Read notifications**. Filter to display the notifications that has been read.
* **Unread notifications**. Filter to display the notifications that is unread.
* **System notifications**. Filter to display the notifications that sent from Labii.

### Delete all

By clicking the **Delete all** button, you can delete all notifications. This function can only delete notifications on the current page.

### Subscribe/Unsubscribe

By default, you are subscribed to the notifications, and you will receive an email copy of each notification.

You can subscribe or unsubscribe to the email behavior by clicking the Subscribe or Unsubscribe button. Additionally, you can unsubscribe from Labii's emails by clicking the "unsubscribe" link at the footer.

{% hint style="info" %}
You will continue to receive communication messages from your colleagues if they make should\_email=true when creating a notification.
{% endhint %}

## Notification detail

Click the notification name to view the detail of the notification.

### Notification fields

* **Notification**
  * **Name** - The subject of the notification
  * **Body** - Describes what is being communicated. Labii supports rich text formats.
* **Overview**
  * **Sid** - The Static encrypted identifier of the notification.
  * **Parent** - This notification relates to the current notification. It functions much like the "Reply" feature in an email.
  * **From** - The person who created the notification.
  * **To** - Choose one or more recipients to send the email to. Only active Labii users can be selected.
  * **Emails** - List the emails you'll send in a comma-separated list.
  * **Date to Send Email** - The date on which the email will be sent. If provided, the email will be sent on the specified date.
  * **Should Encrypt** - When checked, the notification detail will not be included in the email body.
  * **Is Read**
* **Attachment**
  * **Rows** - Records associated with this notification. They can be included in the notification body.
  * **Should include Rows** - Whether the rows should be included in the email body. You might not want to include the rows in a CRM.

## New notification

To add a new notification, click "+ Add notification". Complete the required fields, then click "Submit".

If you need extra privacy, check **Should Encrypt** before submitting. Recipients will still receive the email notification, but they must open Labii to view the notification detail.

![](/files/gbl4h94CIxz7kogvSW6L)

## Delete notifications

You can delete notifications from both your Inbox and Sent folders. To delete, click the "delete" icon next to it.

* A notification deleted from Inbox only removes you from the notification. Other recipients are not affected.
* The whole notification will be deleted if a notification is deleted from Sent. The recipients will no longer be able to read the notification.

You can also delete all notifications in one page by clicking **Delete all** button at the Inbox or Sent.


# Reload Organization

Refresh the page

## Overview

Labii includes a Reload Organization button that enables users to refresh the page and update the information displayed on it. This feature is designed to help users stay up-to-date with the latest changes and ensure that they have access to the most accurate and relevant data.

## Navigation

Scroll down on the side menu > Settings > Reload Organization


# Switch Organization

Switch to a different account

## Overview

Labii defines an Organization as a representation of a biotech/pharmaceutical company, academic lab, department, or university that utilizes Labii's platform or licenses its technology. Each Organization is considered a Labii customer and is entirely responsible for the costs incurred from using the Labii platform or licensing its code or technology.

A single company can create one or more Organizations on labii.com. The same email can be added to multiple Organizations, but each Organization is considered a separate account and is responsible for the costs incurred by all of its users. In other words, if an email is added to two different Organizations, both Organizations must pay for the user's subscription fee or pay-per-use fee.

It's important to note that data cannot be shared between different Organizations. If multiple Organizations are created, a specific function can be used to access data within each Organization.

## Navigation

To switch an organization:

Scroll down on the side menu > Settings > Switch Organization


# Change Data Center

Manage your data across multiple data centers efficiently

## Overview

[Labii Data Center](https://www.labii.com/data-centers) is a versatile interface that allows you to manage your data across multiple data centers efficiently. Each data center is associated with its unique API Base URL, ensuring seamless access and control over your data.

One of the key features Labii offers to facilitate this multi-data center functionality is the "Change Data Center" function. This feature enables users to switch between different data centers effortlessly, depending on their specific needs or preferences.

You can access the "Change Data Center" function in two convenient ways. First, it is accessible from both the Side Menu and the Navigation Bar, conveniently located under the "Data Center" dropdown. However, it's important to note that on desktop devices, this option is typically hidden by default, ensuring a clutter-free interface. It becomes visible primarily in the mobile version of Labii, allowing for intuitive data center switching on smaller screens.

This flexibility and accessibility make Labii Data Center a powerful tool for organizations or individuals who need to manage their data across various data centers, all while using a consistent Labii codebase.


# Accounts


# Authentication

Manage your account at Labii

## Overview

If you do not have an account with Labii, you can create an account [here](/user-guide/accounts/create-an-account). If you are joining an existing company, please check with your account administrators and ask them to add you.

Labii has multiple data centers and the URL to login is different. Labii also provides dedicated servers for our customers, you might have your own specific domain to log in. Please check with your administrators or Labii representatives for the URL.

* <https://www.labii.app>
* <https://eu.labii.app> - Labii data center for European customers.

## Switch data center

Labii offers a range of data centers where you can securely store your data. Before logging in, it is important to ensure that you have selected the correct data center. For detailed information about our data centers, please visit our website at <https://www.labii.com/data-centers>.

<figure><img src="/files/N74HZgOYOww2CkTxYn6v" alt=""><figcaption></figcaption></figure>

To switch to a different data center, follow these steps:

1. In the top right corner of the navigation bar, click on the name of the current data center.
2. From the dropdown menu, select "Change data center."

If you are using one of Labii's shared data centers, you can choose a different data center from the dropdown menu labeled "**Shared data center.**"

On the other hand, if you are using a dedicated data center or a local data center, please enter the name of your data center (usually your domain name) in the provided field. After entering the name, click on the "Submit" button to proceed.

## Login

To log on to Labii, visit your server and enter your **Email** and **Password** in the corresponding boxes and click **Submit.**

{% hint style="warning" %}
5 consecutive failed login attempts will result in your account being locked for 1 hour.
{% endhint %}

{% hint style="info" %}
You will receive an email regarding each of your failed logins.
{% endhint %}

## Multi-factor Authentication

{% embed url="<https://youtu.be/v0tUFbHWAps>" %}

MFA with email or text message is supported. To make it work:

1. Add your phone number in **Settings -> My Profile**
2. Enable your MFA in **Settings -> My Profile**

Once MFA is enabled, you will be poped to send a code and enter the access code.

## Single Sign-On

If your company has [Single Sign-On](/admin-guide/single-sign-on) configured, you can login with SSO. To do that:

1. In the login page, click the link of Login with SSO.
2. Enter your domain.
3. Click Submit and you will be redirect to your IdP (Identify Provider) to authenticate.

<figure><img src="/files/94mzvI2oTyjwPcm2jnme" alt=""><figcaption></figcaption></figure>

If you are using a dedicated server, you will be redirected to the identity provider's home page to log in to Labii.

## OAuth2

OAuth2 is an open standard for access delegation that allows users to securely log in to applications using their existing accounts from identity providers like Google and Microsoft. At Labii, you can easily access your account by clicking "Login with Google" or "Login with Microsoft" on the Labii login page, enabling a seamless and secure authentication experience.

## Sign out

To sign out of Labii, click the **"Logout \[your name]"** button on the bottom of the left sidebar, below the Help button.

## Forget password

Use this documentation to change/update your password.

For security reasons, the reset password you received will be invalid after 30 minutes. In that case, you need to use the **Forgot Password** function to get a new link.

{% hint style="info" %}
Before proceeding, please make sure you have followed the **Labii Access Email** to activate your account. If your account is not activated, you can not log in.

If you did not receive such an email, please double check your spam, or double-check with your administrators, they might add the wrong email address.
{% endhint %}

To use Forget Password, you can visit this link (<https://www.labii.app/accounts/password/forgot/>) or click the **Forget Password** button at the Labii login page (<https://www.labii.app/>).

<img src="/files/tkDFeJIc1eOqGLAkqTcS" alt="" data-size="original">

Once clicked, the following page will show up. Provide your email address and click Submit, you shall receive an email from Labii Support (<support@labii.com>) within 2 minutes.

<img src="/files/XhwZ64WvNe7seqNxrbAI" alt="" data-size="original">

Click the link in the email to reset your password.

Once a new password is provided, you shall be able to log in with the new password.

{% hint style="info" %}
Please make sure you click the RESET PASSWORD link within 30 minutes. For security reasons, the link will be expired in 30 minutes.
{% endhint %}

## **Troubleshooting**

Here are the 3 reasons for a user who can not login:

### User is not activated

Before logging in, users must set up their accounts. If your account hasn't been set up yet, please follow [the instructions here.](/user-guide/accounts/setup-an-account)

To verify activation status, administrators can go to Settings -> People -> Click on a user's name -> Check the status column. If it says "<mark style="color:orange;">not activated</mark>," the user hasn't been activated. The administrator can resend the invitation by clicking the "**Send Access Email**" button.

<figure><img src="/files/P54L0SmWsHK8FWFE56pZ" alt=""><figcaption></figcaption></figure>

### Forgot password

If a user's status is <mark style="color:green;">activated</mark> but they're unable to log in, it might be because they've forgotten their password. Try resetting your password using the [instructions provided here](#forget-password).

### Wrong data center

Labii offers different data centers for various regions. Ensure that you're using the URL specific to the correct data center for your location.


# Setup an account

Set up your account after your administrator has created one for you

## Overview

Labii provides administrators with the capability to seamlessly expand their team within the platform. To invite new members, administrators can navigate to Settings, then proceed to People and select Add Personnel. Once the details (First Name, Last Name, Email Address, Title, etc) are entered, a simple invitation initiates the process, prompting the new user to set up their account upon receiving an email notification.

Moreover, for larger teams, administrators can efficiently import lists of users by accessing Settings, clicking on People, and choosing the Import option. This streamlines the onboarding process, ensuring swift integration of multiple members into the Labii ecosystem.

{% embed url="<https://youtu.be/rEtCR-dMFuA>" %}

## 1. Check your email

To begin setting up your account, start by checking your email inbox for a message labeled "**Your Labii Access.**" Locate and click the "**Get My Access**" button within the email to proceed with the setup.

<figure><img src="/files/JOCh45rQLA6PpAoCfy4Z" alt=""><figcaption></figcaption></figure>

In case you don't see this email, it might be in your spam folder. Alternatively, reach out to your administrator to request a resend of the invitation email.

Administrators have an easy way to resend invitation emails. Access the Settings from side menu, navigate to People, select the specific user by clicking their name, and then choose the option to "**Send Access Email.**" This straightforward process ensures that users receive the necessary instructions to join the Labii platform.

## 2. Fill user information

Complete the fields for your personal information, including First Name, Last Name, Password, and Phone. Once done, click the **Submit** button, and your account will be all set up and ready to roll.

<figure><img src="/files/mwZSoS5kqqM7JXtuuiVm" alt=""><figcaption></figcaption></figure>

## **Troubleshooting**

### <mark style="color:red;">Invalid secret</mark>

To enhance security and prevent unauthorized access, the "**Get My Access**" button in the "**Your Labii Access**" email is designed to be clicked only once. If you haven't completed your account setup after clicking it or attempt to click it again, you'll encounter the "<mark style="color:red;">Invalid secret</mark>" error.

To resolve this issue, kindly contact your administrators. They can easily resend another set of credential emails to facilitate your account setup without any hassle.

{% hint style="info" %}
Administrators have an easy way to resend invitation emails. Access the Settings from side menu, navigate to People, select the specific user by clicking their name, and then choose the option to "**Send Access Email.**" This straightforward process ensures that users receive the necessary instructions to join the Labii platform.
{% endhint %}

<figure><img src="/files/P54L0SmWsHK8FWFE56pZ" alt=""><figcaption></figcaption></figure>


# Create an account

Create an account and start using Labii

## Overview

Use the sign-up page to create a new organization at Labii.

Use this link to create an account: <https://www.labii.app/accounts/signup/>

An organization at Labii represents a biotech/pharmaceutical company, an academic lab, department, or university. An organization is the customer of Labii and is entirely responsible for the cost generated in using the Labii platform or licensing Labii code or technology.

One company can create one or more Organizations at Labii. One same email can be added to multiple organizations. Each organization is an individual account and is responsible for the cost of all its users (In other words, if an email is added to two different organizations, both organizations have to pay for the users' subscription fees or pay per use fee). Please note the data can not be shared between two organizations.

{% hint style="danger" %}
**STOP:** If you are joining an existing company, please check with your account administrators and ask them to add you.
{% endhint %}

## Free trial

Labii is free to sign up. Once you signed up, $10 credits will be provided.

If you would love to create an account and evaluate Labii ELN & LIMS, you can get a **FREE two-week trial**. Please contact **<help@labii.com>** to initiate your trial period.

## Sign up

There are 3 steps to sign up. Please follow the guideline to create your account.

### Step 1 of 3: Basic information

Fill all fields and click **AGREE AND SUBMIT** to create an organization. By clicking Submit, you agree to our [Terms of Service](http://www.labii.com/terms-of-service/) and that you have read our [Privacy Policy](https://www.labii.com/privacy-policy/).

### Step 2 of 3: Schedule a demo

We understand the importance of choosing the right ELN and LIMS systems for your organization. Our team members are here to help you evaluate Labii’s useful features.

A demo is **FREE** and can be provided by a video conference with you and/or your team.

You can schedule a demo with Labii at <https://schedule.labii.com>.

### Step 3 of 3: Success

Once submitted, you shall receive two emails from <support@labii.com>. Check your spam and unspam the emails if you did not see the emails.

* **Activate Your Account**: This email indicates your account at labii.com has been created. Please follow the instructions to *activate your account* and *set up your password*. You need to activate your account first to verify your email is correct.
* **Your account at \[Your Organization Name]**: This email indicates you have been added to the organization. A link to the organization's home page is included.

{% hint style="warning" %}
**IMPORTANT:** The Link to set up your password will expire in 30 minutes. If expired, use Forget Password to reset your password.
{% endhint %}


# My Profile

A comprehensive hub for users to manage and update their personal information swiftly and securely

## Overview

The "My Profile" page on Labii serves as a comprehensive hub for users to manage and update their personal information swiftly and securely. This feature empowers users to modify their personnel details seamlessly, ensuring accuracy and relevance in their Labii experience. Additionally, the page provides specific settings customization, including Multi-Factor Authentication (MFA) configuration and email settings adjustments, enabling users to enhance the security of their accounts and personalize communication preferences effortlessly. With a user-centric design, the "My Profile" page in Labii offers a centralized platform for users to efficiently manage their information and tailor their settings according to their preferences and security needs.

You can access your profile page by clicking your name at the top right of the navigation bar. From the dropdown menu, select "**My Profile**".

<figure><img src="/files/2oAQbRxDPSNlXwbiFipF" alt=""><figcaption></figcaption></figure>

## Avatar

An avatar is a graphical representation of a user. The avatar field allows you to upload your picture.

## Personnel information

### Statement

In the statement field, you can provide your personal statement.

### Timezone

You can define your timezone in the timezone field. When a time zone is defined in Labii, the timestamp is converted to your local time.

### Language

You have the option to choose your preferred language when using Labii. Language preferences are prioritized as follows: Labii will select the language settings in the specified order, and if no language is set, it will default to English.

1. Personnel language settings
2. Organization language settings
3. Data center language settings
4. Default language

**Currently supported languages:**

* English
* 简体中文

Please feel free to reach out if you need other languages supported.

### Name format

Labii offers users the flexibility to choose their preferred name format, considering that the order of first and last names varies from country to country.

* First Last
* Last, First
* LastFirst

## Multi-factor authentication

A multi-factor authentication (MFA) is an electronic authentication method that requires the user to submit two or more pieces of evidence to an authentication mechanism.

To enable MFA in Labii, you must provide a phone number with area code, and enable the "Should Enable MFA" setting.

## Email settings

The email settings offer users a range of customization options, allowing them to specify their preferred method of sending emails.

### Should Use Personal Email

When set to 'true', it enables the utilization of personal email addresses for sending messages; when set to 'false', it confines email transmission to <support@labii.com>. For sending communications to your customers, it's advisable to have this set to 'true'.

Once 'true' is selected, kindly ensure to verify your email address by clicking on the Email Address Verification Request link. The "**Is Email Verified**" field serves as an indicator of the successfulness of the verification process for the email.

### Email Template

You can personalize your email experience by utilizing the email template feature, incorporating your unique templates and signatures when sending messages. This functionality allows you to reinforce your brand identity seamlessly. In instances where no specific email template is designated, Labii defaults to its own template for consistency in communication.


# AI Integration

## Overview

LabiiGPT is an artificial intelligence assistant that provides researchers with assistance when they are using the Labii research platform. It is designed to provide users with an easy-to-use interface to ask questions, access protocol details, and gain research insights.

LabiiGPT is based on the [GPT-3 architecture](https://www.theaidream.com/post/openai-gpt-3-understanding-the-architecture), a state-of-the-art language model that is trained on a large corpus of scientific literature. This means that LabiiGPT can understand and respond to natural language queries related to a wide range of scientific topics.

LabiiGPT provides researchers with an invaluable tool that can help streamline their research process and increase their productivity. By leveraging the power of AI, LabiiGPT can help researchers stay on top of their research goals and make more informed decisions about their research.

## Models

* **LabiiGPT** - LabiiGPT is a question answering (QA) model that has been specifically trained on Labii's documentation to provide users with answers on how to use Labii. LabiiGPT is a free resource that is available to anyone with a Labii account.
* **ProtocolGPT** - ProtocolGPT is an AI-powered tool that has been specifically designed to guide users in the creation of biology protocols. ProtocolGPT has been trained on a vast database of biology protocols, enabling it to understand the structure and content of a wide range of experimental procedures.
* **InsightGPT** - InsightGPT is an AI-powered tool that has been trained based on your research data, enabling it to provide valuable insights and answers related to your specific research area. Please note that InsightGPT is a paid model and will require a purchase to access. Additionally, it is important to know that we will only use your data to train the model once you have purchased the plan.

## Interface

### Conversation list

The conversation list interface is a feature of the LabiiGPT that displays all the conversations that a user has had with the AI assistant. When a user clicks on the LabiiGPT button or changes the model, the conversation list for that specific model will be displayed.

The conversation list page provides an overview of all the past interactions that a user has had with LabiiGPT. Each conversation is represented by a list item that contains the date and time of the conversation, as well as a brief summary of the conversation's topic or subject.

By clicking on a specific conversation item in the list, the user can access the full conversation history with LabiiGPT for that particular topic. This allows the user to review past discussions, reference previous insights or information provided by LabiiGPT, and continue the conversation where it left off.

The conversation list interface is a useful tool for researchers who need to keep track of their interactions with LabiiGPT across multiple topics. By providing easy access to past conversations, it can help users stay organized, save time, and make more informed decisions based on previous interactions with the AI assistant.

<img src="/files/fKwD3P4COc295DgfBVHT" alt="" data-size="original">

### Conversation detail

The conversation detail page displays all questions related to the conversation topic. The conversation detail page can be opened when a new conversation is created or when a conversation is clicked.

The conversation detail interface displays all questions related to a particular conversation topic. It can be opened when a new conversation is created or when a previous conversation is clicked.

Each question and response will be displayed in a separate thread, with the most recent message displayed at the bottom of the page.

The conversation detail interface page can be useful for researchers who need to review past conversations, reference previous insights or information provided by LabiiGPT, and continue the conversation where it left off. It can also help researchers to identify areas where they need further clarification or research, and to identify trends or patterns in their research questions and topics.

<img src="/files/mUWtzvReRtjOUue0j0A9" alt="" data-size="original">

## How to use LabiiGPT

To access LabiiGPT, click on the **LabiiGPT** button located in the side menu. This will bring up a list of previous conversations that have taken place with the AI assistant.

<img src="/files/1ZnJy4LWiK02aDEoetfc" alt="" data-size="original">

### New conversation

To initiate a new conversation, enter your questions into the chat box and press the enter key. This will take you to the conversation detail interface, where you will be able to view your questions, LabiiGPT's responses, and any relevant citations.

### Ask followup question

When using the conversation detail interface, you can enter follow-up questions into the chat box to continue the conversation. LabiiGPT will provide answers based on the current question as well as any previous prompts that have been given.

### Edit conversation

By default, the name of the conversation is the same as the first question asked. However, you can modify the conversation name using either of the following two methods:

1. Click on the **Edit** icon next to a conversation in the conversation list interface.
2. Click on the **Edit** button next to the conversation name in the conversation detail interface.

### Delete conversation

Deleting a conversation will remove all the questions asked in that conversation. To delete a conversation, click on the **Delete** icon next to the conversation in the conversation list interface.

### End conversation

To end a conversation, click on the "**End Conversation**" button at the conversation detail interface. Once clicked, you will be directed to the conversation list interface.

### Edit question

If you are not satisfied with the answers provided, you can edit the question to update the prompt. After updating the question, click on "**Regenerate Response**" to generate new answers. To edit a question, click on the Edit icon next to the question.

### Delete question

To delete a question, click on the **Delete** icon next to the question in the conversation detail interface.

### Citations

Citations are displayed under the answers and provide source links for more detailed information. To view more information about an answer, simply click on the link provided in the citations. If no citations are available, this section will not be displayed.

### Copy answer

To copy an answer to your clipboard, click on the "Copy Answer" button located at the bottom of the question.

### Regenerate response

If you have changed the question, you can update the answers by clicking on the "Regenerate Response" button. Please note that this function is only available for the most recent question asked.

### Back to side menu

To return to the side menu, click on the "**Side Menu**" button.


# Prompt box

The prompt box serves as a textarea designed for sending your prompts to AI Language Models.

## Overview

The prompt box serves as a textarea designed for sending your prompts to AI Language Models. Labii utilizes the prompt box to facilitate your inquiries and generate data for widgets.

<figure><img src="/files/re1Y69xGMMngLt0Otjy2" alt=""><figcaption></figcaption></figure>

## Prompt Template

A prompt template is a predefined structure or format that provides guidance for creating effective prompts or questions. It serves as a blueprint for constructing prompts that can elicit specific types of responses or encourage desired outcomes.

The Labii prompt template offers a reliable method for generating prompts in a consistent manner. It consists of a designated text string, referred to as 'the template', which can be populated with text variables provided by the end user. By utilizing this template, prompts can be generated in a reproducible manner, ensuring consistency while allowing for customization based on user input.

```
[Input text] + [Prompt Template] = Prompt

For example:
Template: Display 2D chemical structure for {text}.
Input: aspirin

Output prompt: Display 2D chemical structure for aspirin.
```

Using a prompt template offers several benefits:

1. **Consistency**: Prompt templates ensure consistency in the structure and format of prompts used with AI Language Models. By providing a predefined template, it establishes a standardized framework that users can follow consistently.
2. **Efficiency**: Templates streamline the process of generating prompts by providing a ready-made structure. Instead of starting from scratch each time, users can simply fill in the relevant details or modify the template as needed. This saves time and effort, allowing users to quickly generate prompts and receive desired outputs.
3. **Clarity**: Prompt templates enhance clarity by guiding users on how to structure their prompts effectively. They can include specific instructions, placeholders, or examples to help users craft precise and understandable queries. This reduces ambiguity and increases the chances of receiving accurate and relevant responses.
4. **Improved Results**: Well-designed prompt templates can optimize the performance of AI Language Models. By providing prompts that are clear, relevant, and tailored to the task at hand, users can increase the likelihood of obtaining high-quality outputs. Templates can incorporate best practices and domain-specific knowledge, leading to improved results.
5. **User-Friendliness**: Prompt templates simplify the interaction with AI models, especially for users who may be unfamiliar with the system or lack technical expertise. By offering pre-defined structures, users can easily navigate the prompt generation process, making the overall experience more user-friendly and accessible.

### Change template

For various applications and widgets, specific prompt templates are utilized. However, if you wish to modify the template, you can do so by clicking on the "**Change template**" option. Upon clicking, a modal will appear, allowing you to select a different template. Simply choose the desired template, and it will be promptly updated. In the case of widgets, the newly selected template will be saved, eliminating the need to change it again for future use.

<figure><img src="/files/fTtV3SP3NHKJTFMKQRhD" alt=""><figcaption></figcaption></figure>

### Clear template

If you prefer not to use any template, simply click on "**Clear template**". This action will result in your input being identical to your final prompt without any template structure.

### Add template

To include a new prompt template, follow these steps:

Click on "**Change template**" and then select the "**Add prompt template**" button within the opened modal. You will be prompted to provide the name and body of the template. Enter a suitable name for the template and specify its body accordingly. This will enable you to create and incorporate a new prompt template into the system.

<figure><img src="/files/eeGsCu5bJCOzXOKnjC16" alt=""><figcaption></figcaption></figure>

### Manage templates

To manage the list of templates, follow these steps: Click on "**Change template**" and then select the "**Manage prompt templates**" button within the opened modal. This will allow you to access the template management options. From there, you can make changes to existing templates, delete templates, and perform other relevant actions to manage your templates effectively.


# Prompt template


# ProtocolGPT

ProtocolGPT is an AI-powered tool that has been specifically designed to guide users in the creation of biology protocols.

## Overview

ProtocolGPT is an AI-powered tool that has been specifically designed to guide users in the creation of biology protocols. ProtocolGPT has been trained on a vast database of biology protocols, enabling it to understand the structure and content of a wide range of experimental procedures.

ProtocolGPT training currently covers a wide range of experimental protocols such as DNA extraction, RNA isolation, PCR amplification, western blotting, ELISA, flow cytometry, and many more. These protocols are commonly used in the fields of molecular biology, biochemistry, and cell biology.

The training of ProtocolGPT is based on a combination of natural language processing and machine learning techniques, which enables it to understand the language used in scientific protocols and generate accurate and detailed instructions for experimental procedures.

The addition of new protocols to ProtocolGPT is an ongoing process, and we are constantly updating our training data to improve the accuracy and comprehensiveness of our models. If you have a protocol that you think would be useful to add to our training data, please do not hesitate to contact us.

Overall, ProtocolGPT training provides a powerful tool for scientists and researchers to streamline their experimental procedures and reduce errors caused by misinterpretation or miscommunication of experimental protocols. With ProtocolGPT training, scientists can focus more on the science and less on the details of experimental procedures.

## Protocols

Below is a comprehensive list of the protocols that are covered by ProtocolGPT training. However, if you have a specific protocol that is not listed below, do not hesitate to suggest it to us at <https://www.labii.com/contact-us>. Please note that even if your protocol is not explicitly listed, it may still work since ProtocolGPT is trained based on existing Large Language Models (LLMs).

### Antibody

* Western blot
* Immunohistochemistry, IHC Protocol
* Immunoprecipitation (IP) Protocol
* IF Protocol, Immunofluorescent Staining Protocol
* FACS Protocol, Flow Cytometry Protocol
* Chromatin Immunoprecipitation
* CUT\&RUN

### Biochemistry

* ELISA (Enzyme-linked immunosorbent assay)
* Northern blot
* Southern blot
* RNA interference (RNAi)
* Isoelectric focusing
* MALDI-TOF (Matrix-assisted laser desorption/ionization time-of-flight)
* FRET (Fluorescence resonance energy transfer)
* SPR (Surface plasmon resonance)
* Mass spectrometry
* X-ray crystallography
* NMR (Nuclear magnetic resonance)
* DSC (Differential scanning calorimetry)
* ITC (Isothermal titration calorimetry)
* SEC (Size-exclusion chromatography)
* HPLC (High-performance liquid chromatography)
* Affinity chromatography
* Ion exchange chromatography
* Reverse-phase chromatography
* Immunoaffinity chromatography
* FPLC (Fast protein liquid chromatography)
* BRET (Bioluminescence resonance energy transfer)
* Protein microarray
* Yeast two-hybrid
* Site-directed mutagenesis
* CRISPR-Cas9 gene editing
* Metabolic labeling
* Pulse-chase experiment
* Liposome fusion assay
* Lipid rafts isolation assay
* Glycosylation analysis
* Glycan microarray
* Enzyme kinetics
* Protein folding kinetics
* Fluorescence anisotropy
* Circular dichroism
* UV-Vis spectroscopy
* Fluorescence spectroscopy
* Confocal microscopy
* Fluorescence microscopy
* Electron microscopy
* Scanning electron microscopy (SEM)
* Transmission electron microscopy (TEM)
* Atomic force microscopy (AFM)
* Optical tweezers
* Laser trap
* Patch clamp technique
* Microinjection
* siRNA (small interfering RNA)
* miRNA (microRNA)
* shRNA (short hairpin RNA)
* Ribosome profiling
* RNA sequencing (RNA-seq)
* ChIRP (Chromatin Isolation by RNA Purification)
* PAR-CLIP (Photoactivatable Ribonucleoside-Enhanced Crosslinking and Immunoprecipitation) Ribo-seq (Ribosome profiling by deep sequencing)
* TALEN (Transcription activator-like effector nucleases)
* Zinc finger nucleases (ZFNs)

### Cell biology

* 3d cell culture
* Apoptosis assays
* Cell adhesion assay
* cell culture
* Cell cycle analysis
* Cell migration assays
* Cell proliferation assays
* Cell viability assays
* Co-culture
* Fluorescence-activated cell sorting (FACS)
* Glycomics
* Invasion assay
* Laser capture microdissection (LCM)
* Lipidomics
* Live cell imaging
* Metabolomics
* Organoid culture
* Organotypic culture
* Proteomics
* Transduction assay
* Transwell assay
* Wound healing assay

### Microbiology

* Gram staining
* Acid-fast staining
* Capsule staining
* "Spore staining
* "Flagella staining
* Microbial culture
* Microbial identification
* Antimicrobial susceptibility testing
* Disk diffusion assay
* Broth microdilution assay
* E-test
* Kirby-Bauer method
* MIC (Minimum inhibitory concentration) assay
* Agar dilution assay
* Colony counting
* Serial dilution
* Spread plate method
* Pour plate method
* Streak plate method
* Biofilm assay
* Quorum sensing assay
* Microbial growth kinetics
* Optical density measurement
* CFU (Colony-forming units) measurement
* Microbial transformation
* Electroporation
* Chemical transformation
* Conjugation
* Transduction
* RNA interference (RNAi)
* Bacterial mutagenesis
* Transposon mutagenesis
* Directed mutagenesis
* Phage display
* Phage therapy
* Microbial fermentation
* Metagenomics
* Microbial ecology
* FISH (Fluorescent in situ hybridization)
* Immunofluorescence microscopy
* Confocal microscopy

### Molecular biology

* Gel electrophoresis
* SDS-PAGE (Sodium dodecyl sulfate-polyacrylamide gel electrophoresis)
* PCR (Polymerase chain reaction)
* Cloning
* RT-PCR (Reverse transcription polymerase chain reaction)
* qPCR (Quantitative PCR)
* DNA sequencing (DNA-seq)
* RNA sequencing (RNA-seq)
* Sanger sequencing
* Next-generation sequencing (NGS)
* Microarray
* Isoelectric focusing
* Plasmid isolation
* Restriction enzyme digestion
* Ligation
* Gibson assembly
* Golden Gate assembly
* RNA interference (RNAi)
* cDNA synthesis
* Gene expression analysis
* Cloning
* Overexpression
* Knockout
* Gene silencing
* Lipofection
* In vitro transcription/translation
* Protein purification
* Virus
* DNA Extraction


# AI in Widgets

Labii offers a variety of widgets that leverage AI to streamline and enhance user workflows, making its platform both powerful and intuitive.

## Overview

Labii offers a variety of widgets that leverage AI to streamline and enhance user workflows, making its platform both powerful and intuitive. Widgets such as text editors, data tables, and file uploaders are enriched with AI-driven features like natural language processing for automatic content suggestions, summarization, and real-time error detection. Advanced visualization widgets turn raw data into actionable insights with intelligent charting and trend analysis. Automation widgets simplify repetitive tasks, while AI-powered search tools enhance discoverability with context-aware suggestions. By integrating machine learning and adaptive algorithms, Labii’s widgets enable seamless collaboration, efficient data management, and insightful reporting tailored to diverse user needs.

## [CKEditor](/widgets/section-widgets/office/ckeditor/ckeditor-classic)

The AI Features in the Labii CKEditor Widget are designed to enhance productivity and streamline content creation for users. These features assist in writing experiment notes, refining text, and improving overall content quality. Key capabilities include:

1. **AI Assistant** - Provides intelligent suggestions and answers to enhance the user experience, offering contextual help and guidance directly within the editor.
2. **Improve Writing** - Analyzes your text and refines it for clarity, grammar, tone, and readability, ensuring professional and polished results.
3. **Make Shorter** - Condenses content while retaining its original meaning, making it more concise and impactful.
4. **Make Longer** - Expands text by adding relevant details or elaborations, enriching the content without deviating from the main idea.
5. **Generate Experiment Note** - Creates detailed experiment notes based on provided inputs, helping users document their research efficiently.
6. **Generate Protocol Steps** - Automatically generates step-by-step protocols tailored to specified tasks or experiments, saving time and effort.
7. **Generate Summary** - Summarizes lengthy content into concise overviews, making it easier to review and understand key points.

## [Steps](/widgets/section-widgets/process-management/steps)

The Labii Steps Widget empowers users to utilize AI for generating step-by-step instructions directly within the widget based on the input content. For example, by entering "PCR" (Polymerase Chain Reaction) as the content, the AI can generate detailed procedural steps.

This feature is ideal for researchers who need precise and consistent protocols, helping them save time and standardize their workflows.

## [Flowchart](/widgets/section-widgets/process-management/flowchart)

The AI Feature in the Labii Flowchart Widget allows users to effortlessly create flowcharts based on input content. By analyzing the provided text, the AI generates a clear and logical flowchart that visually represents the process or workflow.

This feature is ideal for simplifying complex workflows, ensuring clarity in communication, and enabling users to visualize processes with minimal effort.

## [Chemical Drawing Widgets](/widgets/section-widgets/chemistry/chemical-drawing)

The AI Feature in the Labii Chemical Drawing Widget enables users to automatically generate chemical structures based on input descriptions or names of compounds. This feature simplifies the process of creating complex chemical diagrams, saving time and reducing errors.

For example, by inputting the compound name "benzene" the AI will instantly draw its hexagonal ring structure with alternating double bonds. Similarly, entering "aspirin" generates the chemical structure of acetylsalicylic acid.

This tool is particularly valuable for chemists and researchers, providing an efficient way to visualize chemical compounds directly within Labii without requiring manual drawing.

## [Comments](/widgets/section-widgets/productivity/communication/comments)

The AI Feature in the Labii Comments Widget simplifies communication management by generating concise summaries directly from email content.

For example, when users input or paste lengthy email threads into the widget, the AI analyzes the content and produces a brief summary highlighting key points, such as:

* Main topics discussed
* Action items or decisions made
* Next steps or deadlines

This feature helps users quickly grasp the essence of lengthy email exchanges, ensuring efficient collaboration and reducing the time spent reviewing detailed correspondence.


# Use cases

## Overview

LabiiGPT represents a cutting-edge integration of artificial intelligence within the Labii platform, revolutionizing data documentation and support processes. Leveraging the power of AI, LabiiGPT enhances the efficiency of lab workflows by providing intelligent assistance in data interpretation, analysis, and documentation. Researchers and scientists can now seamlessly interact with LabiiGPT to streamline their work, gaining valuable insights and accelerating the pace of scientific discovery. This advanced AI integration within Labii underscores the platform's commitment to harnessing technology for the betterment of research, offering a user-friendly and intelligent solution for comprehensive data management in the laboratory setting.

## Get answers from LabiiGPT

LabiiGPT is a question answering (QA) model that has been specifically trained on Labii's documentation to provide users with answers on how to use Labii. Here are the use cases of LabiiGPT

### Ask or search

[Global search](/user-guide/navbar/search/global-search) allows users to effortlessly locate tables, projects, or records with a single click from the navigation bar. In the event that users cannot find the specific data they are looking for, they also have the option to inquire with LabiiGPT.

### In page documentation

[In page documentation](/support/documentation#in-page-documentation) furnishes information tailored to a particular navigation page. Should users be unable to locate the answers within the in-page documentation, they also have the option to directly pose questions.

### Support ticket

A [support ticket ](/support/tickets)is a document that records interactions between a customer and a customer support team. If you require assistance and have initiated a support ticket, LabiiGPT is the initial source for obtaining answers. In the majority of cases concerning the usage of Labii, you should be able to find the necessary information.

## Widgets

Numerous widgets come equipped with AI features for swift data generation, allowing you to leverage these capabilities to minimize your workload. Here are list of widgets that support AI features:

* [CKEditor](/widgets/section-widgets/office/ckeditor/ckeditor-classic) - Labii's various [CKEditor](/widgets/section-widgets/office/ckeditor/ckeditor-classic) widgets are enhanced with AI capabilities for on-demand text generation. Additionally, by crafting an appropriate template, you can utilize this functionality to automatically compose your experiment notes. For instance, the Entry table's Notes section can autonomously generate experiment notes for Overview, Reagents Used, Instrument Used, Protocol, Results, and Conclusion.
* [Plain Text](/widgets/section-widgets/office/text/plain-text) - The AI will produce text according to the given instructions and incorporate the outcomes into the widget.
* [Mermaid](/widgets/section-widgets/diagram/mermaid) - The AI will generate flowchart based on the provided terms.
* [Steps](/widgets/section-widgets/process-management/steps) - The AI will generate the steps for the provided terms.
* [SMILESDrawer](/widgets/section-widgets/chemistry/chemical-drawing#smiles-drawer) - The AI will generate chemical structure for the provided chemical.
* [JSMEEditor](/widgets/section-widgets/chemistry/chemical-drawing#jsme-molecular-editor) - The AI will generate chemical structure for the provided chemical.
* [Kekule](/widgets/section-widgets/chemistry/chemical-drawing#kekule) - The AI will generate chemical structure for the provided chemical.
* [LabSketch](/widgets/section-widgets/chemistry/chemical-drawing#labsketch) - The AI will generate chemical structure for the provided chemical.
* [MarvinJS](/widgets/section-widgets/chemistry/chemical-drawing#marvin-js) - The AI will generate chemical structure for the provided chemical.


# Organization

A centralized hub for administrators to customize and manage their account's configuration.

## Overview

The organization settings offer a centralized hub for administrators to customize and manage their team's configuration. Here, you can brand your organization with a custom logo, color scheme, and name. Manage your subscription plan and track your quota to ensure you're getting the most out of our services. Configure permission settings to control user access and roles. Strengthen your security with security settings like two-factor authentication and SSO integration. Choose your preferred language and update other metadata such as your organization's description and contact information. Finally, you can close your account if needed, making it easy to manage your organization's lifecycle.

To access organization settings, follow these steps:

1. Click on **Settings** in the side menu.
2. Click on the **Organization** item.

Note: This option is only available to administrators.

<figure><img src="/files/qBSQUYc7r4KKi9NEU9P1" alt=""><figcaption></figcaption></figure>

## Language

Labii now offers multilingual support, allowing users to interact with the platform in their preferred language. Currently, Labii supports English, 简体中文 (Simplified Chinese), and Deutsch (German). What's more, language settings can be customized at three levels: Data Center, Organization, and Personnel. This means that language definitions at a later level will override those at a previous level, providing flexibility for global organizations with diverse language needs. With Labii's language support, users from around the world can collaborate and work in their native language, breaking down language barriers and enhancing productivity.

* English
* 简体中文 (Simplified Chinese)
* Deutsch (German)

## Branding

You can customize the UI of your account with the following configurations:

* **Logo Icon -** A logo in round or square shape that represents your business.
* **Logo Wordmark -** Logo with the written name of an organization in a rectangular shape. The logo wordmark will appear on the side menu and header of print pages.
* **Navbar Background Color**
* **Navbar Text Color**
* **Print Headers** - Customize the header of the print page. Use HTML code for formatting.

## Subscription plan

* **Plan -** Subscription plan type
* **Credits -** Amount of credits on the account in US Dollar
* **Is Academic -** Indicates if the account belongs to an academic institution

## Quota

* **Application Quota -** Number of applications can add in your organization.
* **Table Quota Per Application -** Number of tables can add for each application.

## Display Settings

* **Name Format** - Configure how the name is displayed. Changes to this field will affect all users in the organization.
* **Projects Display Name** - The display name of the projects.

## Security settings

* **Enable Antivirus Scan -** If enabled, an antivirus scan will be performed during the uploading process, and this can lead to a delay of around 20 seconds during the uploading process.
* **Enable Password Expiration** - If enabled, users' passwords will expire every specific number of days according to the password\_expiration\_days configuration.
* **Password Expiration Days** - Number of days to expire password. Needs to be between 1 and 1095 days.
* **Should Enable MFA** - If enabled, users need to log in with Multi-factor Authentication.
* **Session Timeout Minutes** - Number of minutes to expire the session. Default to 30 minutes unless a different value specified by your data center.

## Update references

Labii employs '##' encoded references to link objects during configuration when resources are unavailable. This field enables updating references for all objects across the organization. Click the **Update** button to update.

## Close Account

The account at Labii can be soft-close (keep a copy of your data) or hard-close (all of your data will be deleted). To avoid any illegal data deletion, users have to contact <support@labii.com> or <sales@labii.com> to close the account, certified documents might be required.


# Backups

Secure and restore your data with full system backups.

## Overview

Labii provides a backup feature to help you safeguard your data by creating downloadable copies of all your records and uploaded files. These backups can be stored in external locations and used for recovery in case of data loss or corruption.

{% hint style="warning" %}
**Important:** Backups consume additional computing resources. Charges will apply based on the size of the backup. Pricing is shown during the backup creation process.
{% endhint %}

{% hint style="danger" %}
**Tip:** To avoid ongoing storage charges, it is recommended to delete the backup from Labii once it has been downloaded.
{% endhint %}

## Accessing the Backup

To manage backups:

1. Navigate to the Side Menu
2. Click Settings
3. Select Backups

## List View

The list view shows all your backups along with their statuses and basic information.

![](/files/aI2dGlNuJUJBMxCCBs0C)

### Searching Backups

To locate a specific backup:

* Use the Search bar at the top of the list view
* Enter a keyword and click Search
* To reset the list, click Clear

### Filtering Backups

Use filters to narrow down the list of backups:

* All backups – Show all backups
* Backups completed – Show only completed backups
* Backups in progress – Show backups currently being generated
* Backups with errors – Show failed backups

## Backup Details

Click on a backup name to open its detail view. From here, you can view all metadata and download the backup.

Each backup contains the following information:

* **Sid** - Unique identifier of the backup
* **Name** - Backup name provided at creation
* **Description** - Optional description of the backup
* **Status** - the status of the backup.
  * **Completed**, the backup is successfully completed and ready to be downloaded
  * **In Progress**, a Labii job is preparing the backup
  * **Error**, the backup job has encounter an error.
* **Versions** - Number of version records included
* **Files** - Number of uploaded files included
* **File Size** - Total size of the backup
* **File Path** - Download link
* **Date Expired** - Scheduled date for automatic deletion
* **Date Created** - Date the backup was created

![](/files/4w1AJYE7MeITx9sqNcOf)

## Creating a Backup

Only administrators can create backups.

To create a new backup:

1. Go to **Settings > Backups**
2. Click the **+ Add Backup** button
3. A form will appear showing the **cost** of the backup
4. Fill in the **Name** and **Description**
5. Click **Submit**
6. You’ll receive an **email notification** once the backup is ready. Depending on your data size, it may take several minutes to hours.
7. Open the email and click **Download** to access your backup

![](/files/6NeCc7UTAGqBRN6EPzk4)

## Deleting a Backup

Backups can be deleted from either the list or detail views.

* **From List View**: Click the **Delete** icon next to the backup entry.
* **From Detail View**: Open the backup and click the **Delete** button.

## Backup File Structure

Once you download and unzip the backup, the folder structure will look like this:

```
+ Folder (Organization sid)
    + versions
        + ... list of versions in JSON
    + ... list of files
```

* Files are stored using their UID and original file name
* Versions are stored as individual JSON files

{% hint style="info" %}
Use the export function to match the files and versions with each record.
{% endhint %}


# Personnel

Update and manage Labii access of your team members

## Overview

People (previously known as Personnel) are the members of your organization that have permission to document research data. Use it to control who can access your research data.

{% embed url="<https://youtu.be/uUaCcPtSAh8>" %}

There are 4 roles for the people based on the configuration:

* **Administrators** - In Labii, the administrator is the user with control over the account. They are responsible for configuring accounts to meet the company's research needs. Administrators are also your company's point of contact with Labii. Feedbacks/questions from end users should be collected by administrators and provided to Labii. Mark a user as the administrator by setting **is\_administrator=true**.
* **Read-write users** - The read-write users are the members of the organization. Members are able to create and edit records as well as read and sign records already in place.
* **Archived users** - When an employee leaves the company, the user should be archived to block access.

To grant read-only access to a user or team, utilize project and project permission settings to assign the "Read Only" permission level. This will restrict their access to view-only, preventing any editing or modification capabilities.

{% hint style="info" %}
Labii does not charge the archived members. The seat of a archived user can be used for other users.
{% endhint %}

## List of people

You can manage a list of users by clicking **Settings** at the side menu and then select **People**.

![](/files/tAAihv2hxSmft2Nl0Du4)

### Search people

You can search people by typing a keyword into the search bar in the **people list view**, and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter people

With the **Filter** function, you can limit the number of people displayed. You can do that by clicking **Active people** and then selecting a filter from the dropdown. Here are a list of filters:

* **All people**. Filter to display all users.
* **Active people**. Filter to display the active users.
* **Archived people**. Filter to display the archived users. The archived users can not access the data.
* **Administrators**. Filter to display a list of administrators.
* **Read-write users**. Filter to display a list of members who can read and write.

## People detail

Click a user's name to view the detail of the people. Here are the fields of a people object:

* **Overview**
  * **Date Updated** - automatically captured in the background within Labii ELN & LIMS when changes are made
  * **Updated By** - The Personnel who updated any of the fields listed above
* **User information**
  * **Last Name**
  * **First Name**
  * **Email**
  * **Title** - the title of the user
  * **Date Start** - when did the personnel join the organization
  * **Date End** - the end date which will block user access
* **Permissions**
  * **Is Administrator** - whether the user is the administrator
  * **Teams** - List of teams the user belong to
  * **Permissions** - List of permissions of the user
* **Settings**
  * **Is Use Single Sign-On** - disable it if the user does not want to use SSO. To use SSO, please make sure the organization has enabled this feature.
  * **Should Receive Weekly Digest** - you can choose if you’d like to receive an email about your weekly activities by either checking or unchecking the box
  * **Should Receive Mention Notification** - if checked, you will receive an email whenever a co-worker mentions you in a record.
* **Metadata** - For each metadata, the label and value need to be provided. Multiple metadata can be added via clicking Add Metadata button
* **Is Archived** - Ability to archive a member, if checked, the member’s access will be blocked
* **Status** - The status of the current user
  * **Not activated** - the user is not activated
  * **Archived** - the user has been archived
  * **Active** - the user is active

<figure><img src="/files/z6ScLxJ0saYuLh74KLfU" alt=""><figcaption></figcaption></figure>

## Add people

1. You can add new personnel to your organization by clicking the “**+ people**” button on the people list view.
2. Fill in the required fields: email, first/last name, and title. You also have additional fields that are optional as well. Once done updating the fields, click **submit**.
3. Once submitted, the new user will receive an email to activate their account and set up their login password.

{% hint style="info" %}
If you are using the subscription plan and are out of seats, please contact <sales@labii.com> to add more seats.

If you are on the PPU plan, you can add unlimited members.
{% endhint %}

### Send access email

Users who don't have Labii access or who aren't activated can resend the access email by clicking on the **Send Access Email** button under the status.

The button can be found at People -> Select a user -> Status

![](/files/sao4sVOD6J3DJWNBUDkJ)

## Import people

Multiple users can be added simultaneously using **Import**. You can do this by clicking **Import** in the people list view.

## Export people

You can export a list of users by clicking **Export** button and select one option from the dropdown.

## Duplicate people

You can create a similar user with **Duplicate** function. Click on a user's name to open the people detail view, and then click **Duplicate**.

## Archive people

To archive a user, open the detail of a people and set is\_archived = true.

## Deactivate user

If a user has been archived, you can further deactivate the user's login access. To do that:

1. [Archive the people](#archive-people)
2. Reload the page, and click **Deactivate user** button.

<figure><img src="/files/77YXi4KHmBcDpUcRTAYl" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Please make sure the user has been archived from all Labii organizations.
{% endhint %}

## Setup user account

After your administrator adds you to Labii, you will receive an email titled "**Your Labii Access**" to set up your account information.

To set up your account, locate and open the email "**Your Labii Access**". Then, click the "**Get My Access**" button.

Follow the steps to verify and update your information once you click the link.

1. Verify that your first name is correct, if not, enter a new one.
2. Verify that your last name is correct, if not, enter a new one.
3. Enter a new password. You can always change the password later using the Forgot Password link.
4. If you would like to use two-factor authentication, enter your phone number and check the "Should Enable MFA" box.

Following submission, you will be able to use Labii directly.

{% hint style="danger" %}
"Get My Access" can only be used once for security reasons.
{% endhint %}

If you have not set up your account, you will encounter the following error during login.

![](/files/OhhRG4xpzqxM6ydPUGhk)

##


# Certifications

Certifications validate users' abilities to perform specific tasks, granting authorization for designated workflows; without them, users may be restricted from undertaking certain actions.

## Overview

Certification management encompasses the systematic administration and oversight of certifications that validate users' proficiency in performing specific tasks or roles, thereby authorizing them to engage in designated workflows or activities. It involves the establishment of criteria for certification, the assessment of candidates' competencies against these criteria, and the issuance and maintenance of certification credentials. Effective certification management ensures that individuals possess the requisite skills and knowledge to undertake tasks within their designated roles, enhancing organizational efficiency and minimizing the risk of errors or unauthorized actions.

## General operations

Coming soon...

## How to generate certifications

This documentation serves as a guide on how to generate certifications using Labii's training management application. Certifications are crucial for validating individuals' skills and expertise in specific areas, and Labii offers a streamlined process to manage and issue certifications based on completed trainings.

Before generating certifications, make sure you have access to Labii's training management application. If not installed, contact your Labii administrator to install it.

### Adding a New Training

To initiate the certification process, it's necessary to first add a new training record. Follow the steps below to add a new training:

1. **Navigate to Training Management**: Log in to Labii's platform and access the Training Management module.
2. **Add New Training Record**:
   * Click on the option to add a new training record.
   * Fill in the required details, including the protocol to be trained and the trainees' information.
   * Save the record.

### Generating Certifications

Once the trainees have successfully completed the required training(s), administrators can proceed to generate certifications. Follow the steps below to generate certifications:

1. **Access Certification Settings**:
   * Navigate to the settings section within Labii's platform.
   * Locate the Certifications option.
2. **Add Certification**:
   * Click on the "Add Certification" option.
   * Fill in the necessary details for the certification, such as name, description, date initiated, date expired.
   * Save the certification.

## How to limit certifications for table operations

In Labii, administrators have the capability to restrict operations on specific certifications for enhanced control over data management. This feature ensures that only users with the necessary certifications can perform certain actions on designated records within a table. Below are the steps to limit certifications for table operations:

1. **Access Table Settings**: Begin by navigating to the settings of the table where you wish to enforce certification restrictions. This can typically be done through Settings -> Tables -> Select a table.
2. **Update "Required Certifications" Field**: Within the table settings, locate the field labeled "Required Certifications." Here, you can specify the certifications that users must possess in order to perform operations such as adding new records or modifying existing ones. If multiple certifications are necessary for a particular operation, simply list them separated by commas.

   For example, if a user needs both "Data Entry" and "Quality Control" certifications to make changes, you would enter: "Data Entry, Quality Control".
3. **Save Changes**: Once you have entered the required certifications, save the changes to apply the restrictions.

Upon configuration, Labii will automatically verify whether users attempting to add new records or modify existing ones possess the necessary certifications. If a user lacks the required certification(s), they will be unable to proceed with the requested action, thereby ensuring data integrity and compliance with organizational standards.

By leveraging this feature, administrators can enforce stringent controls over data manipulation, mitigating the risk of unauthorized or erroneous modifications while maintaining regulatory compliance and data quality standards.


# Teams

Manage teams

## Overview

Team is a group of users with a full set of complementary skills required to complete a task. We recommend creating teams for users who need to be assigned with the same permissions. Using teams, you can assign the same permissions to users within a project.

{% embed url="<https://youtu.be/TzqSFKecNOE>" %}

## List of **team**

You can manage a list of users by clicking **Settings** at the side menu and then select **Teams**.

![](/files/DHvQzUEGu9fk86o6majJ)

### Search teams

You can search teams by typing a keyword into the search bar in the **team list view**, and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter teams

With the **Filter** function, you can limit the number of teams displayed. You can do that by clicking **Active team** and then selecting a filter from the dropdown. Here are a list of filters:

* **All teams**. Filter to display all teams.
* **Active teams**. Filter to display the active teams.
* **Archived teams**. Filter to display the archived teams.

## **Team detail**

Click a team name to view the detail of the team. Here are the fields of a team object:

* **Sid**, SID of the team
* **Name**, name of the team
* **Description**, description of the team
* **Members**, members of the team
* **Is archived**, whether the team is archived.

{% hint style="info" %}
Note: archived members can not be added as a team members.
{% endhint %}

## **Add team**

You can add a new team to your organization by:

1. Click on the **menu** icon on the top left
2. Click on **Settings**
3. Select **Teams**
4. Click the "+" icon at the top of the Navbar
5. Fill out the form and click submit

## Import teams

Multiple teams can be created simultaneously using **Import**. You can do this by clicking **Import** in the team list view.

## Export teams

You can export a list of teams by clicking **Export** button and select one option from the dropdown.

## Delete team

In the team list view, a team can be deleted by clicking the Delete icon next to it.


# Projects

Mange projects and permissions

## Overview

A project is a particular aim that been carefully planned by an individual or a team. In Labii, a project serves as a container of records and is similar to a folder.

{% embed url="<https://youtu.be/gAoE3x7wHgY>" %}

There are 3 different permission levels when joining a project:

| Permission | Description                                            | Assign to                               |
| ---------- | ------------------------------------------------------ | --------------------------------------- |
| **Admin**  | Can edit project, can view/edit records of the project | Project manager                         |
| **Edit**   | Can view/edit records within a particular project      | Project member                          |
| **View**   | Can only view records of a particular project          | Members who do not need edit permission |

The **administrators** can view all records even if they weren't granted any permissions at the project level. Edit permissions, however, are required for them to add a new record to the project or edit an existing record.

When a project is **archived**, all records become read-only.

### Relationship between People, Team, Projects, Members, Records

A project acts as a valve between users and records. If a user has Read/Write permissions for a project, he/she can read/write all records in that project.

1. **People** can be grouped into **Teams**.
2. A **Member** determines whether **People** or **Team** have Read/Write access to a **Project**.
3. Each **Record** can be assigned to one or more **Projects**.
4. When configured, **People** on the left can view/edit **Records** on the right.

![](/files/s55CCbNwgHp8BQFGnyq1)

## List of projects

Once a project is added, project managers can manage all projects within the list view of projects and can access it by clicking **Settings** at the side menu and then select **Projects**.

![](/files/NhP5RJwIOCBShZThehpN)

### Search projects

You can search projects by typing a keyword into the search bar in the **project list view**, and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter projects

With the **Filter** function, you can limit the number of teams displayed. You can do that by clicking **Active projects** and then selecting a filter from the dropdown. Here are a list of filters:

* **All projects**. Filter to display all projects.
* **Active projects**. Filter to display the active projects.
* **Archived projects**. Filter to display the archived projects.

## Project detail

Click a project name in the list view to see the detail of a project. Here are the fields that can be updated by clicking the pencil icon:

* **Overview**
  * **Sid -** Static encrypted identifier.
  * **Name** - To change the name of the project
  * **Description** - Give a description of the project, such as "Protein Team Project"
  * **Parent** - The parent project of the current project
  * **Date Start**- The start date of this project
  * **Date End** - The end date of this project
  * **Order** - The order to display the project
  * **Color** - Color of folder icon
  * **Updated By** - The Personnel who updated any of the fields listed above
  * **Date Updated** - automatically captured in the background within Labii ELN & LIMS when changes are made
* **Permissions**
  * **Open to Organization** - If checked, all members of the organization can view/use the project. The default setting is false/uncheck the box
  * **Open to Public** - If checked, anyone has Labii account can view/use it. Check this option if you are vendors or reagent suppliers
* **Settings**
  * **Color** - Color of folder icon
  * **Should Open In New Tab** - If true, a record will open in a new tab when clicked from the list.
* **Metadata** - For each metadata, the label and value need to be provided. Multiple metadata can be added via clicking Add Metadata button
* **Archive this project**
  * **Is Archived** - Ability to archive a member, if checked, the member’s access will be blocked

## Add project

To add a new project, do the following:

1. Click the menu icon on the top left
2. Click Settings
3. Click on Projects
4. Click the “+” icon in the navbar
5. Fill in the form and click submit

<figure><img src="/files/GczMEgUvZ1HsqOTmFkAQ" alt=""><figcaption></figcaption></figure>

When a parent project is selected, the new project will carry over the same permission settings. However, you can always modify the permission for the new project.

## Change project order

You can update the project order by dragging the project to the desired position in the project list view.

## Import projects

Multiple projects can be created simultaneously using **Import**. You can do this by clicking **Import** in the project list view.

## Export projects

You can export a list of projects by clicking **Export** button and select one option from the dropdown.

## Delete project

It is not possible to delete a project, but you can archive it or rename it and use it in another project.


# Members

Manage the permissions of a project

## Overview

Project member defined the permission for one (People) or a group of people (Team).

Permissions can be assigned to teams and individuals within a project. In a project member, you can assign either a team or a user, or you can assign both in one member object.

* **permission=Admin**, the project manager(s). Administrators can update project settings, create subprojects, and update member access.
* **permission=Edit**, Team members and people with Edit permission to the project can add new records and edit existing records.
* **permission=View**, Users with the View permission to the project can read the record.

In the case of multiple permissions, the highest permission will be used.

{% embed url="<https://youtu.be/aJSKPqR8X0k>" %}

## List of members

Members are project specific. You can manage a list of members by open a project and then clicking **Members tab**.

![](/files/yTozj1HJppPQtx1VuHKI)

### Search members

You can search team by typing a keyword into the search bar in the **member list view**, and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter members

With the **Filter** function, you can limit the number of teams displayed. You can do that by clicking **Active members** and then selecting a filter from the dropdown. Here are a list of filters:

* **All members**. Filter to display all members.
* **Active members**. Filter to display the active members.
* **Archived members**. Filter to display the archived members.
* **Managers**. Filter to display project managers.
* **Write members**. Filter to display members with write permissions.
* **Read members**. Filter to display members with read permissions.

## Member detail

Click a member name to view the detail of the member. Here are the fields of a member object:

* **Team** - Can assign a particular member to a team if you’d like
* **Personnel** - Name of the personnel
* **Project** - Ability to see what project this particular member is associated with
* **Permission** - Ability to view their permission level and can change it as well by clicking the pencil icon and the three options are as follows:
  * **Admin** - managers of the project
  * **Edit** - Able to add/change records belonging to this project
  * **View** - read-only to the project items
* **Is Archived** - mark true if you’d like to block these members access from all data

{% hint style="info" %}
A higher level of permission will be selected if a user has multiple permissions of a project. For example, if a user is added to a project with **edit** permission in the member section, and at the same time, the user is added with **view** permission with a team he/she belongs to in the team section. This user will have **edit** permission.
{% endhint %}

## Add member

Members can be added to a project at the detail view of the project. **If a member, includes the administrators, is not added to the project, the member do not have permission to import to create records related to this project.**

To add one or more members:

1. Click on Settings
2. Select Projects
3. Click the “Project Name”
4. Select Members from the sidebar
5. Click the “+” icon on top of the navbar
6. Fill in the form and click submit

## Import members

Multiple members can be created simultaneously using **Import**. You can do this by clicking **Import** in the team list view.

## Export members

You can export a list of members by clicking **Export** button and select one option from the dropdown.

## Delete member

In the member list view, a member can be deleted by clicking the Delete icon next to it.


# Applications

How to use Labii ELN & LIMS

## Overview

An application is a collection of tables created in [Labii](https://www.labii.com/) for domain-specific data management. The application can be an [Electronic Lab Notebook (ELN)](https://www.labii.com/electronic-lab-notebook-eln) to manage experiment entries or a [LIMS](https://www.labii.com/laboratory-information-management-system-lims) to manage workflows. Group a set of tables using the application. Your grouped tables will be organized in the dashboard and side menu.

### Relationship between Applications, Tables, Columns, Sections, Widgets, Records

![](/files/Hu4ztTzd2uS2WkVSmh8t)

1. You can create multiple **Applications** in your Labii account.
2. Each **Application** can have one or more **Tables**.
3. Each **Table** can contain an unlimited number of **Records**.
4. The data of a **Record** can be divided into **Structured and Unstructured data**.
5. **Structured data** is managed via **Columns**. The data of columns is displayed and modified using **Columns widgets**.
6. **Unstructured data** is managed with **Sections**. A **Section widget** displays and modifies data for a section.

## List of applications

You can manage a list of applications by clicking **Settings** at the side menu and then select **Applications**.

![](/files/xd6VoJ4mljol5ROlSXuF)

### Search applications

You can search applications by typing a keyword into the search bar in the **application list view**, and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter applications

With the **Filter** function, you can limit the number of teams displayed. You can do that by clicking **Active applications** and then selecting a filter from the dropdown. Here are a list of filters:

* **All applications**. Filter to display all applications.
* **Active applications**. Filter to display the active applications.
* **Archived applications**. Filter to display the archived applications.

## Application detail

Click an application name to view the detail of the application.

### Application fields

Here is the list of fields for a particular application:

* **sid** - The SID of the application. Automatically generated by Labii. This ID cannot be changed once it has been created.
* **name** (required) - The name of the application.
* **description** - The description of the application.
* **icon** (required) - Application icon.
* **order** - The order to display the application
* **tables** - List of tables to be grouped under the application.
* **teams** - Choose one or more teams to have access to this application. If you don't choose any team, all teams will have access to this application.
* **is\_archived** - If checked, the application is not available to use.

## Add application

You can add a new application or choose an application from a predefined template.

### Add an new application

Adding a new application will allow you to group a series of tables. To do that:

1. Navigate to Settings -> Applications
2. Click "**+ Application**" in the nav bar, then select "**+ Application**" from the dropdown
3. You will be redirected to a new form,
   1. Fill in the name and description
   2. Add an icon to the application. The full list of icons can be found at <https://fonts.google.com/icons>
   3. Choose one or more tables
   4. To submit, click Submit

![](/files/vqrKXCta7W5PdUpggiCN)

### Add from a template

To make it easier for others to set up, we created pre-defined applications based on the common usage across our users.

To do that:

1. Navigate to Settings -> Applications
2. Click "**+ Application**" in the nav bar, then select "**+ From a template**" from the dropdown
3. You will be presented with a list of uninstalled applications. If there are no applications on this page, you have already installed all Labii's preconfigured applications.
4. Choose one application to install. If clicked, it will install 1) the application, 2) the tables related to the application, 3) the columns, sections, and filters related to the tables.

![](/files/dfDFRXGRdGjVMlp0WPeV)

## Import applications

Multiple applications can be created simultaneously using **Import**. You can do this by clicking **Import** in the team list view.

## Export applications

You can export a list of applications by clicking **Export** button and select one option from the dropdown.

## Delete application

In the application list view, an application can be deleted by clicking the Delete icon next to it.

## Pre-defined applications

Currently, these applications are supported:

1. [**Electronic Lab Notebook (ELN)**](https://www.labii.com/electronic-lab-notebook-eln) - Use Labii as an Electronic Lab Notebook (ELN) to document research, experiments, and procedures performed in a laboratory. Electronic lab notebooks are intended to replace paper lab notebooks. It is best for research and development.
2. **Electronic Lab Notebook (ELN) for Production** - Use Labii as an Electronic Lab Notebook to document your experiments, procedures by following those same steps and standardizing patterns. All experiments are broken into many standard parts and users simply need to fill out the relevant information for each section. It is best suited for production notes or for users who are highly organized.
3. **Electronic Lab Notebook (ELN) for ELISA Data Analysis** - Use Labii as an Electronic Lab Notebook to document the ELISA experiments. Special widgets are designed to capture ELISA layouts and data, and to analyze ELISA standard curves and dose-responsive curves (DRCs).
4. [**Inventory Management**](https://www.labii.com/inventory-management) - Use Labii as Inventory Management to track and manage your entire inventories, including samples, reagents, equipment, vendors, and storage.
5. **LIMS for Sample Testing** - Use Labii as LIMS to manage the workflow associated with sample testing. With it, you can collect samples, conduct sample testing, document the results, conduct quality control, and generate reports.
6. **LIMS for Molecular Cloning -** Use Labii as LIMS to manage the molecular cloning workflow. The application allows for the preparation of the vector, insertion, ligation, transformation, and screening of the colony.
7. **LIMS for Sequencing -** Use Labii as LIMS to manage the sequencing process. By using it, you can track information about extracting DNA/RNA from biospecimens, preparing libraries from the extracts, and sequencing and generating Fastq files.
8. **LIMS for CRISPR Gene Editing -** Use Labii as LIMS to manage gene editing workflows. You can track and manage the plasmids, vectors, sgRNAs, etc.
9. **Chemical Registration** - Use Labii as Chemical Registration to manage and register chemicals and ensure every compound you work with is identified uniquely.
10. **Project Management** - Use Labii as a Project Management tool to keep track of your scientific research tasks, goals, and projects.
11. **Customer Relationship Management (CRM)** - Use Labii as a CRM to track research projects, tasks, samples, and experiments with customers. It is most suitable for CROs (Contract Research Organizations).
12. **Reference Management** - Use Labii as a Reference Management to to manage a list of scientific papers. Data from NCBI Pubmed can be downloaded and synced.
13. **Ontology -** Use Labii as an Ontology tool to manage ontologies and OWL tree. Other tables can also use the ontology terms to control the vocabulary.

## Application Permissions

To restrict user access to specific applications, assign one or more teams to the application. All members within these teams will then have access to the application. If no teams are assigned, the application will be accessible to all users.


# Tables

Change table settings to meet your requirement

## Overview

Tables serve as individual modules to manage the research data for a particular category. Labii uses a table to keep track of one particular type of data. For instance, an experiment table can be used to keep track of all experimental notes. Depending on your research needs, you can add an unlimited number of tables to manage any type of data you require.

{% hint style="info" %}
These changes can only be made by Administrators.
{% endhint %}

{% embed url="<https://youtu.be/oWMfHFsfoH0>" %}

## List of tables

You can manage a list of tables by clicking **Settings** at the side menu and then select **Tables**.

![](/files/Tg4kcdUszNy9ej3i7V3g)

### Search tables

You can search tables by typing a keyword into the search bar in the **table list view**, and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter tables

With the **Filter** function, you can limit the number of teams displayed. You can do that by clicking **Active tables** and then selecting a filter from the dropdown. Here are a list of filters:

* **All tables**. Filter to display all tables.
* **Active tables**. Filter to display the active tables.
* **Archived tables**. Filter to display the archived tables.

## Table detail

Click a table name to view the detail of the table.

The detailed view of a table comes with 5 tabs:

* Detail - the detail fields of the table.
* Columns - the columns of the table. Learn more [here](/admin-guide/tables/columns).
* Sections - the sections of the table. Learn more [here](/admin-guide/tables/sections).
* Filters - the filters of the table. Learn more [here](/admin-guide/tables/filters).

<figure><img src="/files/Cl59mxhxKUQlQyCQ50Ep" alt=""><figcaption></figcaption></figure>

### Table fields

Here is the list of fields for a particular table:

* **Overview**
  * **sid** - The SID of the table. Automatically generated by Labii. This ID cannot be changed once it has been created.
  * **updated\_by**
  * **date\_updated**
  * **date\_created**
* **Detail**
  * **name\_singular** (required) - Table name, in a singular format. Letters and Numbers only, no blanks.
  * **name\_plural** (required) - Table name, in plural format. Letters and Numbers only, no blanks.
  * **name\_system** - This name is used to identify system-specific tables and is automatically generated by Labii.
  * **icon** (required) - Table table icon.
  * **order** - The order to display the table
* **Unique ID**
  * **unique\_code** (Required) - The abbreviation term of a table name. The code must be at least 2 characters long and contain only uppercase letters. The unique\_code is used to generate the unique identifications (UID) of records.
  * **UID\_format** - You have the option to personalize the UID by specifying your preferred UID format, which by default consists of '{Unique Code}{RID}'.
  * **should\_support\_custom\_uid** - If true, users must supply their unique identifier (UID) for each record. This works well for reagents where you prefer to utilize the vendor's barcode as the UID.\
    Notes: Users must guarantee the uniqueness of the provided UID, as failure to do so will result in the newly created record replacing the existing one.
* **Name and Description**
  * **name\_display\_name** - The display name of the 'Name' field.
  * **name\_help\_text** - The description of the 'Name' field.
  * **name\_display\_format** - The format of the 'Name' field for the name serializer.\
    This field support variables. Discover additional information about the array of supportive variables on <https://docs.labii.com/api/variables>.\
    Note: Providing a value for this field will override the default name. Use {{NAME}} to include the original name.
  * **description\_display\_name** - The display name of the 'Description' field.
  * **description\_help\_text** - The description of the 'Description' field.
* **List view**
  * **default\_list\_view** - Default tab view when opening the list view.
  * **fields\_to\_display -** Select fields to display in the list view.
  * **ordering** - The ordering to display records in the list view.
  * **default\_filters** - Select the default filters to be included in the list view.
* **Detail view**
  * **default\_detail\_view** - Default tab view when opening a record.
  * **fields\_to\_display\_for\_detail** - Select fields to display in the detail view.
  * **should\_enable\_section\_complete\_action** - If enabled, each section of a record will include a 'Complete' button. Once a section is marked as complete, it will become read-only.
* **Form view**
  * **default\_add\_query -** The query meant for adding to the form. Use this function to restrict changes to the append query in the add form. This field support variables. Discover additional information about the array of supportive variables on <https://docs.labii.com/api/variables>
* Permissions
  * **teams\_can\_add** - Choose one or more teams to have add permission to this table. If you don't choose any team, all teams will have add permission to this table.
  * **should\_limit\_edit\_to\_owner** - If true, only the owner can edit their records, regardless of the permission settings at the project level.
  * **required\_certifications -** Please indicate the necessary certifications needed to add or modify entries in this table. If multiple certifications are required, please list them separated by commas.
* **Settings**
  * **minimum\_number\_of\_signers** - Number of signatories required. This number is set so that the document can only be signed when a minimum number of signers has been added. It defaults to 0.
  * **printer\_header -** Customize the header of the print page for the table. Use HTML code for formatting. If provided, the header from organization setting will be replaced. This field support variables. Discover additional information about the array of supportive variables on <https://docs.labii.com/api/variables>
* **metadata** - the list of metadata with labels and values
* **is\_archived** - Checking this box will archive the table. Archived tables are not available for use. Make sure no other column/section uses the table, it might break your system if one is archived. The Files table is always required and should not be archived.

## Add table

A new table can be added with the following methods:

* Add a new table at the table list view:
  1. Settings -> Tables
  2. Click "Add Table" and select "Add blank table"
  3. Fill in the required fields and click "Submit"

![](/files/wSEfAq1R2js5pha6iVRa)

### Add table from a template

Labii ELN & LIMS is a complicated system and requires specific training to get everything right. We are simplifying the configuration progress with table templates.

* Settings -> Tables
* Click "Add Table" and select "Add table from template"
* Choose a template
* Fill in the required fields and click "Submit"
* The newly created table will also create the corresponding columns, sections, filters, workflows at the same time

{% hint style="info" %}
Please always use a table template when creating a new table.
{% endhint %}

### Duplicate table

To create a table similar to the table already created:

* Settings -> Tables
* Click a table name
* Click "...Actions"
* Select "Duplicate" from the dropdown menu.
* Change the following fields and click submit:
  * Table Name Singular
  * Table Name Plural
  * Unique code

## Import tables

If you already have a list of tables and you would like to create in batch, use the "Import tables" function. To do that:

1. Prepare a sheet with the following fields.
2. Download/Save it as \*.tsv
3. Settings -> Tables
4. Click the "...Actions"
5. In the dropdown, select "Import"
6. Select the file you just prepared, click Submit
7. Match each field based on your document header
8. Click Submit button to import
9. Verify the final results

<table><thead><tr><th>icon</th><th>name_singular</th><th>name_plural</th><th>description</th><th>unique_code</th><th data-type="checkbox">should_add_from_form</th><th>default_view</th><th>order</th></tr></thead><tbody><tr><td>cloud</td><td>test</td><td>tests</td><td>This is a test</td><td>TT</td><td>true</td><td>overview</td><td>1</td></tr></tbody></table>

## Export tables

You can also export a list of tables for later use. To do that:

1. Settings -> Tables
2. Click the "...Actions"
3. In the dropdown, select "Export current page". Only the tables visible on the current page will be exported.
4. Select "Export all pages". This will download all tables and all fields.

## System tables

The system tables are the tables with name\_system setup and reserved with one particular function. Here is a list of system tables:

* **file** - The files table to store the uploaded files
* **workflow** - The workflow table to store the workflow details
* **step** - The workflow steps

{% hint style="info" %}
The fields of the system tables can not be changed.
{% endhint %}


# Columns

Manage and create columns

## Overview

A column is a set of data values of a particularly type, one for each row of the table. With Labii, you can customize the fields of a table with columns. Column widgets are used to specify data types.

{% embed url="<https://www.youtube.com/watch?v=g8cB8XLW7hQ&list=PLfC5DvtpQI5cZSSIHDYl6hD_XpwF9oQcX&index=14&t=2s>" %}

## List of columns

Each table has its own columns. Open a table and click the **Columns** tab to view the list of columns.

![](/files/9B72oxXDfmX0tNRQ9EYS)

### Search columns

You can search columns by typing a keyword into the search bar in the **columns list view**, and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter columns

With the **Filter** function, you can limit the number of columns displayed. You can do that by clicking **Active columns** and then selecting a filter from the dropdown. Here are a list of filters:

* **All columns**. Filter to display all columns of the table.
* **Active columns**. Filter to display the active columns.
* **Archived columns**. Filter to display the archived columns.
* **Required columns**. Filter to display a list of required columns.
* **Optional columns**. Filter to display a list of optional columns.
* **Hidden columns**. Filter to display a list of columns that are hidden at the list view.
* **Visible columns**. Filter to display a list of columns that are visible at the list view.

## Column detail

Click a column name to see full detail of a column.

### Column fields

* **Name** - The name of the column
* **Description** - Provide a description of the column and all other necessary information to help others in the same organization to fill out
* **Order** - required field; the order to display the column, numbers only

#### Configuration

* **Widget** - The widget to use, or the type of data; tons of widgets to choose from via dropdown list and the widget store via Labii ELN & LIMS
* **Configuration** - The configuration of the column. Use it to provide additional parameters to the column.
* **AI Configuration** - The configuration allows any column to have predefined AI buttons. Use the following options to select the GPT, customize the button text and icon, and provide additional prompt instructions:
  * **GPT** - Select the GPT configuration used to generate this column's value. You can create a new GPT at Settings → GPT.
  * **Button Text** - Text displayed on the AI generation button. Default: `Generate`.
  * **Icon** - Icon displayed on the AI generation button.
  * **Additional Prompt or Text** - Additional instructions or text passed to the GPT.
* **Default Data** - The default data of the column.
  * For Boolean field, the default value is 'false' if not provided. Use 1 for 'true' and 0 for 'false'
  * For Select/MultiSelect field, add one item per line as options. Use '\_' to separate the value and label
  * For ForeignKey, add the unique code of the table to match. Use ',' to separate multiple matches. If not provided, it will match everything
  * For Date, use YYYY-MM-DD
* **Ref** - Reference identifier for matching this column in JSON templates

#### Settings

* **Is Required** - Make this field mandatory - users cannot save records without filling this column
* **Should Hide In Form View** - Hide this column entry in every row while keeping it visible in the record details. Use this to control the visibility of the column in the form view.
* **Should Hide In List View** - Hide this column from the table list view while keeping it accessible in individual records. Use this to control column display in the list view.
* **Should Disable Copying** - Prevent data from this column from being copied when duplicating records
* **Should Mask Data** - Display data as masked (e.g., "\*\*\*") to protect sensitive information while keeping it accessible to authorized users
* **Max Width** - Set maximum column width in pixels to prevent very wide columns from affecting table layout

#### Permission

* **Permission** - The column's supplementary permission settings can be utilized to offer additional control over its permissions.
  * **Limit Edit Permission to Member(s) Column** - Select a Member or Members column. Once selected, only the member from the selected column can edit this column.

#### Metadata

* **Metadata** - Store additional column configuration and custom properties in JSON format

#### Danger Zone

* **Is Archived** - Archive this column to hide it while preserving all existing data and history
* **Date Created** - Automatically captured in the background of Labii ELN & LIMS in real-time

## Add column

A column is a set of data values of a particularly simple type, one for each row of the table.

{% hint style="info" %}
Note: only administrators within an organization can "add a new column."
{% endhint %}

A new column can be added in the columns list view

1. Navigate to the columns list view (see above)
2. Click the "+" icon on the top of the navbar or click the "add column" from the sidebar

**Here are the fields to fill out on the “Add Column” form:**

* **Name** - required field, letters only for the name of a new column
* **Description** - optional field; provide a description of the column and all other necessary information to help others in the same organization to fill out.
* **Widget** - The widget to use, or the type of data. Default to Text. Check out Settings -> Widgets to install missing widgets. Check out here for a list of widgets
* **Configuration** - The configuration for the widget. The configuration is different for different widgets, please check [here](https://github.com/Labii/labii-gitbook-docs/tree/gitbook/admin-guide/tables/broken-reference/README.md) for the details. If a JSON is provided, use [python JSON format](https://www.w3schools.com/python/python_json.asp).
* **Default Value** - optional field; used to set the default value of the field
  * For the Boolean field, the default value is 'false' if not provided. Use 1 for 'true' and 0 for 'false';
  * For the Select/MultiSelect field, add one item per line as an option. Use '\_\_' to separate the value and label.
  * For ForeignKey, add the unique code of the table to match. Use ',' to separate multiple matches. If not provided, it will match everything. For example, use “EP” to only match experiments.
  * For Date, use YYYY-MM-DD.
* **Order** - required field; the order to display the column, numbers only
* **Is Required** - optional; if checked, the value of the column is required in form submitting
* **Is Hidden** - optional; if checked, the column will not display in the list view but will be available for use.
* Click submit once finished with all required and optional fields

## Add column from a template

Labii provides pre-built table templates to simplify the configuration process. These templates are continuously refined and improved over time. If a new column becomes available in a template and you’d like to add it effortlessly, you can use the “Add Column from a Template” feature. Here’s how:

1. Click the Add Column dropdown menu.
2. Select Add from a Template.
3. Choose the desired column from the list.

<figure><img src="/files/3TWkhhtd50XGnNiQWLCI" alt=""><figcaption></figcaption></figure>

## Add column via JSON

{% hint style="info" %}
This feature is designed for advanced users who need to create columns programmatically or in bulk using JSON code.
{% endhint %}

For advanced users who need more control or want to automate column creation, Labii provides the ability to add columns using JSON format. This method is particularly useful when:

* Creating multiple columns with complex configurations
* Replicating column structures across different tables
* Automating column creation through scripts
* Migrating column definitions from external systems

### Using ColumnGPT

ColumnGPT can help you generate the JSON code needed to create columns. Simply describe what type of column you want to create, and ColumnGPT will generate the appropriate JSON structure for you.

### JSON Structure

The JSON format for creating a column includes the following properties:

```json
{
  "name": "Column Name",
  "description": "Description of the column",
  "widget": "widget_name",
  "configuration": {},
  "default_value": "",
  "order": 100,
  "is_required": false,
  "is_hidden": false,
  "should_hide_in_form_view": false,
  "should_hide_in_list_view": false,
  "should_disable_copying": false,
  "should_mask_data": false,
  "max_width": null,
  "ref": "column_reference"
}
```

### Adding the Column

{% stepper %}
{% step %}
Navigate to the **Columns** tab of your table
{% endstep %}

{% step %}
Click the **Add Column** dropdown menu
{% endstep %}

{% step %}
Select **Add via JSON** from the options
{% endstep %}

{% step %}
Paste your JSON code into the editor
{% endstep %}

{% step %}
Click **Submit** to create the column
{% endstep %}
{% endstepper %}

### Example: Creating a Text Column

```json
{
  "name": "Sample ID",
  "description": "Unique identifier for the sample",
  "common": "text",
  "is_required": true
}
```

### Example: Creating a Select Column

```json
{
  "name": "Status",
  "description": "Current status of the sample",
  "common": "select",
  "configuration": [
	{"option": "Pending"},
	{"option": "Approved"},
	{"option": "Rejected"}
  ],
  "default_data": "Pending",
  "is_required": true
}
```

{% hint style="success" %}
**Tip:** Use ColumnGPT to generate complex column configurations. It can help you create the correct JSON structure with all necessary properties and widget-specific settings.
{% endhint %}

{% hint style="warning" %}
Ensure your JSON is properly formatted and all required fields are included. Invalid JSON will result in an error when attempting to create the column.
{% endhint %}

## Import columns

Multiple columns can be created simultaneously using **Import**. You can do this by clicking **Import** in the column list view.

## Export columns

You can export a list of columns by clicking **Export** button and select one option from the dropdown.


# Sections

Default sections of a table.

## Overview

Sections are the module of document. Use section to insert different type of unstructured data. When you define sections at the table level, you force all future created records to include these sections.

Changes to the section will **NOT** affect any of the existing records. Unsigned records can be reformatted to match the default sections. A record can be altered by adding new sections and archiving existing sections after it is created.\
\
If you're just getting started with Labii, you don't need to configure all default sections at once. Add the first set of sections, and you can always update them as you test and use it.\
\
In the case of a need for different default sections, users can create a template with all the necessary sections and use it to create new records.

## List of sections

Each table has its own default sections. Open a table and click the **Sections** tab to view the list of sections.

![](/files/oQaDQc6NaN0xLDeUmf6C)

### Search sections

You can search sections by typing a keyword into the search bar in the **sections list view**, and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter sections

With the **Filter** function, you can limit the number of sections displayed. You can do that by clicking **Active sections** and then selecting a filter from the dropdown. Here are a list of filters:

* **All sections**. Filter to display all sections of the table.
* **Active sections**. Filter to display the active sections.
* **Archived sections**. Filter to display the archived sections.

## Section detail

Click a section name to see full detail of a section.

### Section fields

* **Sid** - The unique identifier of the section
* **Table** - The table this section belongs to
* **Name** - Name of the section that will be displayed to users
* **Description** - Description or help text of the section
* **Widget** - The widget to use. Learn more about available widgets [here](/widgets/overview). If a widget is not available, you can enable it [here](/admin-guide/widgets)
* **Order** - Display order of the current section
* **Data** - Default data to be loaded. The default data should be updated as follows:
  1. Use an existing record or create a new one.
  2. Find the section with the current name and widget under the **Sections** tab.
  3. Load the **Edit** model to configure the section.
  4. Click the **Actions** button and then choose **Save as table default** from the drop-down menu that appears.
* **Ref** - Reference text to matching current section in the json template
* **Is Required** - Automatically add this section to new records. Uncheck for optional sections that users can add manually
* **Is Archived** - If checked, data is not available for use. Check this to hide/delete this section

## Add a section

Click the "+" at **Settings -> Tables -> Sections** to add a section.

* **Widget** - The widget to use. Check out Settings -> Widgets for more details of each widget. Please try not to change the widget, data from one widget does not compatible with the other.
* **Name** - Name of the section
* **Description** - Description or help text of the section
* **Order** - Display order of the current section
* **Data** - Default data to display

{% hint style="info" %}
**How does the data of a table section different from organization default section data?**

Both can create default data for a section. The major difference is: organization default data can be created for any sections, while the section data can only be applied to the default sections.
{% endhint %}

## Add section from template

Labii consistently updates the templates of table sections. You can use the **Add section from template** function to add a missing section from a template.

{% stepper %}
{% step %}
Click the **Add Section** dropdown button
{% endstep %}

{% step %}
Select **Add from a template** from the dropdown menu
{% endstep %}

{% step %}
Choose a section from the modal that appears
{% endstep %}
{% endstepper %}

## Import sections

Multiple sections can be created simultaneously using **Import**. You can do this by clicking **Import** in the section list view.

## Export sections

You can export a list of sections by clicking **Export** button and select one option from the dropdown.

## Change the order of sections

The order of columns can be changed via dragging a column to a different position. You can also update the value of the section **order**.


# Filters

Labii ELN & LIMS allows users to create filters for any table within the platform.

## Overview

A filter is a set of limitations to the table fields for allowing users to restrict display results by building one or more queries. [Labii ELN & LIMS](https://www.labii.com/) allows users to create filters for any table within the platform.

{% embed url="<https://youtu.be/sSCg5CI_QAU>" %}

## List of filters

Each table has its own filters. Open a table and click the **Filters** tab to view the list of filters.

#### **There are 3 ways to access filters for a particular table:**

#### From record list view:

* Click “filters” from sidebar to the left or the navbar to the top
* Select “My xxx Filters” or “All xxx Filters”

#### From settings:

* Select Settings
* Select Tables
* Click Filters tab

![](/files/AFoeUrT3QdF4PrKVNmLF)

### Search filters

You can search filters by typing a keyword into the search bar in the **filters list view**, and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter filters

With the **Filter** function, you can limit the number of sections displayed. You can do that by clicking **Active filters** and then selecting a filter from the dropdown. Here are a list of filters:

* **All filters**. Filter to display all filters of the table.
* **Active filters**. Filter to display the active filters.
* **Archived filters**. Filter to display the archived filters.
* **My filters.** Filter to display a list filters assigned to you.

## Filter detail

Click a filter name to see full detail of a filter.

### Filter fields:

* **Sid** - The unique identifier of the filter
* **Name** - The name of the filter that will be displayed to users
* **Description** - Provide a description of the filter and all other necessary information to help others in the same organization understand what this filter is for
* **Icon** - Choose an icon that visually represents the filter
* **Show in Menu** - Enable to display this filter in the table's filter menu. Uncheck to hide it from the menu
* **Ref** - Reference text to matching current filter in the json template
* **Query** - Query is in JSON format. Use an array for OR operator. The list of current variables (Record and User) are available at <https://docs.labii.com/api/variables>
* **Query Exclude** - Query in JSON format to be excluded
* **Permissions**
  * **Owners** - Select users who can edit this filter. The filter creator is automatically included as owner
  * **Teams** - Select teams that can use this filter. Team members can view but not modify the filter
* **Notifications**
  * **Digest Frequency** - Choose how often to receive summary emails for records matching this filter. Options: none, daily, weekly, monthly, or annually
  * **ICS** - The ICS link to sync with your calendar for records matching this filter
* **Configuration**
  * **Title** - Reference to the column that should display as title of a sample. The title will be displayed when adding a sample via URL
* **Date Updated** - Timestamp of the last modification to this filter
* **Date Created** - Timestamp when this filter was created
* **Is Archived** - If checked, filter is not available for use. Check this to hide/delete this filter

## Add filters

#### **There are many methods to add filters:**

1. Add filter from the search results:
   1. Open record list view
   2. Click Search Bar -> Advanced Search
   3. Fill in the search queries
   4. Click "Save as filter" button
2. Add filter from list view
   1. Open record list view of a table
   2. Click filter dropdown
   3. Choose **Add filter** option
3. Add filter from settings
   1. Click Settings -> Tables
   2. Click **Filters** tab
   3. Click "**Add Filter**"

**Enhancing Results by Merging Multiple Filters**

Labii allows you to combine results from multiple filters. To do this, create a filter and update the query with the following keys and values:

* To use "OR" logic for filters, use the key `filter__sid__in`. Example: `{"filter__sid__in": "xxx,xxx,xxx"}`
* To use "AND" logic for filters, use the key `filter__sid`. Example: `{"filter__sid": "xxx,xxx,xxx"}`

## Add filter from template

Labii consistently updates the templates of table filters. You can use the **Add filter from template** function to add a missing filter from a template.

{% stepper %}
{% step %}
Click the **Add Filter** dropdown button
{% endstep %}

{% step %}
Select **Add from a template** from the dropdown menu
{% endstep %}

{% step %}
Choose a filter from the modal that appears
{% endstep %}
{% endstepper %}

## Import filters

Multiple filters can be created simultaneously using **Import**. You can do this by clicking **Import** in the section list view.

## Export filters

You can export a list of filters by clicking **Export** button and select one option from the dropdown.

## Delete filter

In the filters list view, a filter can be deleted by clicking the **Delete** icon next to it.

## Sent notifications

When you define the "Digest Frequency" on a filter, you will be able to receive notifications for the results of the filter.

## Examples

1. Identify and retrieve rows that are missing a specific column's data.
   1. query: `null`
   2. query\_exclude: `{"cell__column__sid": "xxx"}`


# Workflows

Configure workflow and steps

## Overview

A [workflow](https://en.wikipedia.org/wiki/Workflow) consists of an orchestrated and repeatable pattern of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information.

A [Laboratory Information Management System (LIMS)](https://www.labii.com) allows you to effectively manage the flow of samples and associated data to improve lab efficiency. A [LIMS](https://www.autoscribeinformatics.com/resources/blog/what-is-a-lims) helps standardize workflows, tests, and procedures while providing accurate controls of the process. Instruments may be integrated into the LIMS to automate the collection of test data, ensuring they are properly calibrated and operated by trained staff only.

[Labii ELN & LIMS has integrated a sophisticated workflow management system to guide our users to document the data with a predefined process.](https://www.labii.com/blogs/AU53KxetBwJbnQ44Z0z-automatic-your-pipeline-with-workflows-in-labii-lims/)

This documentation demonstrates how to create a workflow and add steps. As the name implies, this is a new feature and is different from the previously used Workflows widget (now referred to as [Flowchart](/widgets/section-widgets/process-management/flowchart) widget).

{% embed url="<https://youtu.be/uTNnvhBLhcg>" %}

## List of workflows

The list of workflows can be managed by clicking **Settings** on the side menu and then clicking **Workflows**.

![](/files/Bn8zUn9G5hdmDqgE2Pkh)

### Search workflows

You can search a workflow by typing a keyword into the search bar in the **workflow list view,** and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter workflows

With the **Filter** function, you can limit the number of workflows displayed. You can do that by clicking **Active workflows** and then selecting a filter from the dropdown. Here are a list of filters:

* **All workflows**. Filter to display all workflows.
* **Active workflows**. Filter to display the workflows that is active.
* **Archived workflows**. Filter to display the workflows that is archived

## Workflow detail

The details of a workflow can be viewed by clicking its name.

A workflow typically has these columns:

* **Sid** - the id of the backup
* **Name** - name of the backup
* **Description** - the description of the backup
* **Order** - the order of the workflow
* **Trigger** - Workflow triggers are events that cause a workflow to execute.
* **Actions** - Actions are the functions that the workflow will execute.

### Trigger

Trigger is the condition to execute the workflow. The trigger is optional. The workflow will be executed automatically if trigger is provided. In the absence of a trigger, the workflow can be manually triggered.

<figure><img src="/files/aq882rxYhnbU2mkEmiCN" alt=""><figcaption></figcaption></figure>

* **Events or schedule** - Event or schedule to trigger the workflow.
  * **Record created**, triggered by the creation of a record.
  * **Record updated**, triggered when a record is updated.
  * **Interval schedule**, triggered by an interval schedule.
  * **Crontab schedule**, triggered by an crontab schedule.
* **Record created**
  * **Trigger table** - The table of record that will trigger the workflow when a certain event occurs to it.
  * **Condition** - The conditions that must be met before a workflow is executed. You can skip the conditions check by leaving it empty.
    * **Field** - The fields/columns of the table table name.
      * **Lookup expression** - Lookup Expression or Method
      * **Value** - Value or term to lookup.
  * **Logical operator** - Logical operator is used to determine the logic between conditions.
* **Record updated**
  * **Trigger table** - The table of record that will trigger the workflow when a certain event occurs to it.
  * **Trigger column** - The column of record that will trigger the workflow when updated.
  * **Condition** - The conditions that must be met before a workflow is executed. You can skip the conditions check by leaving it empty.
    * **Field** - The fields/columns of the table table name.
      * **Lookup expression** - Lookup Expression or Method
        * **Value** - Value or term to lookup.
  * **Logical operator** - Logical operator is used to determine the logic between conditions.
* **Interval schedule**
  * **Interval value** - A positive number.
  * **Interval unit** - The unit of time.
    * Minute(s)
    * Hour(s)
    * Day(s)
* **Crontab schedule**
  * Minute(s)
  * Hour(s)
  * Day(s) Of The Week
  * Day(s) Of The Month
  * Month(s) Of The Year
  * Cron Timezone

### Actions

Actions are the functions that the workflow will execute. Labii use API calls to perform the actions. Learn more at <https://docs.labii.com/api/sdk>.

<figure><img src="/files/o4SscNatavfCR4W8eNEB" alt=""><figcaption></figcaption></figure>

Each action contains the following fields:

* **Method** - API Method
  * **Create**- The POST method to create a object.
  * **Modify** - The PATCH method to modify a object.
* **Object**
  * **Record** - The data record
  * **Cell** - The column data of a record
  * **Section** - The section of a record
  * **Notification** - The notification object
* **Query or SID -** Additional query to limit the results. If method='Modify' or 'Delete', provide the SID here.
* **Data -** Data in JSON to be created or modified.

## Add workflow

A workflow can be created by the administrator. To do that:

1. Click the **Settings** at the side menu, and then select **Workflows**
2. Click the "**+ Add Workflow**" button
3. A form will be displayed.
4. Provide name and description of the backup
5. Click **Submit** button

## Delete workflow

**Delete workflow at the list view**

To delete a workflow, go to the list view of workflow and then click the **Delete** icon.

**Delete workflow at the detail view**

Open a workflow and then click **Delete** button.

## Execute workflow

If the trigger is defined, the workflow will be executed automatically.

Furthermore, you can manually trigger workflows using the following methods:

1. [From record submit form](/user-guide/add-record#execute-workflows).
2. [From import form](/user-guide/list-view/import#step-1-select-file).
3. [From Flowchart widget](/widgets/section-widgets/process-management/flowchart).
4. [From trigger schedule](#trigger)

## Execution Log

The Execution Log in Labii workflow serves as a comprehensive record detailing the who, when, why, and what of each workflow execution. It captures crucial information such as the timestamp of execution, identifying the user responsible, the trigger event that initiated the workflow, and the detailed outcome or result of the execution. This log not only provides a chronological overview of workflow actions but also enables users to track the history and status of their workflows, facilitating transparency and accountability in workflow management.


# Widgets

Manage Widgets and Explore Widget Store

### Overview

Widgets at [Labii ELN & LIMS](https://www.labii.com/) is a stand-alone function to edit or process certain pieces of data. Labii as an Electronic Lab Notebook (ELN) and Laboratory Information Management System (LIMS) service provider, introduced widgets to meet the specific requirements for various types of research labs.

Labii ELN & LIMS has over [70+ widgets](/widgets/overview) to choose from and if you’d like to learn more about specific widgets, please click here: <https://docs.labii.com/widgets/summary>

This documentation demonstrates how to manage and add widgets for a particular organization within [Labii ELN & LIMS](https://www.labii.com/).

### Widget Store

[Labii ELN & LIMS](https://labii.com) has a widget store in which an administrator can view all the widgets available from Labii. This also gives the ability for admins to add/activate new widgets for others in their organization to use as well.

This page will display all the widgets Labii currently has and the ability to make widgets active or inactive for members of an organization. The widget store is evolving weekly with new widgets being added or requested. This is a great place to find new and innovative widgets to help further increase your lab productivity

To navigate to the widget store:

* Go to settings --> widget store

The widget list page has these fields:

* **Icon** - Displays the icon for a particular widget
* **Name** - Displays the name for a particular widget
* **Type** - either section or column
* **Category** - The category for that particular widget; for an example, if it’s an office or productivity category
* **Sub Category** - Displays the subcategory of a particular widget.
* **Subscription Price** - if your organization is using Labii with the subscription payment method, all widgets provided by Labii is free to use.
* **PPU Price** - if your organization is using Labii with the PPU payment method, it will showcase whether or not a widget has a fee associated with it.
* **Status** - either active or inactive. Ability to active a widget to allow members in the organization to use or inactive, to block the use of a particular widget for others in an organization.
* **Used by** - displays the number of other Labii users who are using that particular widget.

{% hint style="info" %}
Please note that fees may apply for certain widgets and only administrators can active or inactive widgets for other members in an organization to use or not use
{% endhint %}

To install a new widget, simply click “active” to install that particular widget. To see the details of a particular widget; ability to see the category, number of users using that widget, plus more. Simply click on the widget you’d like to see the details for.

### Widget Detail View

To see the details of any particular widget:

* Settings --> Widget Store-->Click on any particular widget

The fields are as follows:

* **Icon** - Shows the icon of the widget
* **Name** - The name of the particular widget
* **Category** - Showcases which category this widget belongs too; Labii groups widgets within categories, Productivity, Regulation, Biology, etc.
* **Notes** - Short description of the widget
* **Description** - Gives a detailed description of the widget and what it enables a user to do by using it
* **Documentation URL -** To learn more about the particular widget and to best use, it, visit the URL provided.
* **Use Case** - How should the widget be used. Example of usage.
* **Type** - It will either be a section or column; depending on the widget
* **Constructor** - Type of data to store.
* **Related to** - Showcases which other widgets this particular widget is related to
* **Version** - displays the current version for a widget
* **Release Date** - Displays when the widget has been released
* **Order** - Display order of the widget
* **Subscription Price** - The price of the widget for each use at the subscription plan.
* **PPU Price** - The price of the widget for each use with the PPU model.
* **Used by** - Displays the number of users (customers of Labii) who are currently using this particular widget
* **Data** - Data structure to save the data for the widget.
* **Default Data** - The default data

### Manage and Install Widgets

Only administrators within an organization have permission to control what widgets to use for all other users.

To view and manage widgets in use for an organization, go to settings --> click on installed widgets. Only the organization widgets are listed on this page and the following fields are as follows:

* Icon - the icon for a particular widget
* Name - the name of the widget in use
* Type - either section or column; section widgets are used for unstructured data while column widgets are used for structured data, learn more at [column type widgets](https://docs.labii.com/widgets/summary/column-type-widgets) and [section type widgets](https://docs.labii.com/widgets/summary/section-type-widgets)
* Price - Displays the price for a particular widget
* Show in Menu - either true or false; if true, that particular widget will display in the dropdown menu
* Delete - to delete/remove a particular widget

### Install Widgets

An administrator can add a new widget for their respective organization by:

* Click the “+” icon on top of the nav bar or click “add organization widget” from the sidebar to the left.
* Then select a widget from the dropdown menu
* Show in Menu - Check this box for the widgets that are often used

Please note, the drop down menu will only display the widgets available for the organization


# Subscriptions

Labii plan type

## Overview

Labii's services are accessed through various subscription plans that organizations can choose from. The subscription tab in Labii displays the details of the plan selected by the organization, including the plan type (Free, Trial, Professional, PPU), the number of accounts, start and end dates, invoices, and whether it has been archived.

## Navigation

Scroll down on the side menu > Settings > Subscriptions

## Types of Plans

### Free

Labii offers a range of subscription plans to suit the different needs of research labs. One such plan is the Free plan, which allows users to explore and test all of the functionalities that Labii has to offer. This plan is ideal for those who are on a limited budget, or who simply want to test the platform without generating too much data. With the Free plan, users can make unlimited configuration changes, but there are limitations on collaboration and data generation.

### Trial

For those who want to fully experience Labii's capabilities, the Trial plan is highly recommended. This plan allows users to test all of the functionalities, including unlimited table configuration, inviting colleagues, and creating records. With a free 14-day trial period, users can explore the platform with real data and evaluate its usefulness for their research needs. After one year, users are eligible for another trial, making it a flexible and convenient option.

### Professional

The Professional plan is designed for labs that primarily use Labii for Electronic Lab Notebooks. This plan has limitations on customization and table creation, but it allows for collaboration and limitless experiment notes, protocols, and files. If your lab only needs to replace paper notebooks or Google Docs, the Professional plan is the best option.

### Enterprise

For labs that require more than just Electronic Lab Notebooks, the Enterprise plan is the most popular choice. This plan allows users to use Labii for ELN, Inventory Manager, LIMS, and much more. With customized tables for each type of research data generated, the Enterprise plan offers unlimited capabilities for standardizing research data management.

### Pay Per Use (PPU)

Labii also offers a Pay Per Use (PPU) plan, which is not subscription-based. With PPU, users only pay for the data they generate and the widgets they use, making it a cost-effective option for small teams.

### Dedicated Servers

Labii also offers additional services to cater to the needs of its customers. One such service is the provision of dedicated servers, which can be set up and managed in the customer's preferred location. The dedicated server includes individual virtual private clouds (VPCs), databases, domains, IP addresses, and other hardware infrastructure hosted on AWS. This service is ideal for companies that require greater control and security over their data and infrastructure.

### Source Code Escrow

Another service offered by Labii is Source Code Escrow. This service involves depositing the source code of software with a third-party escrow agent. This helps to reduce customer risk by ensuring that the source code is accessible in case of unforeseen events such as bankruptcy, acquisition, or other situations that could lead to the discontinuation of support for the software. While source code licensing does not eliminate all risks, it can dilute those risks and help facilitate a speedy recovery when the worst happens.

### Dedicated Support

Labii also offers dedicated support services to ensure that customers receive the assistance they need when using the platform. The customer support team provides quick response times, fast resolutions, and friendly service. With a sophisticated and comprehensive system for professionals, Labii has developed a set of toolsets to streamline the process of getting assistance.


# Credits

Labii credits

## Overview

Labii credits can be utilized to purchase different Labii products, including paying invoices and availing PPU services, among others. Labii's credit system provides users and organizations with visibility into any credits that have been applied to their account, with each credit representing one US dollar.

## List of credits

The list of credits can be managed by clicking **Settings** on the side menu and then clicking **Credits**. It displays list of credits you added to the platform.

<figure><img src="/files/bhshG4T4TNhwQHdUZY1Z" alt=""><figcaption></figcaption></figure>

### Search credits

You can search a credit by typing a keyword into the search bar in the **credit list view,** and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter credits

With the **Filter** function, you can limit the number of credits displayed. You can do that by clicking **Active credits** and then selecting a filter from the dropdown. Here are a list of filters:

* **All credits**. Filter to display all credit records.
* **Active credits**. Filter to display the credit records that is active.
* **Archived credits**. Filter to display the credit records that is archived
* **Paid credits.** Filter to display paid credit records
* **Unpaid credits.** Filter to display unpaid credit records

## Credit detail

The details of a credit can be viewed by clicking its name.

A credit typically has these columns:

* **Sid** - the id of the backup
* **Name** - name of the backup
* **Description** - the description of the backup
* **Credits** - The amount of credits.
* **Purchase Order**
* **Invoice**
* **Is Paid**

## Add credits

Credits can be added by the administrator. To do that:

1. Click the **Settings** at the side menu, and then select **Credits**
2. Click the "**+ Add Credit**" button
3. A form will be displayed.
4. Provide **Purchase Order** number. Leave it empty if no purchase order.
5. Provide the number of **Credits** to add.
6. Click **Submit** button

<figure><img src="/files/dIMFteHQJcYBNSwnXdJk" alt=""><figcaption></figcaption></figure>

Clicking the Submit button will take you to the payment page. You will be guided back to Labii once the payment information is provided.

<figure><img src="/files/H5M8CvfYZmvJZr38denK" alt=""><figcaption></figcaption></figure>


# Invoices

Commercial document(s) issued by Labii

## Overview

Labii issues a commercial document called an invoice to the buyer, which lists the products, quantities, and agreed-upon prices that Labii has provided. The invoice is automatically generated by Labii and will be accessible in your account.

## Navigation

Scroll down on the side menu > Settings > Invoices

## Invoice Creation

The invoice table view will display all active invoices generated by Labii.

## Invoice Download

Click on the Open button to open the invoice and download a copy.


# Single Sign On

Authenticate users with SSO

## Overview

[Single sign-on](https://en.wikipedia.org/wiki/Single_sign-on) is a property of access control of multiple related, yet independent, software systems. With this property, a user logs in with a single ID and password to gain access to a connected system or accomplished using the Lightweight Directory Access Protocol and stored LDAP databases on servers.

[SAML](https://www.ibm.com/support/knowledgecenter/en/SSAT72/com.ibm.help.ssm_adminguide.doc/c_SSM_SAMLandSSOIntegration.html) 2.0 (Security Assertion Markup Language) is an XML-based protocol that uses security tokens that contain assertions to pass information about a user between a SAML identity provider and a SAML service provider (SP).

The [SCIM](https://developer.okta.com/docs/reference/scim/scim-20/) (System for Cross-domain Identity Management) protocol is an application-level REST protocol for provisioning and managing identity data on the web. The protocol supports creation, discovery, retrieval, and modification of core identity resources.

An **identity provider (IdP)** is a system that creates, stores, and manages digital identities.

A SAML **Service Provider (SP)** is a system entity that receives and accepts authentication assertions in conjunction with a Single Sign-On (SSO) profile of the Security Assertion Markup Language (SAML).

Labii ELN & LIMS supports SSO using SAML 2.0 protocol and user provisioning with SCIM 2.0.

## List of providers

The list of identify providers can be managed by clicking **Settings** on the side menu and then clicking **SSO**. It displays list of providers you added to the platform.

<figure><img src="/files/HU1ts3N5GgikAEjBbEOJ" alt=""><figcaption></figcaption></figure>

### Search providers

You can search a credit by typing a keyword into the search bar in the **provider list view,** and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

### Filter providers

With the **Filter** function, you can limit the number of providers displayed. You can do that by clicking **Active providers** and then selecting a filter from the dropdown. Here are a list of filters:

* **All providers**. Filter to display all SSO providers.
* **Active providers**. Filter to display the SSO providers that is active.
* **Archived providers**. Filter to display the SSO providers that is archived

## Provider detail

The details of a provider can be viewed by clicking its name.

A provider typically has these columns:

* **Sid** - the id of the provider
* **Name** - name of the provider
* **Description** - the description of the provider
* **Service provider**
  * **Acs Url** - Assertion Consumer URL. This is an embedded Target process endpoint that is listening for requests from Identity providers.
  * **Entity Id** - SP Entity ID is usually a URL or other identifier given by the Service Provider (SP) that uniquely identifies it.
* **Information needed from IdP**
  * **Idp Login Url** - The URL set up from IDP to login for the organization.
  * **Idp Logout Url** - The URL set up from IDP to logout for the organization.
  * **Metadata Auto Conf Url** - Auto SAML2 metadata configuration URL.
  * **Metadata Xml** - Paste the XML SAML2 metadata here if your IdP does not provide a link
  * **Name Id Format** - Set to the string 'None', to exclude sending the 'Format' property of the 'NameIDPolicy' element in authn requests. Default value if not specified is 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient'.
  * Attributes Map- Mapping of Django user attributes to SAML2 user attributes.
* **SCIM**
  * **SCIM Base URL**
  * **SCIM Bearer Token** - In case the administrator of the company leaves the company, please make sure that the bearer token in your IdP is updated.
* **Invoice**
  * **Purchase Order**
  * **Invoice**
  * **Is Paid**

## Add provider

Provider can be added by the administrator. To do that:

1. Click the **Settings** at the side menu, and then select **SSO**
2. Click the "**+ Add provider**" button
3. A form will be displayed.
4. Provide the **Name** of the provider.
5. Provide **Purchase Order** number. Leave it empty if no purchase order.
6. Click **Submit** button

Clicking the Submit button will take you to the payment page. You will be guided back to Labii once the payment information is provided.

## Configure SSO

Once enabled, the configuration of SSO is available in the Settings -> Organization Detail -> Single Sign-On.

**Labii as SP (Service Provider):**

Use this information in your IdP.

* **acs url** - Assertion Consumer URL. This is an embedded Target process endpoint that is "listening" for requests from Identity providers.
* **entity id** - SP Entity ID is usually a URL or other identifier given by the Service Provider (SP) that uniquely identifies it.

**Information needed from IdP:**

* **IdP login url** - The URL set up from IDP to login for the organization.
* **IdP logout url** - The URL set up from IDP to logout for the organization.
* **Metadata auto conf url** - Auto SAML2 metadata configuration URL
* **Name id format** - Set to the string 'None', to exclude sending the 'Format' property of the 'NameIDPolicy' element in authn requests. Default value if not specified is 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient'.
* **Attributes map** - Mapping of Django user attributes to SAML2 user attributes.

**SCIM parameters:**

* SCIM Base URL
* SCIM Bearer Token

The attributes map defaults to:

```yaml
{
    "email": "email", 
    "username": "username", 
    "last_name": "last_name", 
    "first_name": "first_name"
}
```

**User fields:**

* **userType** - Set the user type to define the role in Labii:
  * Administrator
  * Readonly

## Errors

* **SAML2 is not active** - Please contact <sales@labii.com> or perform the payment through Labii to activate the SAML2.
* **Invalid SAML Response** - The SAML response received from your IdP was invalid.
* **Invalid Auth Response** - The Auth response received from your IdP was invalid.
* **Invalid User Identify** - Check with your IT department to ensure you have been added to the SSO list and that you are allowed to use Labii.
* **Your account has not been activated** - You have not activated your account. Click the link in your labii access email to complete the activation. If you cannot find such an email, please check the spam folder or ask your administrator to send it again.
* **Your account does not exist** - If you do not have an account, you should ask your administrators to create one for you. Emails must be identical in your identity provider (IDP) and Labii.
* **Incorrect SSO redirect URL** - There is a problem with the return URL.


# Google G Suite

## Overview

[Google Workspace](https://workspace.google.com/) is a collection of cloud computing, productivity and collaboration tools, software and products developed and marketed by Google.

Using Security Assertion Markup Language (SAML), a user can use their managed Google account credentials to sign in to enterprise cloud applications via single sign-on (SSO). An identity and access management (IAM) service provides administrators with a single place to manage all users and cloud applications. You don't have to manage individual user IDs and passwords tied to individual cloud applications for each of your users. An IAM service provides your users with a unified sign-on across all their enterprise cloud applications.

Full documentation is available at <https://support.google.com/a/answer/6087519?hl=en>

## Setup Labii SSO with Google G Suite

To use Google G Suite as your SAML IdP to connect with Labii:

1. Login to **Google Admin**
2. Create an app: **App -> SAML App -> Click "+" button -> SETUP MY OWN CUSTOM APP**
3. Download the "**IDP metadata**" and copy the content to **Metadata XML** in your Labii SSO Settings.
4. In the "**Basic information for your Custom App**" page, type in "Labii" or "Labii ELN & LIMS" for your app name. Use [this link](https://www.google.com/search?q=labii+logo\&rlz=1C5CHFA_enUS705US705\&source=lnms\&tbm=isch\&sa=X\&ved=0ahUKEwipgPnjicvgAhVRjp4KHbhkBI4Q_AUIDigB\&biw=1920\&bih=970\&dpr=1) to download the Labii logo.
5. In the "**Service Provider Details**" page, copy and paste **ACS URL, Entity ID**. Set **Name ID Format=Email**
6. On the **Attribution Mapping** page, add
7. Create the app.
8. To use the app, the service has to be enabled. App -> Edit Services -> On for everyone. Now refresh your google pages, you shall be able to see Labii in the app list.
9. In the Labii SSO Setting page, copy the link of Labii login to **IdP Login URL**
10. Set the **IdP Logout URL** as [`https://admin.google.com/a/cpanel/logout?continue=https://v3.labii.com`](https://admin.google.com/a/cpanel/logout?continue=https://v3.labii.com)

## Errors

<mark style="background-color:red;">Error: malformed\_certificate</mark>

Your certificate may have expired. Log into your Google Admin Console and examine the expiration date on the certificate.

1. Google Admin -> Apps -> Web and mobile apps -> Select your app -> Certificate -> Manage Certificate
2. Click **Download Metadata** to download IdP metadata, and then copy the content and paste to **Metadata XML** in Labii SSO


# Okta

## Overview

[Okta](https://www.okta.com/) is an integrated identity and mobility management service. Built from the ground up in the cloud, Okta securely and simply connects people to their applications from any device, anywhere, at any time. Okta integrates with existing directories and identity systems, as well as thousands of on-premises, cloud, and mobile applications, and runs on a secure, reliable, and extensively audited cloud-based platform.

## Setup Labii SSO with Okta

To use Okta as your SAML IdP to connect with Labii:

1. Register an account with [Okta](https://www.okta.com/).
2. Create an app: **Admin -> Applications -> Create App Integration**.
3. On the pop-out, select **SAML 2.0**, and click **Next**
4. On the **General Settings** page
   1. Set App Name to **Labii**
   2. Upload Labii logo to **App logo**. You can download a Labii icon at <https://www.labii.com/media/labii_logo_200_fill_lightblue_darkblue.png>
   3. Click **Next**
5. On the **Configure** **SAML** page
   1. Copy **Acs url** from Labii to Single-Sign-On URL.
   2. Copy **Entity Id** from Labii to Audience URI (SP Entity ID).
6. For the **Attribution statements**, add
   1. `username -> user.email`
   2. `first_name -> user.firstName`
   3. `last_name -> user.lastName`
   4. `email -> user.email`
7. Click **Next**
8. Click **Finish** to create the app.
9. On the **General** tab
   1. Under **App Settings** section, click **Edit** and set **Provisioning** to **SCIM.**
   2. Under **App Embed Link** section, copy **Embed Link** to **IdP login url** in Labii
10. On the **Sign On** tab, under **SAML Signing Certificates** section. Click the **Actions** of an active certificate, choose **View IdP metadata**. Copy the link of new tab and paste it to **Metadata auto conf url** in Labi&#x69;**.**
11. On the **Provisioning** tab
    1. Click **Edit** of **SCIM Connection**
    2. Copy **SCIM Base URL** from Labii to **SCIM connector base URL**
    3. Set **Unique identifier field for users** as "email"
    4. Check all options for **Supported provisioning actions**
    5. Choose **HTTP Header** for **Authentication Mode**
    6. Copy **SCIM Bearer Token** from Labii to **Authorization**
    7. Click **Test Connector Configuration**
    8. Click **Save**
12. Under the **To App** of the **Provisioning** tab
    1. Click **Edit** and enable all options
13. Add one or more users at **Directory -> People** of the Okta admin page.
14. Assign the application to the new user in the **Applications -> Labii -> Assignments**.


# OneLogin

## Overview

[OneLogin](https://www.onelogin.com/) provides a cloud-based identity and access management (IAM) solution that offers simple single sign-on (SSO), making it easier for companies to secure and manage access to web applications.

## Setup Labii SSO with OneLogin

To use OneLogin as your SAML IdP to connect with Labii:

1. Register an account with OneLogin.
2. Create an App at **Apps -> SCIM Provisioner with SAML (SCIM v2 Core).**
3. On the **Info** page, set the **Display Name** as **Labii**.
4. On the **Configuration** page:
   1. Copy the **Acs url** from Labii to **SAML Audience URL**, **SAML Consumer URL**.
   2. Copy **SCIM Base UR**L from Labii to **SCIM Base URL**
   3. Copy **SCIM Bearer Token** from Labii to **SCIM Bearer Token**
   4. Enable the **API Status**
5. On the **Parameters** page, add the parameters of `email, first_name, last_name, username` as following parameters.\
   Please check **Include in SAML assertion**

   \
   `email -> Email`\
   `first_name -> First Name`\
   `last_name -> Last Name`\
   `username -> Email`
6. On the **SSO** page, do the following copy and paste:
   1. Issue URL -> Metadata auto conf url
   2. SAML 2.0 Endpoint (HTTP) -> Idp login url
   3. SLO Endpoint (HTTP) -> Idp logout url
7. On the **Provisioning** page, check **Enable provisioning**
8. Go to the **Users** tab, Click **Applications**, and assign the user to the newly created App.


# Microsoft Azure

## Overview

Applications created with Microsoft Azure support single sign-on and can be used to sign in to Labii.

{% embed url="<https://youtu.be/FIdbUbepuwE>" %}

## Setup Labii SSO with OneLogin

#### To use Microsoft Azure as your IdP to connect with Labii:

1. Create an application. Please make sure to select **Non-gallery**.
2. Once created, go to the application and select **Single sign-on** on the left panel. Click **SAML** as the SSO method.
3. Basic SAML Configuration:
   1. Identifier (Entity ID) -> Copy and paste **Entity Id** from Labii
   2. Reply URL (Assertion Consumer Service URL) -> Copy and paste **Acs Url** from Labii
4. Update the **Attribution Map** in Labii:\
   `{`

   `"email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",`

   `"username": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",`

   `"last_name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname",`

   `"first_name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"`

   `}`
5. Update **Metadata Auto Conf Url** in Labii with **App Federation Metadata Url** from Azure\
   or, update the **Metadata Xml** in Labii with the content from **Federation Metadata XML** downloaded at Azure
6. Update **Idp Logout Url** in Labii with **Logout URL** from Azure
7. For the **Idp Login Url** in Labii, the **Login URL** from Azure DOES NOT work. Please goes to Properties -> Copy the User access URL and update the **Idp Login Url** in Labii with the **User access URL.**


# API Keys

API Key is a code or token that is used to authenticate and control access to an API

## Overview

An API Key, short for Application Programming Interface Key, is a code or token that is used to authenticate and control access to an Application Programming Interface (API). APIs are sets of rules and protocols that allow different software applications to communicate and interact with each other. They enable developers to access certain functionalities or data from a service or platform without needing to understand the underlying technical details.

API keys serve as a form of security mechanism and access control for APIs. They help the API provider ensure that only authorized users or applications can use their API, preventing unauthorized access and potential abuse. Here's an overview of how API keys work:

1. **Generation**: When a developer or user wants to use an API, they typically need to obtain an API key from the API provider. This is usually done by registering for an account on the provider's platform and creating an API key through the developer console.
2. **Authentication**: The API key is included in the request headers, query parameters, or some other designated location when making API calls. When the API receives a request, it checks the provided API key to verify the identity of the caller.
3. **Authorization**: In addition to authentication, API keys can also be used to control the level of access granted to the user or application. Different API keys might have different levels of permissions, allowing some to access only certain parts of the API or perform specific actions.
4. **Usage Tracking**: API keys can be associated with usage limits, which control the number of requests a user or application can make within a specified timeframe. This prevents a single user from overloading the API and helps maintain its performance and availability for all users.
5. **Security**: While API keys are a convenient way to manage access, they do come with security considerations. If an API key is compromised, unauthorized parties could gain access to the API and potentially misuse it. Therefore, developers and API providers need to implement security measures, such as encryption, rate limiting, and regular key rotation, to mitigate these risks.
6. **Best Practices**: To ensure the security and proper usage of API keys, developers should follow best practices such as:
   * Keep API keys confidential and avoid hardcoding them in public code repositories.
   * Implement HTTPS for secure communication.
   * Use strong and unique API keys for different applications.
   * Regularly review and audit API key usage to identify any anomalies.

## List of API Keys

The list of API Keys can be managed by clicking **Settings** on the side menu and then clicking **API Keys**. It displays list of API Keys you created.

<figure><img src="/files/KUHlhxLLR09Y3dbSdZrt" alt=""><figcaption></figcaption></figure>

### Search API Keys

You can search a credit by typing a keyword into the search bar in the **API Keys list view,** and then clicking **Search**. The search results can always be cleared by clicking the **Clear** button.

## API Key detail

The details of a API Key can be viewed by clicking its name.

A API Key typically has these columns:

* **Sid** - the id of the API Key
* **Name** - name of the API Key
* **Description** - the description of the API Key
* **Prefix** - the prefix of the key
* **Created** - the date created
* **Expiry Date** - the date to expire the API Key

## Add API Key

API Key can be added by any one. User can only add their own API Keys. To do that:

1. Click the **Settings** at the side menu, and then select **API Keys**
2. Click the "**+ Add API Key**" button
3. A form will be displayed.
4. Provide the **Name** of the provider.
5. Provide **Expiry Date**.
6. Click **Submit** button

Clicking the Submit button will take you to the key page. Please copy and save the API Key in a secure place. The Key will not be display again.


# Overview

Understand Labii's widget system: modular, reusable components that power data entry, visualization, and analysis across your laboratory workflows

Widgets are the fundamental building blocks of Labii's flexible data management system. These modular, reusable components enable you to structure data entry forms, create rich documentation sections, and build interactive dashboards tailored to your laboratory's specific needs. By combining different widgets, you can create customized workflows that adapt to any research scenario—from electronic lab notebooks and sample tracking to inventory management and compliance documentation.

## What Are Widgets?

Widgets are specialized interface components that handle specific data types or functions within Labii. Each widget is designed to excel at a particular task, whether that's entering numeric measurements, displaying rich text documentation, visualizing data in charts, or managing file attachments. This modular approach provides several key advantages:

* **Flexibility**: Mix and match widgets to create custom data structures without programming
* **Consistency**: Standardized data entry and display across your organization
* **Reusability**: Configure once, use across multiple tables, projects, and dashboards
* **Extensibility**: Access a growing library of widgets for specialized scientific applications

## Widget Types

Labii organizes widgets into three distinct categories based on where and how they're used within the system:

### 1. Column Widgets

Column widgets define how data is entered, validated, and displayed within table columns. They determine the data type and behavior for each field in your records.

**Primary Functions:**

* Define data types (text, numbers, dates, selections, files, etc.)
* Control data entry interfaces and validation rules
* Determine how data appears in list views and detail views
* Enable data relationships through foreign keys and lookups

**Common Examples:**

* **Text**: For short text entries like sample names or project titles
* **Rich Text**: For detailed documentation with formatting support
* **Number**: For numeric measurements with units and precision control
* **Select**: For categorical data with predefined options
* **Foreign Key**: For linking records across different tables
* **File**: For attaching documents, images, and other files
* **Date**: For timestamps and date tracking

**When to Use**: Column widgets are used when designing table structures and defining what data fields your records will contain. Administrators configure column widgets during table setup, and users interact with them when creating or editing records.

### 2. Section Widgets

Section widgets create content blocks within individual records, providing rich documentation and data visualization capabilities at the record level.

**Primary Functions:**

* Add structured sections to record detail pages
* Display data visualizations (charts, graphs, tables)
* Embed rich content (images, protocols, analysis results)
* Create interactive data entry forms within records
* Document experimental procedures and results

**Common Examples:**

* **Rich Text Editor**: For detailed experimental notes and protocols
* **Data Visualizer**: For creating charts from manually entered data
* **Chart By Category X**: For visualizing record data distributions
* **Image Viewer**: For displaying photographs and microscopy images
* **Plasmid Editor**: For molecular biology sequence documentation
* **Chemical Structure**: For drawing and storing chemical compounds

**When to Use**: Section widgets are added to individual records to document experiments, display analysis results, or create structured sections within laboratory notebooks. Users add and configure section widgets as they build out their experimental documentation.

### 3. Dashboard Widgets

Dashboard widgets provide workspace-level views and analytics, aggregating data across multiple projects and records for organization-wide insights.

**Primary Functions:**

* Visualize trends and patterns across projects
* Monitor productivity and system usage
* Display key performance indicators (KPIs)
* Create executive summaries and reports
* Track compliance and data quality metrics

**Common Examples:**

* **Record Summary**: Organization-wide record creation patterns and trends
* **Chart By Numeric X**: Scatter plots and trend analysis from table data
* **Matrix**: Multi-dimensional record counts and metrics
* **Storage Audit**: Data integrity and storage usage monitoring

**When to Use**: Dashboard widgets are placed on workspace dashboards to provide high-level overviews, executive reporting, and organization-wide analytics. Administrators and managers use these widgets to monitor laboratory operations and make strategic decisions.

## How Widgets Work Together

Widgets are designed to integrate seamlessly across different contexts:

1. **Column Widgets** store the underlying data in table fields
2. **Section Widgets** display and analyze that data within individual records
3. **Dashboard Widgets** aggregate and visualize data across all records

**Example Workflow:**

* A **Number column widget** captures concentration values for samples
* A **Chart By Numeric X section widget** visualizes dose-response curves within an experiment record
* A **Record Summary dashboard widget** tracks overall experimental output across all projects

This multi-layer architecture ensures data is entered once but can be viewed and analyzed at multiple levels, from individual measurements to organization-wide trends.

## Widget Categories

Widgets are organized into functional categories to help you find the right tool for your needs:

### Column Widget Categories

* **Basic Data Types**: Text, Number, Date, Boolean
* **Rich Content**: Rich Text, File, Image
* **Structured Data**: Select, Foreign Key, JSON
* **Scientific**: Chemical Structure, DNA Sequence, Formula
* **Specialized**: Barcode, Signature, Location

### Section Widget Categories

* **Documentation**: Rich Text, Markdown, Protocol Templates
* **Data Entry**: Forms, Tables, Spreadsheets
* **Visualization**: Charts, Graphs, Image Galleries
* **Scientific Tools**: Plasmid Editors, Chemical Drawing, Spectroscopy Viewers
* **Reports**: Data Summaries, Export Tools

### Dashboard Widget Categories

* **Reports**: Record Summaries, Analytics, Trends
* **Monitoring**: System Usage, Storage Audits, Compliance Checks
* **Visualizations**: Charts, Matrices, Heat Maps

## Getting Started with Widgets

### For Users

1. **Column Widgets**: Interact with these when creating or editing records—they're the input fields in your forms
2. **Section Widgets**: Add these to records by clicking "+ Add Widget" within a record's detail page
3. **Dashboard Widgets**: View these on your workspace dashboard; request new ones from administrators

### For Administrators

1. **Column Widgets**: Configure when designing tables under Admin → Tables → Columns
2. **Section Widgets**: Users typically add these themselves, but templates can include default widgets
3. **Dashboard Widgets**: Configure under Dashboard → Add Widget to create organization-wide views

## Widget Configuration

Most widgets offer configuration options to customize their behavior:

* **Required vs. Optional**: Control whether fields must be filled
* **Default Values**: Pre-populate fields with common values
* **Validation Rules**: Ensure data meets specific criteria
* **Display Options**: Customize how data appears in different views
* **Permissions**: Control who can view or edit widget data

Configuration interfaces vary by widget type, but all follow consistent patterns for ease of use.

## Best Practices

### Choosing the Right Widget

* Match widget capabilities to your data type and workflow requirements
* Use specialized scientific widgets when available for domain-specific data
* Consider how data will be viewed, analyzed, and exported

### Widget Organization

* Group related section widgets together for logical documentation flow
* Use consistent widget configurations across similar tables for standardization
* Create dashboard widgets that answer specific business questions

### Performance Considerations

* Limit the number of widgets in a single view for optimal page load times
* Use filters and queries to narrow data scope for chart and summary widgets
* Consider data volume when choosing visualization types

## Exploring Widget Documentation

Each widget category has detailed documentation covering:

* Specifications and version information
* Configuration options and settings
* Use cases and examples
* Interface descriptions and screenshots
* Best practices and tips

Browse the widget documentation in the left navigation to learn more about specific widgets and their capabilities.

***

Widgets transform Labii from a simple database into a flexible laboratory information management system tailored to your unique research needs. By understanding the three widget types and how they work together, you can design powerful, efficient workflows that enhance scientific productivity and data quality.


# Column Widgets

Column widgets define how data is captured, validated, displayed, and interacted with in table columns throughout Labii

## Overview

Column widgets are the foundation of data management in Labii, defining how information is captured, validated, displayed, and interacted with across tables in both the ELN and LIMS. Each column in a Labii table is powered by a column widget that determines the data type, input method, validation rules, and visual presentation. From basic text and number inputs to advanced integrations with external APIs, calculated fields, and specialized scientific data types, column widgets provide the structure and functionality needed to build comprehensive data management solutions. Whether you're tracking samples, recording experiments, managing inventory, or building custom workflows, column widgets give you the tools to capture data accurately and efficiently while maintaining data integrity and regulatory compliance.

## Understanding Column Widgets

### What is a Column Widget?

A column widget is a reusable component that defines all aspects of a table column's behavior. When administrators create or configure a table column, they select a column widget that determines:

* **Data Type**: What kind of information can be stored (text, numbers, dates, files, etc.)
* **Input Method**: How users enter data (text input, dropdown selection, file upload, etc.)
* **Validation Rules**: What constraints apply to the data (required fields, format requirements, value ranges)
* **Display Format**: How the data appears in different views (list view, detail view, forms)
* **Interactions**: What actions users can perform (edit, calculate, link to other records)

### Column Widget Views

Column widgets adapt their appearance and functionality based on context. Each widget typically supports three views:

* **Form View**: Appears when creating new records. Provides input controls optimized for initial data entry with helpful placeholders and guidance.
* **Edit View**: Displayed when modifying existing data. May show different options or constraints compared to initial entry, such as preventing changes to certain fields or displaying related data.
* **Readonly View**: The default display mode in list views and detail pages. Presents data in an optimized format for viewing, often with enhanced visualizations, formatting, or links to related information.

### Configuration and Customization

Many column widgets support configuration options that tailor their behavior to specific needs:

* **Field Settings**: Define labels, default values, help text, and whether the field is required
* **Data Validation**: Set allowed values, ranges, formats, or patterns
* **Display Options**: Control formatting, precision, units, or visual presentation
* **Integration Settings**: Configure connections to external data sources or calculations
* **Permissions**: Control which users can view or edit the column

Configuration is managed through the Columns interface under table settings. See [Column Administration](/admin-guide/tables/columns) for detailed guidance on creating and configuring columns.

### Action Buttons and Controls

Column widgets may display various action buttons depending on their functionality and user permissions:

* **Edit**: Modify the column value (hidden for readonly users)
* **Configure**: Adjust widget settings (administrators only)
* **Calculate/Refresh**: Recalculate derived values or refresh from external sources
* **Clear**: Remove the current value
* **Custom Actions**: Widget-specific operations like opening editors, scanning codes, or triggering integrations

### Data Import and Export

Many column widgets support data import and export:

* **Default Values**: Can be configured to pre-populate fields when creating records
* **Import Format**: Defines how data should be formatted in import files (CSV, Excel)
* **Export Format**: Determines how data is represented in exported files

## Widget Categories

Column widgets are organized into functional categories based on their primary purpose:

### Form Widgets

Standard input controls for capturing common data types in forms and tables.

* [Text Inputs](/widgets/column-widgets/form/text-inputs) - Text fields, multiline text, numbers, emails, phone numbers, addresses, URLs, rich text, and secure fields
* [Boolean](/widgets/column-widgets/form/boolean) - Checkboxes and switches for true/false values
* [DateTime](/widgets/column-widgets/form/datetime) - Date, time, datetime, timestamp, timezone, and appointment fields
* [Dropdown](/widgets/column-widgets/form/dropdown) - Select lists, multi-select, record references (ForeignKey), and member assignment fields
* [File](/widgets/column-widgets/form/file) - File uploads, images, file path references, file size display, and antivirus status

### Calculation Widgets

Perform calculations and generate derived values based on formulas, sequences, or data from other columns.

* [Calculation](/widgets/column-widgets/calculation) - Formula calculations, auto-numbering, row counting, sample consumption tracking, column addition, and column calculations

### Column Data Widgets

Display and work with data from related records and columns.

* [Column](/widgets/column-widgets/column) - Record citation, column citation, column data display, and cross-record calculations

### Barcode and Identification

Generate and display barcodes and QR codes for records.

* [Barcode](/widgets/column-widgets/barcode) - Barcode and QR code generation and display

### Advanced Widgets

Specialized widgets for complex data structures and unique requirements.

* [Advanced](/widgets/column-widgets/advanced) - Subtitles, ratings, nested fields, storage coordinates, and storage location tracking

### Integration Widgets

Connect to external systems and APIs for data exchange and automation.

* [Integration](/widgets/column-widgets/integration) - API integration widgets and API-driven dropdown fields
* [Integration-1](/widgets/column-widgets/integration-1) - Third-party API integration for automated data population

### Scientific and Specialized Widgets

Domain-specific widgets for scientific research and specialized workflows.

* [Chemistry](/widgets/column-widgets/chemistry) - Chemical structure display, SMILES structure rendering, and molecular formula display
* [PubMed](/widgets/column-widgets/pubmed) - PubMed literature metadata retrieval and citation management
* [Device](/widgets/column-widgets/device) - Serial port communication and NFC reader/writer functionality

### Regulatory and Compliance

Widgets that support regulatory requirements and data integrity.

* [Regulation](/widgets/column-widgets/regulation) - Electronic signatures and signature workflows for GxP compliance

## Getting Started

### For Users

1. **Creating Records**: When you create a new record, each column's widget determines what input controls you see. Fill in required fields (marked with asterisks) and use provided controls to enter data.
2. **Editing Data**: Click the Edit button on any column to modify its value. The edit view may provide different options than the form view, such as validation against existing data.
3. **Understanding Views**: Observe how data displays differently in list views (compact, scannable) versus detail views (full formatting, with actions).
4. **Using Actions**: Look for action buttons specific to each widget type, such as Calculate, Refresh, or custom operations.

### For Administrators

1. **Adding Columns**: Navigate to Settings → Tables → Select a table → Columns → Add Column. Choose the appropriate widget type for your data needs.
2. **Configuring Widgets**: After creating a column, click Configure to set widget-specific options like validation rules, display formats, or integration settings.
3. **Setting Defaults**: Define default values to streamline data entry and ensure consistency across records.
4. **Testing Widgets**: Create test records to verify that widgets behave as expected in all three views before deploying to users.
5. **Managing Permissions**: Configure column-level permissions to control who can view or edit sensitive data.

## Best Practices

* **Choose the Right Widget**: Select widgets that match your data type and validation needs. Using appropriate widgets prevents data quality issues.
* **Configure Validation**: Use widget configuration to enforce data integrity rules at the point of entry rather than relying on user discipline.
* **Provide Context**: Use help text and field labels to guide users on what data to enter and in what format.
* **Test Thoroughly**: Before deploying new columns, test them in all views and with various data inputs to ensure they work as expected.
* **Plan for Import**: If you'll be importing data, check each widget's import format requirements and prepare your data accordingly.
* **Consider Permissions**: Be mindful of which columns contain sensitive data and configure appropriate access controls.
* **Document Custom Configurations**: For complex widget configurations (especially formulas and API integrations), document the setup for future reference.


# Form

Widgets to facilitate data input and submission in digital forms

## Overview

"Form" widgets serve as interactive elements within a user interface, specifically designed to facilitate data input and submission in digital forms. These widgets encompass various types of fields such as text input, checkboxes, radio buttons, dropdown menus, and more. They provide users with a structured and organized way to input information, enabling the collection of diverse data types, from basic text entries to complex selections or file uploads. Form widgets typically offer functionalities like validation, ensuring data accuracy and completeness before submission, and can also include features for customization, such as placeholder text, default values, or conditional logic. Overall, these widgets play a pivotal role in enabling user interaction and data capture within web or application interfaces, streamlining the process of gathering and processing information.

## Subcategories

* Text inputs
* Boolean
* DateTime
* Dropdown
* File


# Text inputs

Seamless collection of textual or numerical data in various fields

## Overview

Text input widgets is a collection of user interface elements that enables the seamless collection of textual or numerical data in various fields. These widgets typically include text input fields, numeric input fields, tailored to specific data types or formats. Such a group enhances data entry and validation, ensuring accurate and structured input for tasks ranging from forms and surveys to data entry applications. These widgets streamline the user experience by offering intuitive and efficient means to gather textual or numerical information.

## Widgets

* [Text](/widgets/column-widgets/form/text-inputs/text) - Edit text value
* [MultilineText](/widgets/column-widgets/form/text-inputs/multilinetext) - Edit text with multiline
* [RichText](/widgets/column-widgets/form/text-inputs/richtext) - Rich text editor
* [Number](/widgets/column-widgets/form/text-inputs/number) - Edit numeric value
* [RangeUnit](/widgets/column-widgets/form/text-inputs/rangeunit) - Displaying numerical values in a series of predefined units
* [Email](/widgets/column-widgets/form/text-inputs/email) - Stores and verifies email addresses
* [Secret](/widgets/column-widgets/form/text-inputs/secret) - Display sensitive value as \*\*\*
* [Link](/widgets/column-widgets/form/text-inputs/link) - Create links to external data
* [Address](/widgets/column-widgets/form/text-inputs/address) - Display address information


# Text

A Text widget is a crucial user interface element used for handling and displaying text-type data in Labii.

## **Specs**

<table><thead><tr><th width="320">Label</th><th>Value</th></tr></thead><tbody><tr><td><strong>Version</strong></td><td>1.2.0 (updated on 2025-07-13)</td></tr><tr><td><strong>Developer</strong></td><td>Labii Inc.</td></tr><tr><td><strong>Type</strong></td><td>Column</td></tr><tr><td><strong>Support Configuration</strong></td><td>Yes</td></tr><tr><td><strong>Support Readonly view</strong></td><td>Yes</td></tr><tr><td><strong>Support Edit view</strong></td><td>Yes</td></tr><tr><td><strong>Support Form view</strong></td><td>Yes</td></tr><tr><td><strong>Support Default value</strong></td><td>Yes</td></tr><tr><td><strong>Support Import</strong></td><td>Yes</td></tr><tr><td><strong>Allow multiple</strong></td><td>Yes</td></tr></tbody></table>

## Overview

A Text widget is a crucial user interface element used for handling and displaying text-type data in Labii. It enables text input, display, formatting, scrolling, and interactivity, with features like text selection, clipboard support, and search functionality.

## Use case

1. Use this widget to collect short text like `First Name.`

## Configuration

The widget operates without any initial configuration. However, you can customize it to enable additional features.

* **Should show data length** - If you want to show the data length, check this field.
* **Prompt** - The prompt to be used to guide GPT in generating the value for this column.
  * **Prompt** - The prompt string.
  * **GPT Model** - The GPT model to use for generating the value.
    * ChatGPT, general purpose model, is suitable for most tasks.
    * ChatGPT4.0, general purpose model with improved capabilities.
    * SummaryGPT, designed for summarization tasks, is optimized for generating concise summaries.
    * RewriteGPT, focused on rewriting and improving existing text, is ideal for tasks that require text enhancement.
    * ShorterGPT, aimed at producing shorter responses, is best for tasks with strict length requirements.
    * LongerGPT, designed for generating longer responses, is suitable for tasks that require detailed explanations or in-depth analysis.
  * **Button Text** - The text to display on the button that triggers the GPT generation.
  * **Icon** - The icon to display on the button.

## Views

See the interface of the widget in the following views.

### **Readonly view**

Readonly view display the values of the column. If **Should show data length** is enabled, it will display characters length.

<figure><img src="/files/tG04fdNNTujZmerXrfWb" alt=""><figcaption></figcaption></figure>

The widget supports links and will make them clickable:

<figure><img src="/files/SovmK2aMJ5TP4xKX2PvG" alt=""><figcaption></figcaption></figure>

### **Edit view**

The Edit view is the interface that allows you to modify the value.

<figure><img src="/files/mXtaCfAq2GqDlPnXFrOw" alt=""><figcaption></figcaption></figure>

#### **AI Functions:**

The editing capabilities of the Text widget now include AI functions. Users can input text into the box, use it as a prompt, and receive AI-generated responses. Additionally, users can create summaries, enhance writing, and adjust the text to be shorter or longer.

### **Form view**

The Form view is the field integrated into the add form for collecting values when creating a new record.

The Form view is same as the Edit view.

## Data

Each widget in Labii stores data in a unique manner; refer below to understand how data from this widget is stored.

### Data format

Text

### **Default value**

The Default Value field within the column allows you to specify the default value when a record is created.

Default value can be any text.

### **Import value**

The Import Value is the value you need to include in your Excel table for it to be imported into Labii.

Import value can be any text.


# MultilineText

Edit text with multiline

## **Specs**

| Label                     | Value                         |
| ------------------------- | ----------------------------- |
| **Version**               | 1.2.0 (updated on 2025-07-13) |
| **Developer**             | Labii Inc.                    |
| **Type**                  | Column                        |
| **Support Configuration** | Yes                           |
| **Support Readonly view** | Yes                           |
| **Support Edit view**     | Yes                           |
| **Support Form view**     | Yes                           |
| **Support Default value** | Yes                           |
| **Support Import**        | Yes                           |
| **Allow multiple**        | Yes                           |

## Overview

MultilineText widget handles both input and display of text across multiple lines. With this widget, users can effortlessly enter and edit multiline text, while also viewing extensive textual content in a clean and organized format. Its user-friendly design ensures an intuitive experience for handling paragraphs.

## Use case

1. Use this widget to collect multiline text.

## Configuration

Depending on your specific use case, you have the flexibility to configure different line separators for this widget. For instance, you can opt for a "line break" to separate the text, or alternatively, use the "|" symbol as the separator.

* **Line separator** - Defaults to line breaker.
  * Line breaker (\n)
  * Comma (,)
  * Semicolon (;)
  * Vertical line (|)
* **Should show data length** - If you want to show the data length, check this field.
* **Prompt** - The prompt to be used to guide GPT in generating the value for this column.
  * **Prompt** - The prompt string.
  * **GPT Model** - The GPT model to use for generating the value.
    * ChatGPT, general purpose model, is suitable for most tasks.
    * ChatGPT4.0, general purpose model with improved capabilities.
    * SummaryGPT, designed for summarization tasks, is optimized for generating concise summaries.
    * RewriteGPT, focused on rewriting and improving existing text, is ideal for tasks that require text enhancement.
    * ShorterGPT, aimed at producing shorter responses, is best for tasks with strict length requirements.
    * LongerGPT, designed for generating longer responses, is suitable for tasks that require detailed explanations or in-depth analysis.
  * **Button Text** - The text to display on the button that triggers the GPT generation.
  * **Icon** - The icon to display on the button.

## Views

See the interface of the widget in the following views.

### **Readonly view**

Readonly view display the values of the column. If **Should show data length** is enabled, it will display characters length.

<figure><img src="/files/f6NNRPH8Xmo9OlIMjeYM" alt=""><figcaption></figcaption></figure>

### **Edit view**

The Edit view is the interface that allows you to modify the value.

<figure><img src="/files/vMxDMBaMCWolKXNVVpUV" alt=""><figcaption></figcaption></figure>

#### **AI Functions:**

The editing capabilities of the Text widget now include AI functions. Users can input text into the box, use it as a prompt, and receive AI-generated responses. Additionally, users can create summaries, enhance writing, and adjust the text to be shorter or longer.

### **Form view**

The Form view is the field integrated into the add form for collecting values when creating a new record.

The Form view is same as the Edit view.

## Data

Each widget in Labii stores data in a unique manner; refer below to understand how data from this widget is stored.

### Data format

Text

### **Default value**

The Default Value field within the column allows you to specify the default value when a record is created.

Default value can be any text.

### **Import value**

The Import Value is the value you need to include in your Excel table for it to be imported into Labii.

Import value can be any text.

Text with line separator. For example: `Line 1\nLine 2`


# RichText

The RichText widget enables the input and display of rich text content using a built-in rich text editor.

## **Specs**

| Label                     | Value                         |
| ------------------------- | ----------------------------- |
| **Version**               | 0.2.0 (updated on 2025-12-09) |
| **Developer**             | Labii Inc.                    |
| **Type**                  | Column                        |
| **Support Configuration** | Yes                           |
| **Support Readonly view** | Yes                           |
| **Support Edit view**     | Yes                           |
| **Support Form view**     | Yes                           |
| **Support Default value** | Yes                           |
| **Support Import**        | Yes                           |
| **Allow multiple**        | Yes                           |

## Overview

The RichText widget enables the input and display of rich text content using a built-in rich text editor. This widget empowers users to create and edit text with various formatting options, such as bold, italic, underline, font styles, sizes, and more. It seamlessly combines text and formatting within a single component, allowing for the creation of visually appealing and dynamic content.

## Use case

1. Use this widget to collect rich text like email body.

## Configuration

Users can configure whether the text is collapsed by default. The default setting is **true**. If collapsing is supported, users can expand the text; otherwise, the widget displays the full content.

* Should Collapse - Whether the rich text content should be collapsed by default.

## Views

See the interface of the widget in the following views.

### **Readonly view**

Readonly view display the values of the column.

<figure><img src="/files/3hcPeuNdf4w8HoBtO0OH" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/9rjqwAvzb2EPdee8Tj3U" alt=""><figcaption></figcaption></figure>

### **Edit view**

The Edit view is the interface that allows you to modify the value.

<figure><img src="/files/Nc32GmSyKUcw1dKhEVgc" alt=""><figcaption></figcaption></figure>

### **Form view**

The Form view is the field integrated into the add form for collecting values when creating a new record.

The Form view is same as the Edit view.

## Data

Each widget in Labii stores data in a unique manner; refer below to understand how data from this widget is stored.

### Data format

HTML code.

### **Default value**

The Default Value field within the column allows you to specify the default value when a record is created.

Default value can be any HTML code.

### **Import value**

The Import Value is the value you need to include in your Excel table for it to be imported into Labii.

Import value can be any HTML code.




---

[Next Page](/llms-full.txt/1)

