Skip to main content
An integration is an external service connected to a workspace. You connect it once, and then any app, block, or workflow in that workspace can use it. Most of the ones you will browse here hold data — an Airtable base, a Google Sheet, a Notion database, a monday.com board, a Supabase project — and those are the workspace’s data sources. These five tools let an assistant explore what’s connected and find the exact table it needs. They are all read-only. They exist to answer “what data is available here?” so the answer can be used somewhere else: wiring a table to a vibe coding block, or filling in a workflow step that reads from Airtable.
A data source is a kind of integration, not another word for one. Every data source is an integration; the reverse is not true. Gmail, Slack and OpenAI are integrations with no records in them, so there is nothing to browse inside them and they are not data sources.That is why the tool names split the way they do: list_integrations lists everything the workspace has connected, and the list_data_source_* tools browse inside the entries that actually hold data. Either word gets you to the right place — the assistant works out which you mean.

Browsing is a drill-down

These tools are one path, not five separate features. Each level needs an ID from the level above, so the assistant walks down from the workspace to the fields of one table.

Some integrations have a middle level

Most go straight from the top level to tables. Seven have something in between, so browsing them takes five steps instead of four: A SQL connection usually has just one database — for Supabase it is called postgres. For everything else, skip list_data_source_schemas and go straight from databases to tables. Calling it on an integration that has no middle level returns an error rather than an empty list, so that “no schemas” is never mistaken for a fact about your data.
MySQL, MariaDB and Xano look like they belong in the table above, and don’t. They treat the schema and the database as the same thing, so they have nothing to browse in between — list their tables directly.

Which integrations are supported

Every data source type Softr supports can be browsed and connected to a block through MCP: Each has its own setup guide in the Data Sources section of these docs. Connect it to the workspace there first, and it becomes browsable through MCP.
If an integration you expect is missing from a result, check that it is connected to the workspace you are asking about rather than a different one. If a table is missing, check you are looking under the right top-level entry — a monday.com board only appears under the monday.com workspace that owns it.

Referencing fields in code

list_data_source_table_fields returns each field’s type and options, the table’s primary field, and one thing that matters more than it looks: how fields must be referenced in code. Rather than memorising that table, read fieldReferenceKey from the response: it says "id" or "name" for the table you just looked at. For SQL databases the two are the same string anyway, because a column’s ID is its name.
Getting this wrong fails silently. Code using the wrong form compiles, saves, and looks correct in the builder — and then returns nothing when the page loads. If a block renders but its data is empty, this is the first thing to check.