ARTICLE

Retool’s NL PostgreSQL/REST Resources: What to Take into Bubble’s API Connector, and What to Keep by Hand

Retool launched a public beta that generates PostgreSQL and REST API resources from text prompts. Here is what non-technical founders building MVPs can bring into Bubble’s API Connector, and what has to stay manual.

When you're racing to test a business idea, collect customer feedback, or show traction to early investors, no-code tools and vibe coding with AI feel like a superpower. Retool recently announced a public beta on Retool Cloud that lets its app-building agent create PostgreSQL and REST API resources straight from natural language prompts. You describe what you need. The agent sets up the resource shell and asks you for credentials or details when it needs them. Retool says plainly that resource credentials are encrypted and never exposed to the agent. Worth reading next: Using an AI Coding App. Worth reading next: Why You Don't Need ai.

If you're an independent founder or a non-technical builder shipping on Bubble, this points at a boundary that matters. Retool manages centralized database and API connection objects. Bubble uses its native database for internal data and the API Connector for outbound third-party integrations. Bubble also has an in-editor AI Agent (beta) that can create API Connector collections and calls from prompts. Natural language can speed up MVP delivery a lot. But if you get casual with API contracts and secrets, your launch will go sideways fast. A closer look: Buildprint vs the Official Bubble.

What to Delegate to AI When Building Your MVP

To move fast without technical friction, I let natural language generation handle the boilerplate structure of my integrations:

  1. Payload and URL parameters: I describe the request payload in plain English («create a POST request to register a new user with email, name, and referral code»), and the model drafts a valid JSON structure with clear parameter names right away.
  2. Header configuration: The model is good at standard header pairs like Content-Type: application/json or the usual Bearer authorization format. That removes the trivial syntax mistakes.
  3. Logical grouping: I lay out dedicated collections first (for example, Stripe payments vs. transactional emails), then fill in the specific endpoints.

Why Production Contracts and Initialization Must Remain Manual

The most dangerous trap for non-technical founders is expecting AI to handle live credentials or guess dynamic data types on its own. Bubble's architecture needs a human in charge in a few critical places: Same topic: Cursor Projects: subagents and long.

  • Credentials never go into the prompt: Retool shields credentials from its agent, and Bubble's AI Agent strips secrets and inserts REPLACE ME placeholders. I always set credentials manually at the collection level (for example, private keys in headers) and use Bubble's dev vs. live key pairs so testing never touches production user data.
  • Initialization is manual (Initialize call): Bubble's AI Agent does not initialize API calls, and there's a good reason. When you click «Initialize call», Bubble sends an actual request and inspects the response to assign strict data types (text, number, date, list) to the response fields. If you skip this or automate it without checking, dynamic data expressions in your Bubble workflows and pages simply won't work.
  • Live side effects and schema exposure: Initialization is a live network call. Run it against a live endpoint with real customer data and you can trigger unintended billing or change real data. Bubble also warns that initialization sample parameters can end up embedded in your application's source schema. I always initialize with sanitized, non-sensitive sample data.

Why Production Contracts and Initialization Must Remain Manual

The Builder's Habit: Spec First, Bind Manually

To validate a startup hypothesis in days rather than months, I stick to one routine: natural language drafts the API call specification, and I handle credential binding, environment switching, and initialization by hand.

I use AI prompts to sketch endpoints, parameters, and payloads quickly. Then I plug in the keys myself, supply fake sample values, and hit «Initialize call» to lock in the data types. That gets me the speed of vibe coding and an MVP that stays resilient, secure, and ready for real users.

← All articles