Skip to main content
Version: Peki

Records

Records are the structured data your agent collects and keeps: leads, appointments, orders, support requests, or your own items like products or available slots. Each kind lives in a table with fields you define. The agent saves what customers tell it, Functions and automations can read and write too, and your team works with the data on the Records page.

Use records when you want more than answers: a list of people to call back, bookings to confirm, orders to follow up.

Nothing changes until a table exists

An agent without tables gets no record tools and no conversation fill. It behaves exactly as before.

Where to find it​

Open an agent and click Records in the sidebar. The page shows one tab per table, with its record count. A table that isn't in the published version yet is marked Not published.

The page header has:

ActionWhat it doesWho
Table settingsOpens the table's definition editor.Everyone can open it; editors change it.
Import CSVAdds or updates rows from a CSV file.Editors and above
Export CSVDownloads the table's records.Everyone
CopilotOpens the Copilot.Everyone

Records are workspace data. Viewers read them; editors and above add, edit and delete records and change tables; only admins and owners delete a table.

Create a table​

The fastest way is to ask the Copilot. When your agent's goal involves collecting data, it proposes a table, shows you the fields on a card, and creates it once you agree. It then runs a test conversation and checks a record was saved.

To create one yourself:

  1. On Records, click New table (below the empty state or the grid).
  2. Pick a template. "Start from a template; you can change every field before saving."
  3. Adjust the fields in Table settings and save.
  4. Publish the agent. Customers' conversations use the table from then on.
TemplateFields
LeadsName (title, required), Phone (match), Email, Interest, Budget, Source, Status (New, Contacted, Qualified, Won, Lost)
AppointmentsName (title), Phone (match), Service, When (required), Notes, Status (Requested, Confirmed, Cancelled, Done)
OrdersOrder number (title, match), Name, Phone, Items, Total, Status (New, Paid, Shipped, Delivered, Cancelled, Returned)
Support requestsSubject (title, required), Name, Phone, Email, Details, Priority (Low, Normal, High), Status (Open, Waiting, Resolved)
Blank tableOne name field; add the fields you need.

Templates hold people's data, so they start with agent Read access off (see Agent access).

Tables follow draft and publish

Table settings are part of the agent's draft, like instructions. A change reaches customers only after you publish. Restoring an older version never deletes records: your data is never versioned. Tables the restored version didn't have stay in the draft.

Table settings​

"What each table holds and how the agent may use it. Changes reach customers when you publish."

Table​

SettingWhat it does
NameShown in the tabs, in English and Turkish.
KeyUsed in tool names: save_<key>, find_<key>, and by Functions and the API. Lowercase letters, digits and _, starting with a letter, up to 58 characters. You can rename it later; data is kept.
Description"The agent reads it to know what belongs in this table."

Fields​

Each field has a Label, a Key (lowercase letters, digits and _, up to 64 characters), a Type, a description ("What the agent should put here") and Required ("A record can't be saved without it").

TypeStored asNotes
TextTextUp to 1,000 characters.
Long textTextUp to 10,000 characters.
NumberNumberText like "42" is accepted.
Money{ "amount": 1500, "currency": "USD" }A 3-letter currency code. A bare number or "1500" is saved as TRY; "1500 EUR" works too.
DateYYYY-MM-DD
Date and timeISO 8601For example 2026-10-20T14:30:00+03:00, stored in UTC.
Yes / notrue / falseAlso accepts yes/no, evet/hayır, 1/0.
ChoiceOne of the optionsUp to 100 options, each up to 80 characters. Case doesn't matter when saving.
TagsSeveral of the optionsA list, or text separated by commas or semicolons.
Phone+ and 7 to 15 digitsSpaces, dashes and brackets are removed. 00 becomes +; a Turkish mobile like 0532… becomes +90532….
EmailLowercase address
URLWeb addressMust start with http:// or https://.
ReferenceA record idPoints to a record in another table (choose the table).
FileFile references"Photos or documents the customer sent, or that you upload." One file, or up to 5 with Several files.

Changing a type keeps stored values. Values that no longer fit are marked Needs fixing, never deleted.

Deleting a field removes it from the table. "Its values are kept for 30 days after you publish," then purged. The title field can't be deleted until you choose another title.

Title and matching​

  • Title field: "Shown as each record's name."
  • Same record when: up to 3 fields that identify the same record. "A save with the same phone or email updates that record instead of creating another. Don't use a name: different people share names." Only text, number, phone, email or URL fields can be used.

When two records would end up with the same matching values, the save is refused, and a record that already clashes shows Needs fixing.

Agent access​

AccessGives the agent
Readfind_<key>: "The agent can search this table."
Createsave_<key>: "The agent can add records."
Update"The agent can change records it finds or saved before."
Keep Read off for people's data

"Turn on only for your own items (cars, products, slots), never for people's data: a customer could ask about others."

Collecting​

SettingWhat it doesDefault
Fill from the conversation"10 minutes after a conversation goes quiet, a small model fills this table from it."Off
Saves need approval"The agent's saves wait until a teammate approves them." See Approvals.Off
When a save is rejectedTell the customer or Say nothing.Tell the customer

Delete a table​

Delete table (admins) removes the table from the draft. "Its records are deleted 30 days after a version without it is published."

How records get filled​

The agent, in conversations​

For each published table the agent gets tools at reply time:

  • save_<key> (with Create or Update access). Every field is optional input; null clears a field. When saving:

    1. If the Same record when fields match an existing record, that record is updated.
    2. Otherwise, if this conversation already has a record in the table, that one is updated.
    3. Otherwise a new record is created.

    Errors come back field by field ("Use a phone number with 7 to 15 digits, e.g. +905321234567"), and the agent can correct them.

  • find_<key> (with Read access). Filters with eq, in, range and contains, sorting, and at most 20 results. Each result shows the title and up to 8 fields.

Personal data stays protected: the model works with placeholders such as [PHONE_1], while the tool receives and stores the real value. Records saved in a conversation link to that conversation and its customer.

With Saves need approval, a save becomes an approval request instead and the agent tells the customer the team will confirm.

Fill from the conversation​

With Fill from the conversation on, a small model reads the conversation 10 minutes after it goes quiet (personal data hidden), and creates or completes the table's records. It:

  • fills only fields it is sure of, and never guesses,
  • never overwrites a field a person changed by hand,
  • runs again after new messages, once the conversation is quiet again,
  • respects Saves need approval.

Its cost shows in Usage.

Functions and automations​

Function code reads and writes tables by key:

const found = await ctx.records.find('leads', { where: [{ field: 'status', op: 'eq', value: 'New' }], limit: 10 });
await ctx.records.save('leads', { name: 'Jane Cooper', phone: '+14155550123', status: 'Contacted' });

Per run: up to 50 saves and 20 finds. In a dry run or a read-only test, saves are reported and not written. Saves from a Function or automation link to the automation run they came from. An automation task can use save_ and find_ tools when they are in its Allowed actions. See Automations.

People​

Editors add and change records by hand on the record page, or import them from CSV.

Browse records​

The grid shows 50 records per page, newest first.

  • Search records: searches the text, long text, email, phone and URL fields.

  • Filter: add rows of field, condition and value, then Apply. Conditions depend on the type:

    Field typeConditions
    Text, long text, phone, email, URLis, contains
    Number, money, date, date and timeis, between (From / To)
    Choice, tagsis, is any of
    Yes / no, referenceis
    Filenot filterable
  • Which records: All, Needs fixing (values that don't fit their field), Deleted (the bin).

  • Show test records: records saved by test conversations and draft runs are hidden by default and marked Test.

  • Columns: choose the columns. By default you see the title and the next five fields. Reset to default brings that back. Your choice is kept in your browser.

  • Sort: click a column header; click again to reverse. File fields can't be sorted.

The record page​

Click a record to open it. Click Add record below the grid to create one.

  • Fields: every active field, editable by editors. Values that don't fit show Needs fixing: and the reason. Click Save.
  • Source: where the record came from: From a conversation (opens it in the Inbox), From an automation, Imported from a CSV file, Added by a teammate or Filled from a conversation.
  • History: every field change with who made it (Agent, Filled from the conversation, Teammate, Automation, CSV import) and when, plus deletes, restores and approval decisions.
  • Approval requests: requests about this record, with their status.

If someone changed the record after you opened it, saving shows "This record changed since you opened it. Reload to see the latest, then make your change again."

Delete moves the record to Deleted. "It moves to Deleted and can be restored for 30 days." Open it from the Deleted view and click Restore. After 30 days it is purged.

The Inbox also shows Records from this conversation on each conversation that saved records.

Import CSV​

  1. Click Import CSV and Choose a CSV file. "Up to 2 MB and 5,000 rows; the first row holds the column names."
  2. Map each Column in the file to a Field, or Skip it. Check First rows.
  3. Click Import.

Rows with the same Same record when values update the existing record. The result shows "N created, N updated, N failed" with the errors of each failed row. File columns are not imported. Empty rows are skipped.

Export CSV​

Export CSV downloads <key>.csv with every live record of the current table (not deleted, not test). Columns are the field keys, then id and createdAt. Tags and multiple values are joined with ; , money is written as 1500 USD, and file fields show the file names.

Limits​

LimitValue
Tables per agent20
Fields per table50 active (100 including deleted ones)
Size of one record32 KB
Records per agent100,000
Matching fields3
Options per choice or tags field100
Files per file field5
find_ results20
ctx.records per run50 saves, 20 finds
Deleted records and fields kept30 days
CSV import2 MB, 5,000 rows