Feature · Knowledge

Company data

Connect your tools, see how your records connect and ask questions with sources.

Last changed

Generated from commit be57775 ·

How it works

Tables and records

Business data holds tables. Each table has typed fields and a revision number. Each record shows where it came from.

Company data

Company data connects the tools your company runs on, such as Stripe, PostgreSQL, PostHog, files and APIs, or loads sample data. Agent suggests one ontology across them: accounts, users, invoices and more, matched across sources. You can explore every record and how it connects. When you ask a question, the answer shows its chart, the sources, the SQL that ran and how fresh the data is. When two sources disagree, Agent shows both values.

Who can do what

  • Owners and admins create tables, start from a preset, edit a table's fields and delete tables.
  • Members create, edit and delete records.
  • Everyone can search, filter and export a table as JSON.

Memory is separate

Business data is for structured records. Memory holds lessons and context. See Memory.

When two people edit

When a table changed while you were editing, Agent tells you and does not overwrite the other change.

From the help article Business data, checked against the product on .

What you can do

The operations this feature's screens call. Each one is POST /api/<name>, and the badge says who may call it.

  • getCompanyOntology

    Viewer

    Gets the company ontology.

    Types: Record<string, never> returns CompanyOntologyDto

  • listCompanyDataSources

    Viewer

    Lists company data sources.

    Types: Record<string, never> returns { items: CompanyDataSourceDto[] }

  • getCompanyHome

    Viewer

    Gets the company home.

    Types: Record<string, never> returns CompanyHomeDto

  • deleteCompanyQuestion

    Member

    Deletes the company question.

    Types: { id: string } returns { deleted: boolean }

  • getCompanyGraph

    Viewer

    Gets the company graph.

    Types: { typeKeys?: string[]; limit?: number } returns CompanyGraphDto

  • suggestCompanyOntology

    Admin

    Suggests a company ontology.

    Types: { useModel?: boolean } returns CompanyOntologyDto

  • askCompanyData

    Viewer

    Asks about company data.

    Types: { question: string; followUpOf?: string } returns CompanyAnswerDto

  • saveCompanyQuestion

    Member

    Saves the company question.

    Types: { question: string } returns CompanySavedQuestionDto

  • syncCompanyDataSource

    Admin

    Syncs the company data source.

    Types: { sourceId: string } returns CompanyDataSourceDto

  • removeCompanyDataSource

    Admin

    Removes the company data source.

    Types: { sourceId: string } returns { removed: boolean }

  • getCompanyRecord

    Viewer

    Gets the company record.

    Types: { id: string; perGroup?: number } returns CompanyRecordNeighbourhoodDto

  • listCompanyObjects

    Viewer

    Lists company objects.

    Types: { typeKey: string; query?: string; limit?: number; offset?: number } returns { items: CompanyObjectDto[]; total: number }

  • confirmCompanyOntology

    Admin

    Confirms the company ontology.

    Types: { types: { key: string; name?: string; description?: string; include: boolean }[] links: { key: string; label?: string;… returns CompanyOntologyDto

  • connectCompanyDataSource

    AdminNo API tokens

    Connects the company data source.

    Types: ConnectCompanyDataSourceRequest returns ConnectCompanyDataSourceResult

  • listBusinessTables

    Viewer

    Lists business tables.

    Types: Record<string, never> returns { items: BusinessTable[] }

  • saveBusinessTable

    Admin

    Saves the business table.

    Types: { id?: string; expectedRevision?: number; name: string; description?: string; fields: DataField[] } returns BusinessTable

  • deleteBusinessTable

    Admin

    Deletes the business table.

    Types: { id: string; expectedRevision: number } returns { deleted: boolean }

  • queryBusinessRecords

    Viewer

    Queries business records.

    Types: { tableId: string; filters?: DataFilter[]; query?: string; limit?: number; offset?: number } returns { items: BusinessRecord[]; total: number }

  • exportBusinessTable

    Viewer

    Exports the business table.

    Types: { tableId: string } returns { table: BusinessTable; records: BusinessRecord[]; exportedAt: string }

  • saveBusinessRecord

    Member

    Saves the business record.

    Types: { tableId: string; id?: string; expectedVersion?: number; values: Record<string, DataValue>; source?: BusinessRecord['s… returns BusinessRecord

  • deleteBusinessRecord

    Member

    Deletes the business record.

    Types: { tableId: string; id: string; expectedVersion: number } returns { deleted: boolean }

  • listMembers

    Viewer

    Lists members.

    Types: EmptyRequest returns ListMembersResponse

Screens

What it records

The feature writes these events to the audit log, the permanent record of what happened.

  • Business record changed
  • Business table changed
  • Company data source changed
  • Company ontology changed

Generated from code at commit be57775 ·

Turn the numbers into shipped work.

Agent runs these choices for you: a persistent AI worker with memory and rules, on your Claude and Codex subscriptions.