Reading from where your records already live

    A file is the quickest way to start, and the worst way to keep going: every change means another export. A connection reads the records where they already are. Five sources work today.

    Postgres
    Any Postgres, including Supabase, Neon, RDS, Railway and Render. One connection string.
    MySQL
    Any MySQL or MariaDB, including PlanetScale and RDS. One connection string.
    MongoDB
    One connection string, naming the database. Collections are listed the way tables are.
    Airtable
    A personal access token you make at airtable.com/create/tokens, scoped to the bases you choose.
    Shopify
    An Admin API token from your own admin, under Settings, Apps and sales channels, Develop apps. Products and collections, not customers or orders.
    1. 1

      Add the connection

      Add a dataset, then Read a database. Name it and paste the credential: it is encrypted before it is stored and never shown again, not even to you.

    2. 2

      Pick a table

      We list what that credential can actually see, so an over-scoped token is obvious before you use it.

    3. 3

      Read it

      Choose how many rows. What arrives is the same draft a file makes, so the preview, the column types and the identity column all work exactly as they did.

    Two rules will refuse a connection, and both are deliberate. TLS is required and the certificate is verified, hostname included, so a credential is never sent in the clear and never sent to something that cannot prove it is the host you named. And every address a host resolves to is checked: loopback, link-local and private ranges are refused, which is what stops a connection string being pointed at a server's own cloud metadata. A self-hosted install whose database really is on a private network can name that host explicitly.