Helios Vision AIHelios Vision AI

Data Tables

Create structured data tables your AI agents can query in plain language, with CSV import/export, templates, and webhooks.

Objective

Store your structured business data (customers, orders, inventory, appointments and more) in tables your AI agents can read and answer questions about. You can build a table by hand, start from a template, or describe it and let AI design it. Once a table is assigned to an agent, the agent can answer questions about it in chat, email or voice conversations.

Access

Sidebar -> Data Tables

Route(s): /app/\{tenant\}/sql-tables (table list) and /app/\{tenant\}/sql-tables/\{id\} (table detail).

Roles

  • owner, admin — full access: create, edit, duplicate and delete tables; add, edit, import, export and delete rows; run natural-language queries; manage webhooks.

Creating tables, editing rows, importing data, running queries and managing webhooks are all restricted to owners and admins.

Prerequisites

  • To answer questions in a conversation, an AI agent must have data access enabled and this table assigned to it (see Assign tables to agents).
  • The Create with AI and Natural Language Query features use your configured AI provider.
  • A table must be Active and include the SELECT operation to be queryable.

Limits per plan

PlanTablesMaximum rows
Free1100
Starter55,000
Growth1020,000
Business2050,000
EnterpriseUnlimitedUnlimited

Notes:

  • The row limit applies both per table and across all your tables combined.
  • The plan gauge on the list page counts active tables only. A suspended table keeps its data but does not count against your table limit.

Create a table

The list page offers three ways to create a table.

ButtonWhat it does
Create TableBuild the schema by hand, field by field.
Use a templateStart from a ready-made schema and customize it.
Create with AIDescribe the data you need and let AI design the schema.

Create Table (manual)

  1. Press Create Table.
  2. Complete the form.
  3. Press Create Table.

Form fields

FieldRequiredFormatExampleNote
Table Name (Internal)Yeslowercase letters, numbers and underscores; must start with a letter or underscorecustomer_ordersInternal identifier, cannot be changed later
Display NameYestextCustomer OrdersShown in the interface
DescriptionNotextCustomer orders and statusHelps agents understand the table
SchemaYesone or more fieldsorder_id (TEXT)Defines the structure
Allowed OperationsYesone or more of SELECT, INSERT, UPDATE, DELETESELECT, INSERTControls what agents may do

Each schema field has a field name, an optional friendly label, a type, and an Optional checkbox. Mark a field Optional to allow it to be left empty; otherwise it is required when adding a row. SELECT is preselected under Allowed Operations.

Available field types

TypeDescriptionExample
TEXTFree text"John Smith", "ABC123"
NUMBERWhole numbers or decimals100, 99.99
BOOLEANTrue / Falsetrue, false
DATEDate only2024-01-15
TIMESTAMPDate and time2024-01-15T14:30:00

Use a template

Pick a ready-made schema, review its fields, adjust the display name, table name and description, then press Create table. Available templates:

TemplatePurpose
Contacts / CRMTrack customers and leads with contact info and status.
Support TicketsLog and track customer support requests.
InventoryManage products, stock levels and pricing.
AppointmentsSchedule and track customer appointments.
OrdersTrack customer orders and their status.
Simple LeadsCapture and qualify incoming leads.

Create with AI

  1. Press Create with AI.
  2. Describe the data you want to store, for example: "I need a table for shipping rates with origin, destination, weight ranges and prices."
  3. Review the suggested table schema cards. You can edit fields and types, or send a follow-up message to refine them.
  4. Press Create on a card, or Create All when more than one table is suggested.

View and manage data

Route: /app/\{tenant\}/sql-tables/\{id\}

Open a table from the list (View Data) to see its rows and the actions available in the header.

Header actions

ActionDescription
Edit TableChange display info, schema and allowed operations.
Export CSVDownload every row as a CSV file.
Import CSVUpload rows from a CSV file.
WebhooksNotify an external endpoint on row changes (owner/admin).
Add RowAdd a single record.

The header also shows the row count, the table's allowed operations, and an expandable Schema view listing every field and its type.

Row browser

FeatureDescription
SearchFilter rows by text with the search box.
SortClick a column header to sort ascending or descending.
PaginationChoose 25, 50 or 100 rows per page (default 50).
Select and bulk deleteSelect rows with the checkboxes and delete them together.
Edit / Delete rowEdit or delete individual records.

Add or edit a row

The form generates one field per column of the schema. Behavior by type:

  • NUMBER: accepts decimals (e.g. 99.99).
  • BOOLEAN: Yes / No selector.
  • DATE: date picker.
  • TIMESTAMP: date and time selector.

Fields marked Optional may be left empty. Editing a row saves your changes; deleting a row is permanent.


Import CSV

Import rows from a spreadsheet export in four steps: Upload, Map columns, Preview, Result.

  1. Upload — choose a .csv file. A header row is required. Maximum file size 5 MB; up to 50,000 rows per file.
  2. Map columns — the wizard auto-matches your file's columns to table fields. Adjust any mapping, or set a field to Don't import. Columns you don't map are ignored.
  3. Preview — see the first rows with a valid / skipped status. Rows with invalid values (for example, non-numeric text in a NUMBER field) are skipped.
  4. Result — a summary of imported and skipped rows.

Value handling during import:

Field typeAccepted inputEmpty cell
NUMBERAny numeric value; non-numeric cells are rejectedStored as empty
BOOLEANtrue / false / 1 / 0 / yes / no (case-insensitive)Stored as empty
TEXT, DATE, TIMESTAMPText as-isStored as empty

Export CSV

Press Export CSV to download all rows of the table as a UTF-8 CSV file, ready to open in Excel or Google Sheets.


Row webhooks

Owners and admins can notify an external system whenever a row changes. Press Webhooks on the table detail page.

SettingDetail
Endpoint URLMust start with https://. Requests to private or internal networks are blocked.
EventsRow created, Row updated, Row deleted (choose one or more).
LimitUp to 10 webhooks per table.
TestSend a test request and see the last delivery status.
Pause / resumeToggle a webhook without deleting it.

When you create a webhook, a signing secret is shown once and never again — store it immediately. Every request carries an X-Helios-Signature header (HMAC-SHA256 over the raw body) plus an X-Helios-Timestamp header, so your endpoint can verify authenticity.


Natural Language Queries

On the table detail page, write a question in English or Spanish and Data Tables answers it. Each query runs against a single table.

Questions that work well

TypeSample question
Count records"How many records are there?"
Sum (SUM)"What is the total amount?"
Average (AVG)"What is the average price?"
Maximum / Minimum"What is the maximum/minimum value?"
Filter by value"Find orders where amount > 100"
Filter by date"Orders from January 2024"
Sort results"Show latest orders ordered by date"

Not supported yet

  • Grouping by category (GROUP BY).

Notes

  • Aggregates (SUM, AVG) work on up to 500 records for accuracy.
  • Results are limited to 100 rows per query.
  • Dates should use ISO format (YYYY-MM-DD).
  • Each query runs against one table at a time; tables cannot be related to one another.

Manage tables from the list

Each table card offers quick actions:

ActionDescription
Active switchSuspend or reactivate the table. A suspended table keeps its data, can't be queried by agents, and does not count against your plan limit.
Edit TableOpen the edit form (also the place to delete the table).
Duplicate tableCreate a copy of the table's structure (schema and operations); rows are not copied.
View DataOpen the table detail page.

The card also lists which agents are assigned to the table.

Editing the schema

When you change the schema in Edit Table, existing rows are migrated automatically to match, with a confirmation summary first:

  • Rename a field — values move to the new field name.
  • Change a field's type — values that can't be converted are kept as-is.
  • Remove a field — its data is lost.

Deleting a table (from the Danger Zone in Edit Table, or Delete Table) removes all rows and cannot be undone.


Assign tables to agents

For an agent to answer questions about a table:

  1. Go to Agents and select the agent.
  2. Enable data access in the agent's tools.
  3. Select the tables the agent may use.
  4. Save changes.

The agent can then answer questions about those tables in chat, email or voice conversations.


Good practices

  1. Descriptive names: use clear display names and field names so agents understand the data.
  2. Field names in English: keep internal field names in English for best compatibility (use the friendly label for display).
  3. Limit operations: only enable INSERT / UPDATE / DELETE when an agent genuinely needs to write; keep read-only tables on SELECT.
  4. Useful descriptions: add a description that explains what the table is for.
  5. Correct types: use NUMBER for numeric values and DATE / TIMESTAMP for dates so aggregates and filters work.
  6. Suspend instead of delete: turn off the Active switch to pause a table without losing its data.

Common notes

"No results found"

  • Confirm the table has data.
  • Check the spelling of the values you searched for.
  • Try a simpler question first.

"We couldn't run that query"

  • Rephrase the question; grouping by category (GROUP BY) is not supported yet.
  • Make sure the fields you mention exist in the schema.

The agent does not answer about the table

  • Confirm the table is assigned to the agent.
  • Confirm the agent has data access enabled.
  • Confirm the table is Active and its Allowed Operations include SELECT.

CSV rows were skipped

  • A header row is required, and files are limited to 5 MB and 50,000 rows.
  • Check that column mappings are correct and that NUMBER / BOOLEAN columns contain valid values.

Screenshot

Data Tables List