Tables

5 min readUpdated 2 Nov 2026

Tables hold lists, such as leads or accounts. A column can be filled by an employee or an app for every row in one batch, within a budget you set, and a send column can message each row once you approve.

Before you begin
  • For a column an app fills or sends with, that app connected and the employee given access to it. See Read, or Read and write.
On this page

What a table is#

A table of leads. Each column says what fills it.

Open Tables to see every table with its rows, columns, who fills it and its status (Working while a batch runs, Done once filled). A table’s toolbar has Search {n} rows, Filter (all rows, rows with a failed cell, rows still filling) and Hide columns, with what the table has spent so far.

NoteCells are never typed by hand. A value comes from its column, so you always know who or what filled it. To change a value, run the column again or import again.

Create a table#

Select New table, give it a Name and choose Start from:

Start fromWhat you get
BlankAn empty table to add columns to.
Import a CSVThe table, with the import opened on it.
Ask ChatChat, with “Make a table called …” ready to finish.
Copy a tableAnother table’s columns and what fills each, without its rows.

Import a CSV#

  1. 1

    Choose file

    Any size, as UTF-8 text; the first line names the columns. A file that isn’t UTF-8 is refused before anything is sent.

  2. 2

    Match columns

    For each header, choose the column it fills, New column: {header}, or Don’t import. While the table is empty, Merge rows with the same (the email column by default) joins duplicates.

  3. 3

    Check and import

    Check the first five rows, then select Import {n} rows. A large file goes in parts, in order.

File imported shows the lines read, rows added and merged, and every line left out with its reason, such as “Line 4, Work email: Not an email address”. If a part fails, importing again goes on from it.

Columns that do work#

Select Add column, give it a Name and Type (fixed once made), and choose Who fills it:

Filled byHow
An employeeWhat to do for each row, naming other columns with Use a column, for example “Find the buying contact at {{Company}}”.
A serviceOne of a connection’s reads, run on an employee’s access, with Arguments from the row and Value from the result.
SendsOne of a connection’s writes for each row, sent only once you approve the batch (below).
From an importValues from a CSV.

Run a column#

  1. 1

    Choose Fill column

    From the column’s menu. A new column can also fill all rows straight after adding.

  2. 2

    Choose the rows

    Only rows without a value (the default), or All rows, which replaces values already filled.

  3. 3

    Set the budget and pace

    Stop at caps what the batch may spend, in credits while they pay for your work, otherwise in US dollars. Calls at once (1, 2, 5, 10 or 20) sets its pace.

  4. 4

    Start it

    Select Run on {n} rows. The batch bar shows “{employee} is filling {column}”, the rows done, spend so far and about how long is left.

Use the batch bar to Pause, Resume, Raise budget (a budget only goes up) or Stop. Batches run on Royak, so closing the page doesn’t stop them.

NoteThe batch stops before its calls would spend more than its budget, and your spending limits still apply. Nobody waits for answers during a batch: an employee’s question is answered with the recommended choice, shown on the cell as Decided.

A cell shows its value, or Queued, Working, Failed, Outcome unknown or Not found. Select it to see How it was filled: why, the source, when, the model, any decision and the cost.

Sending to rows#

A Sends column sends one message or action per row, through a connection the employee may write to. Set its Contact address (an email column), Sends a day, and optionally Send only when a column has one of its Ready values.

  1. 1

    Choose Send rows

    From the column’s menu. The sheet shows how many rows will be sent, today’s sends against the daily limit, and the rows left out (already sent, not to contact, not ready, missing a value).

  2. 2

    Check the exact rows

    The first 50 are listed with the address and every value they will be sent with.

  3. 3

    Approve

    Set the Budget and select Approve and send {n} rows.

CarefulSends reach real people and can’t be called back. If the rows change after you approve, the batch is refused and shown to you again.

For a column you send from often, Give a standing approval for this column lets its batches run within caps you set; its first sample waits for you. See Standing approvals.

Do not contact (in the table’s More actions) holds addresses and domains no send column ever sends to, each with why. Export CSV downloads the table at any time.

NoteA Free table holds up to 1,000 rows. Paid holds up to 300,000 per table and includes list work at volume, such as large lead searches.

Questions#

Can I edit a cell by hand?

No. Run the column again, or import the values from a CSV. This keeps every value traceable to whoever filled it.

What does filling a column cost?

At most its Stop at budget, and never past your spending limits. The batch bar and the table’s toolbar show what it has spent.

Can an employee add rows?

Yes. On an empty table, Ask an employee to find rows opens Chat with the table’s name, so you can ask for the rows you need.

What happens to someone on Do not contact?

No send column in any table sends to them; they are counted under Left out before you approve.

Was this page helpful?Report a problem with this page