Skip to main content
Help Center / Apps & Extensions / Power Tables FAQ

Power Tables FAQ

Power Tables FAQ

Answers to common setup and operating questions about Power Tables.
For what the app is and how to set it up from scratch, see the
Power Tables Overview.


Setup

Do I need to configure anything before my team can use Power Tables?

An admin must enable the app from Admin → Apps → All Apps — it is off by default. Once enabled, every member with app access can open and search tables. No other configuration is required before creating your first table, but you may want to review the quota settings (max tables, rows, columns, and indexes) and set a default currency for money columns in the app’s Settings tab.

What settings does Power Tables have?

Ten, all at Power Tables → Settings (admin only):

Setting Default
Max tables 5
Max rows per table 1,000,000
Max columns per table 25
Max indexed columns per table 4
Max shared views per table 25
Max automation rules per table 25
Tell people when a row is assigned to them On
Enable the Power Tables AI agent in Ask AI Off
Enable Create-with-AI for new tables On
Default currency for money columns The organization currency (Admin → General Settings → Financial Settings; USD until one is chosen)

The six limits are quotas (see “What are the quotas” below). The assignment-notification switch controls the item in Notifications sent when a Person column names someone on a single-row write, and the one summary notice a bulk edit of a Person column sends that person instead of one per row. Imports, sample data, form submissions, automation writes, and restored rows never notify, whatever this is set to. The default currency applies to Currency columns that do not declare their own; individual columns can override it, and stored amounts are never converted.

Who can create tables and who can only view them?

Power Tables has three tiers of access. Admins (business admins, super admins, or anyone granted the Power Tables app-admin role) can create tables, define columns, import data, manage settings, and archive tables. Contributors (users granted the Power Tables contributor role) can add and edit rows but cannot change columns, run imports, or manage settings. Everyone else with app access can open tables, filter, sort, and search — viewing is not a privileged action.


Permissions and access

Can I restrict a table so only certain people see it?

Yes. Each table has an access mode. The default — Everyone — means any member with app access can open the table. Switching to Restricted hides the table from everyone except admins and the people or groups you grant access to. Grants come in four levels: Their own rows (can open the table and read only the rows that are theirs), Viewer (can open the table and read rows), Contributor (can also add and edit rows), and Manager (can also rename or archive the table and manage its sharing — columns, imports, and automations stay with app admins). Admins always have full access regardless of grants. Grants can target individual users or notification recipient groups, and they support optional expiry dates.

Why can’t an employee see a table I shared with them?

Three things to check: (1) the app itself must be enabled for the business and accessible to the user through Access Management visibility rules, (2) the table’s access mode must be Restricted with a grant for that user or a group they belong to — on an Everyone table grants are inert, and (3) the grant must not have expired. If a restricted table has no active grant for the person, Power Tables returns a “not found” response rather than a “forbidden” one.


Day-to-day

Can I change a column’s type after creating it?

Yes. Open the column’s Edit drawer and pick the new type; the list shows only the types it can become. A column that holds no values yet converts nothing, so it can become any type except Link to a table (a link needs the table it points to, which only Add Column asks for). Once it holds values, every value must be kept: a text, long text, email, URL, dropdown, number, currency or date column can become text, a dropdown, a number or a date, and a person column text or a dropdown — each person becomes their name, which can’t be turned back into a person column. The change is refused with the reason: a value that wouldn’t fit the new type (named, so you can fix it first), or a rule, board, form or view that still depends on the column. A column becoming a dropdown takes the values it already holds as its options unless you list them. A value can’t become a person, an uploaded file or a linked record, so while a column holds values the drawer says so under Type and offers Add a File column (or Person, or Link to a table) with the name filled in — the new column starts empty and the old one keeps its values. Checkbox, Date & time, File and Link to a table columns that hold values keep their type. In a mini app the same rules apply on its Fields page and in Edit with AI. Renaming a column is instant at any table size.

What column types are available?

There are 13 types: Text, Long text, Number, Currency, Checkbox (yes/no), Date, Date & time, Dropdown (with admin-defined option lists), Email, URL, Person (picks a person with the people picker), File (an attachment on a row — photos, signed documents), and Link to a table (a pointer to a row in another table). File columns cannot be populated through CSV import; attach files from the row drawer after import.

A counter column is not a fourteenth type — it is a tick-box on a Number column that swaps the typed field for − / + steppers. See the counting questions below.

How do validation rules work?

Each column can enforce rules on every write — including imports and the API. Available rules depend on the column type: Required is available on all types. A column can instead be required only while a dropdown column holds one answer — the column’s Edit drawer and the form page say “Required when Type is Print”. That rule is set under Required on the form page (or, in a mini app, with Edit with AI) and checked on every write the same way, imports included. Min/max bounds are available on number, currency, date, and date & time columns. Regex pattern is available on text, long text, email, and URL columns. Rules are enforced per row during imports, and rows that fail validation are skipped with an error reported against that row number.

How do I choose what the Add panel asks, and ask some questions only sometimes?

Each table has a form tab named after its rows (Row Form). In a mini app, open App settings and press Set Up the Form on the card named after its records (Request form in an app whose records are requests).

The page lists the questions On the form in the order they are asked when someone adds a row. Drag a question, or use its up and down arrows, to move it. Columns Not on the form are listed below. Select a question to see its settings. Take Off the Form moves it down to the columns not asked, Preview shows the real Add panel with your unsaved choices, and Save Form keeps them. Ask Every Field Again, in the page’s ⋮ menu, goes back to asking every column in the order the columns are set up.

Under When it’s asked, a question is asked Always, or only when another answer calls for it: beside Ask only when, press the column it depends on. For a dropdown, choose is any of or is none of and tick the answers. For any other column, choose is answered or is empty (a checkbox: is ticked or isn’t ticked). A number or currency column can also be compared with a value (is over or is under), and a date with a fixed day (is after or is before). A comparison asks nothing until its column is answered. A date and time column decides only by being answered.

  • Any column can decide whether another question is asked, except a file or a counter: a dropdown by its options, the rest by whether they are answered, and a number or a date also by being over or under a value, or after or before a day. Conditions on more than one column must all hold.
  • Questions can chain: a question asked only sometimes can decide another question too. Two questions that wait on each other are refused by name, so one of them has to be asked without a condition.
  • A required question can be asked only sometimes too: it is required whenever it is asked, and never when it isn’t.
  • When a question depends on a column that isn’t on the form, saving adds that column to the form and says so.
  • When a question is hidden, the questions that depend on it are hidden too, and its answer is cleared when a change hides it: the Add or Edit panel, a mini app’s phone page or board, a bulk edit, an automation, the API or Ask AI. The board and a bulk edit say which answers were cleared.

Help shown under the question is a line of guidance shown under it on the Add panel, on a computer and on a phone. Up to 300 characters.

Heading above this question starts a section: the question and the ones after it, up to the next heading, sit under that heading on the Add panel, on a computer and on a phone. A heading whose questions are all hidden for the answers given is hidden too. Up to 80 characters. In the list, a question asked only on another’s answer is drawn indented under it.

Required sets whether the question must be answered: Not required, Required whenever it’s asked, or Required only when a dropdown holds one answer. The question’s row says which. In a mini app, a field of the app’s own design is changed in the design too, so only the person who created the app or an App Builder admin can change whether it is required — here, in its Edit drawer or on the Fields list; anyone else sees the setting and who can change it.

Fill in with starts a question with an answer: a Person column can start as the person adding it, and a Date column as today’s date. A column that isn’t on the form can still be filled in later: editing a row shows it under More fields.

Can a column be required only for some rows?

Yes. A column can be required only while a dropdown column holds one answer: Artwork, say, required once Type is Print. Open the table’s form page, select the question and, under Required, choose the “Required only when” line for Type is Print. In a mini app you can also ask its Edit with AI in plain words (“Make Artwork required when Type is Print”). The form page and the column’s Edit drawer then say “Required when Type is Print”.

The rule is checked on every write, imports included. So when the form asks Type, it asks Artwork too, and nobody is refused over a question they weren’t shown.

A required column is required whenever its form asks it. Use Ask only when on the form to ask it only for some rows, and it is required for those and not asked for the rest, on every door: the form, the board, an import, the API and Ask AI. The form page refuses only a condition that hides a field exactly when it is required, and says which. When a change stops a question being asked — a new Type, say — its answer is cleared, the board and a bulk edit say so, and the row’s history shows it.

Why won’t Power Tables let me delete a column?

Because something is still using it. Deleting a column is refused while any of three consumers depends on it:

  1. An enabled automation rule that references the column in its trigger, conditions, or actions.
  2. An active Live Board that uses the column as its entity or its score column.
  3. A bound Form that maps a field to the column — including using it as the match column in update mode.

The refusal names each one by name (“Stock Count can’t be deleted: it’s used by the automation rule “Reorder alert” and the board “Low stock”…”), so you can go and edit or remove those first. This is deliberate: deleting the column anyway would pause the rules and blank the boards behind a success message.

Renaming the column is always safe, at any table size and with no dependency check, because everything in the product references columns by ID rather than by name. If you only want to relabel it, rename instead of deleting.

Can I get a deleted column back?

Yes, for 7 days. A deleted column keeps its values, and the table’s Set up page lists it under Deleted columns (Deleted fields in a mini app) with the date it was deleted, who deleted it and the date it goes for good. Press Restore, then Confirm Restore: it comes back at the end of the column list with its values. If another column has taken its name meanwhile, it comes back as “name (restored)”. A mini app’s field goes back into the app too. What changed when it was deleted stays as it is now — rules it paused stay paused until you resume them, and views, rules and pages are not changed back. After 7 days its values are removed for good and it can’t be restored.

What happens when I archive a table?

The table moves to the Tables list’s Archived tab — Restore is in its ⋮ menu — and disappears from Live Boards, the API, and mobile. Any Live Boards bound to a view on it show a “source unavailable” message. You have 7 days to restore it; after that the data is permanently deleted. A warning notification is sent to the creator and admins 24 hours before the permanent deletion. Restoring an archived table counts toward your table quota, so you must have room under your limit to restore it.

Can I undo a row deletion?

Yes, for a limited time. Deleted rows (single deletes, bulk deletes, automation deletes, and rows cleared by a replace-mode import) are kept for 30 days. An admin can restore a batch from the Deleted Rows page on each table. A restored row is re-inserted as a new row through the normal write path, so it inherits current column rules and counts against the row quota. For replace-mode imports that cleared more than 50,000 rows, the kept set may be partial — the page discloses this.


Counting, mobile, and scanning

How do counter columns work?

Tick Show − / + steppers for quick counting on any Number column. That column then renders − / + buttons instead of a typed field in three places: the desktop grid, the row drawer, and the mobile card at /m/apps/power-tables. The mobile steppers are plain form buttons and work with no JavaScript at all.

The steppers appear only for people who can write rows on that table — contributors, managers, and admins. Viewers see the plain number, which is the usual reason someone reports “I don’t have the buttons.”

The tick is a behaviour flag, not a new column type. Untick it and the column goes back to being an ordinary number field; the stored data is unchanged either way. It is also number-only: setting the flag on any other type does nothing.

Can two people count the same shelf at the same time?

Yes — that is the whole point of counter columns. A tap sends the change, not the answer. The server takes a lock on the row and applies new = max(0, current + delta), so if a shelf holds 12 and two people each tap − at the same instant, the result is 10, never 11. Counts floor at zero; a counter cannot be driven negative, and the resulting update can fire an automation so someone is told to reorder.

Because a tap is a delta rather than an absolute value, counter adjustments deliberately carry no “someone else changed this first” conflict check — deltas compose, so there is nothing to conflict over. Typing an absolute value into the row drawer still gets the normal check.

Can I record why a count changed?

Yes. Beside the stepper in the row drawer there is a note field — type a short reason (“used in OR 2”) before tapping − or +, and it is saved with that adjustment. Notes are capped at 500 characters; anything longer is truncated.

Read them back in the row’s own History panel: open the row and expand History. The note appears in quotes on the change entry it belongs to, alongside the column name, the old and new values, and who made the change.

The table-wide Activity Log (admins) shows the same note beside the change it belongs to, so you can look for the reason behind a count across the whole table without opening each row.

Can people use Power Tables from a phone?

Yes, for reading and counting. The mobile surface at /m/apps/power-tables gives table cards and searchable row cards, plus working − / + steppers on any counter column, so a frontline user can find an item and adjust its count from the floor.

Everything else stays on desktop: adding rows, editing other fields, importing, exporting, and all configuration. If you need frontline users to capture data on a phone, bind a Form to the table — see below.

Can we scan barcodes into a table?

Yes, into Text columns. Edit the column and tick Scan a barcode or QR code into this field. The row editor then shows a Scan button that reads the code with the camera and drops the value straight into the field; typed entry always remains available as a fallback. The row editor is part of the desktop grid — on a phone, open the table’s full page (“Open on desktop”) to scan into a field. To find a row by its label on a phone, tap Scan a code under the table’s search box: the camera reads the code and searches for it.

Six symbologies are supported: QR, Code 128, Code 39, EAN-13, EAN-8, and UPC-A. Scanning uses the browser’s built-in barcode detector, so availability depends on the phone’s browser — the typed fallback covers devices where it isn’t available.


Import and export

What file types and sizes can I import?

Power Tables accepts CSV, XLSX, and XLS files. CSV files can be up to 500 MB via the direct-upload path. Excel files (XLSX/XLS) are capped at 100 MB because the parser loads the workbook’s shared-strings table into memory. For a multipart upload (the no-JavaScript fallback), the limit is 100 MB regardless of type. If an Excel file is too large, save it as CSV instead.

How does the scheduled import work?

Each table can have one scheduled import that runs nightly, pulling a CSV or Excel file from a remote source. Two modes: Replace clears all existing rows and re-imports (the source is the system of record), and Append adds rows on each run (for accumulating logs). Sources can be a public HTTPS URL (no setup), a protected URL via a Data Feed connection configured at /admin/integrations (sends a bearer token, basic auth, or custom header), or a remote file on an SFTP server via an SFTP connection. A Run Now button triggers it on demand, and the last run’s status shows beside it. Both are on the table’s Set Up page, on the Scheduled import card.

Can I export data, and what are the limits?

Yes. Export captures the current view’s filters, search, sort, and visible columns, and runs as a background task. CSV export has no row cap. Excel export is capped at 100,000 rows — fewer on wide tables, since the cap is really 2.5 million cells (a 40-column table stops at 62,500 rows) — because the writer builds the workbook in memory; the Export menu shows the cap for the table you are on. Scheduled exports can push a CSV or XLSX file nightly to an SFTP server — the SFTP connection is required (exports always push to a credentialed destination).

Note the asymmetry between the two schedules: a scheduled import can pull from a public HTTPS URL, a credentialed HTTPS endpoint, or SFTP. A scheduled export is SFTP only.

Can a Form feed a table?

Yes, and it is the recommended way to let frontline users capture data — Forms already has a mobile surface, validation, and an audience model. Bind it from the table’s Set Up page: pick a form template and map each form field to a table column. The binding is stored on the form template.

There are two modes:

  • Append (the default): every submission adds a new row. Ingest is idempotent — a form that passes through several completed states (submitted, then approved) still produces exactly one row, and editing the submission afterwards does not rewrite the row it created.
  • Update (stock-take semantics): the binding names a match column. The submission’s answer for that column finds the existing row, and every other mapped answer is written onto it — “how many are left?” updates the master item instead of appending a log line. Last write wins; the row’s History records who and when.

In update mode, if nothing matches the value, the binding’s unmatched setting decides: create a new row (with the match value included, so it is findable next time), or record a visible skip on the submission. If two or more rows share the match value, Power Tables stops and records a skip rather than guessing which one to overwrite. A rejected answer never fails the submission itself — it is recorded against the binding, whose health card is on the table’s Set Up page.

One caveat: a column mapped by a binding (or used as its match column) cannot be deleted until the binding is edited or removed.

Is there an API, and what can it do?

Yes, under /api/v1/power-tables. Five endpoints:

Endpoint What it does
GET /power-tables List tables
GET /power-tables/:id One table’s structure — columns (with currency units) and views
GET /power-tables/:id/rows Read rows, using the same filter grammar and keyset pagination as the grid
GET /power-tables/:id/aggregate Filtered aggregates — count, sum, avg, min, max
POST /power-tables/:id/rows Create one row, through the same casting, quota, validation, and audit path as the row drawer

The API can create a row but cannot update or delete one. There is no PATCH and no DELETE on rows, and no endpoint that changes configuration — that is deliberate, not an oversight. Row edits and deletes go through the app, the mobile steppers, bulk actions, automations, or a bound Form.

Access is by API token with least-privilege scopes: read:power_tables for reads, write:power_tables for row creation. Row creation additionally requires the token’s user to hold Power Tables contributor rights or above, exactly like the web row drawer. A restricted table is invisible — not forbidden — to a token whose user holds no grant on it.


Saved views and automations

How do relative date filters work?

A filter on a Date or Date & time column can be a moving window instead of a fixed value. Eight operators are available:

today, yesterday, this week, this month, this quarter, this year, last N days, and next N days.

Both ends of the window are recomputed on the server every time the filter runs — never stored as dates. So a view saved as “expiring in the next 30 days” keeps meaning exactly that, instead of quietly freezing to the 30 days that followed the day you saved it. Windows are half-open ranges, which is what makes them correct on a Date & time column (a plain “on or before the end date” bound silently drops everything after midnight on the last day).

For last N days and next N days, N is clamped to 1–3,650 (ten years). “Last 7 days” includes today.

The same vocabulary is used in four places: grid and saved-view filters, Live Boards period selectors, saved-view alerts (“Alert me”), and the Power Tables AI agent. The agent exposes seven of the eight — it has no next N days.

What are personal views versus shared views?

Shared views belong to the table and are visible to everyone who can see the table. They are the only views that Live Boards can bind to and that automation schedule rules can use as row selectors. Personal views belong to one user and are visible only to them. Each user can have up to 25 personal views per table. The shared-view cap is a configurable quota (default 25 per table, up to 100).

What can automations do, and what are the limits?

Automation rules fire on row events (row created, updated, field changed, or deleted) or on a schedule bound to a saved view. Available actions include: update fields, notify a user, send an external email, request approval, create a task, send an HTTP request (webhook), mark a row locked or archived (this writes a status value — the row stays editable), delete a row, and three AI actions (fill a column, summary digest, anomaly alert). Limits: up to 25 automation rules per table (configurable up to 50), up to 10 actions per rule, up to 50 conditions per rule, and scheduled rules process a maximum of 10,000 matching rows per run. Hourly caps apply per business: 500 automation executions, 100 webhooks, and 50 external emails per hour. A rule that fails 5 consecutive runs pauses itself automatically and notifies the owner.


When something looks wrong

“I imported a CSV but some rows are missing”

Check the import task’s error report — it lists every skipped row by number with the reason. Common causes: the row violated a column validation rule (required value missing, number out of min/max range, value not in the dropdown’s options), or the table hit its row quota and the remaining rows were skipped. Import stops cleanly at the quota boundary and reports how many rows were skipped.

“My Live Board shows ‘source unavailable’”

The board is bound to a saved view on a Power Tables table. Check whether the table was archived (the board loses its source immediately on archive). If the table is still active, re-check the view in Power Tables — boards can only bind to shared views, and a view a board reads cannot be deleted or made personal until the board is repointed — in the board’s Board settings, pick the new saved view and tick “Also switch the visualizations already on this board”, since each visualization otherwise keeps the view it was created with (Power Tables names the boards that use it to anyone who can open Live Boards as a contributor). To repair a board whose table was archived, restore the table here in Power Tables, or open the board’s editor in Live Boards, click Board settings, and pick a replacement table — every visualization moves with it, columns matched to the new table by name; if any cannot be matched, the change is refused and nothing is altered.

“The scheduled import failed”

Open the table’s Set Up page and check the last run’s status on the Scheduled import card. Common causes: the source URL returned an error or timed out, the SFTP connection credentials are invalid or the remote file path doesn’t exist, the file exceeds the size limit, or the file isn’t a supported format (CSV, XLSX, or XLS). For protected HTTPS sources, verify the Data Feed connection at /admin/integrations still has valid credentials. A failing schedule stays On and retries every night — it does not pause itself — so fix the source or pause the schedule yourself; a failure notice is sent at most once a week while it keeps failing — sooner only when a run works in between and it then fails twice in a row. Each schedule’s recent runs are listed under its card on the table’s Set Up page, and Analytics → Schedule health shows a 30-day summary across all tables.


Licensing and limits

Does Power Tables require a licence?

No. Power Tables is a pay-as-you-go app — available to every tenant with no licence decision. It stays off until an admin enables it. Billing is per 1,000 rows stored, in packs that follow your count; there is no per-seat charge.

Exactly what does Power Tables cost?

The meter is rows stored, in units of 1,000 rows, counted nightly across your active tables, and billed in packs that follow your count: store more than your pack holds and it moves up to the next pack; store less and it moves down on the 1st. The price per 1,000 rows falls as packs grow.

Row counts are rounded up to the next 1,000. Three things are explicitly not billed here:

  • Archived tables. Archiving a table takes it off the meter immediately. (It also starts the 7-day purge clock — see the retention question.)
  • OneMango sample data. Sample tables are flagged at creation and are excluded regardless of what they are named or how their description is edited.
  • Mini App records. While a Mini App is turned on, a table it owns is off this meter entirely. Its records are included with the mini app in App Builder instead. If the app is turned off (from its Edit with AI page in App Builder, or the Apps Marketplace), its tables are back in your Power Tables list and on this meter until it is turned on again. The on/off switch on the app’s own Settings page does not change this — it only hides the app.

There is no per-seat charge, and the smallest pack is small, so a small table costs a small amount.

Do quotas affect my bill?

No. They are separate mechanisms, and confusing them leads to the wrong fix.

  • Quotas are capacity guardrails on shared infrastructure — how many tables, rows, columns, indexes, shared views, and automation rules you may have. Raising one costs nothing.
  • The billing meter is rows stored, counted nightly across active tables.

Raising the max-rows quota from 1 million to 10 million does not change your bill by a cent; storing 10 million rows does. Likewise, lowering a quota does not reduce what you pay — archiving or deleting rows is what does that.

How long is data kept?

What Kept for
Per-field row change history (the row’s History panel) 180 days by default — a company admin can change it under Admin → Security → Sign-in Policies (“Keep record change history for”), between 30 days and 10 years
Deleted rows (the table’s Deleted Rows page) 30 days
Automation run log 90 days
Scheduled import/export run log 90 days
Archived table before permanent purge 7 days, with a warning notification 24 hours before

The 7-day archive grace period is the only one of these that ends in permanent data loss, and it is the only one that warns you first: a notice in Notifications goes to the table’s creator and to admins 24 hours before the purge, and restoring the table at any point in the 7 days cancels it.

Imports and bulk inserts are deliberately not written to the per-row change history — the import task record is the audit trail for those. Table rows themselves are kept indefinitely; only the history of changes to them ages out — kept 180 days by default; a company admin can set 30 days to 10 years (Admin → Security → Sign-in Policies).

What can the Power Tables AI agent do, and is it on?

It is off by default — turn it on with Enable the Power Tables AI agent in Ask AI in Settings. It is admin opt-in because the agent both reads every row of every table it can see and carries write tools.

The agent has 12 tools. Seven are read-only: list tables, get one table’s structure, count rows, search rows, aggregate rows, list import activity, and compare entities to a target. Five are writes: create a table, create a saved view, request a column index, add a row, and update a row. Every write is confirm-gated — the agent shows the exact change and waits for you to approve it before anything is written. Creating a table and requesting a column index are admin-only; anyone can save a view for themselves (an admin’s view is shared with the table); the two row writes follow the contributor tier and the table’s grant, matching the row drawer.

The agent honours the same access rules as the app: a restricted table a user holds no grant on is invisible to their questions.

What are the quotas, and can I change them?

Six quotas are admin-configurable in the Power Tables Settings tab:

Quota Default Self-serve ceiling
Tables per tenant 5 25
Rows per table 1,000,000 10,000,000
Columns per table 25 100
Indexed columns per table 4 7
Shared views per table 25 100
Automation rules per table 25 50

Plus one that is not configurable: 25 personal views per user per table. That is a separate pool from the shared-view quota and a per-user fairness limit rather than a tenant capacity choice, so raising “max shared views” does nothing for a user who has hit it — they delete a personal view they no longer use.

When a quota is at its ceiling and you need more, contact MangoApps support — they can grant higher limits from the Console without a code change (up to 500 tables and 100,000,000 rows per table). When the limit is below the ceiling, any admin can raise it in Settings. A limit can’t be lowered below what is already in use. If you are already over a limit (for example after it was lowered for your account), you can still save the Settings page, as long as you don’t lower that limit any further. If MangoApps staff have raised a limit for your account, the Settings page says so.

Raising a quota does not change your bill — see “Do quotas affect my bill?” above.


More help

On this page