Connect your data
Choose which tables AI clients find
To choose which tables AI clients such as Claude and ChatGPT find on an app, clear the ones to hide on the app’s Data tab. Bonnard leaves those tables, such as staging copies and backups, out of what an agent finds.
Warning
Hiding a table does not stop it being read. An agent that names it in SQL, such as SELECT * FROM <table>, gets the
rows if the credential Bonnard connects with can read the table. To stop that, take the table out of the
credential’s grants, as in the PostgreSQL guide.
Choose the tables
You need the Admin role.
- In the console at
app.bonnard.ai, open Apps, then the app. - Select the Data tab. It lists the tables of the app’s database.
- Clear the checkbox of each table to hide. Select the checkbox, or the row, again to show it.
Changes save as you make them: Saving…, then Saved, next to the table count. If a save fails, select Save failed. Retry.
Under the list, Showing N of M tables to the agent counts the tables agents can find. If you hide them all, it warns that the agent has nothing to discover.
Hide many tables at once
- With more than one schema, tables are grouped by schema, and the Schema: buttons filter the list. A schema row’s checkbox shows or hides every table under it.
- The header checkbox shows or hides every table that the search and the schema filter match.
- Search tables… takes plain text, or rules on
name,schema,type,rowsandcolumns. The info icon next to it lists the rules.
To hide every temporary and backup table, search name:tmp_* OR name:*_bak, clear the header checkbox, then clear the
search.
rows:=0 matches empty tables, and every table whose Rows shows – (no count).
What hiding a table changes
A hidden table is left out of what an agent uses to find tables on the app:
- every table list
explore_schemareturns, including search results; - a lookup by name, which answers
Table '<name>' not found or not exposed., as for a table that does not exist; - the tables listed as referencing another table;
- the nearest names Bonnard suggests when an agent misnames a table.
A shown table’s details can still name a hidden one, as a foreign key’s target or in a view’s SQL.
Each app keeps its own choice, so two apps on one database can show different tables. A change reaches the app’s staging and production URLs on the next call, with no publish step.
Draft with AI in the dashboard editor reads the whole database, so it finds hidden tables too.
Tables added later
A table added to the database later is shown on every app. The Data tab lists the tables from the database’s last refresh, so to hide new ones:
- Select Data in the sidebar, open the database, and select Re-introspect (the refresh icon) on its Tables tab.
- On each app’s Data tab, clear the new tables to hide.
PostHog
On a PostHog connection, Bonnard holds back PostHog’s internal tables, such as the system schema and
raw_ tables. They are not on the Data tab, so you cannot hide them there. An agent still finds them by name, or by
asking explore_schema for held-back tables.
The Data tab lists every other PostHog table, including the ones explore_schema’s overview leaves out.
Related
- Audience: who can connect to an app.