10 Low-Code / No-Code Prompts for Airtable, Bubble, and Retool: A Practical Guide for 2026

Introduction

Low-code and no-code platforms have fundamentally changed how businesses build software. Instead of waiting weeks for a development team to spin up a simple CRM or dashboard, product managers, operations leads, and even marketers can now drag, drop, and configure their way to a functional app. But there's a catch: the real power of these platforms lies in how you prompt them — how you structure your automation rules, formula fields, and workflow triggers.

This article is a curated collection of 10 prompts across three of the most popular platforms as of mid-2026: Airtable (for flexible databases and automations), Bubble (for full-stack web apps), and Retool (for internal tools and admin panels). Each prompt is a reusable pattern that you can adapt to your own use cases. I'll explain the task, give you the exact prompt, and show you an example result.

Whether you're a seasoned no-code builder or just starting your first automation, these prompts will help you move faster and build smarter. All examples are tested on the current versions of these platforms (Airtable 2026, Bubble 2026, Retool 2026).

1. Airtable: Automate Lead Scoring from Inbound Forms

Airtable's automation engine has matured significantly. You can now trigger scripts, send webhooks, and update records based on complex conditions — all without writing traditional code (though you can use JavaScript in the scripting block).

Task

Create an automation that reads a new record submitted via a form (e.g., a lead capture form), calculates a lead score based on company size and industry, and updates the record with a priority label (High / Medium / Low).

Prompt (Airtable Automation + Scripting Block)

When a new record is created in the 'Leads' table:
  - If the 'Company Size' field is > 200 AND the 'Industry' is 'Technology' or 'Finance', set 'Priority' to 'High'.
  - Else if the 'Company Size' is between 50 and 200, set 'Priority' to 'Medium'.
  - Else set 'Priority' to 'Low'.
  - Update the record with the new priority.
  - Send an email to the sales team (via Airtable's email action) with the subject: 'New High-Priority Lead: {Record Name}'.

Example Result

A lead named "Acme Corp" with 500 employees in "Technology" triggers the automation. The record's Priority field is set to "High". An email is sent to sales@example.com with the subject "New High-Priority Lead: Acme Corp".

You can also extend this with a Slack webhook. ASI Biont supports connecting Airtable to Slack for real-time notifications — learn more at asibiont.com/courses.

2. Airtable: Sync Orders to Google Sheets for Reporting

Many teams still prefer Google Sheets for ad-hoc reporting because of its familiarity. Airtable's sync feature lets you push data out to Sheets with a simple automation.

Task

Whenever an order record in the 'Orders' table is marked as 'Shipped', automatically append a row to a Google Sheet containing: Order ID, Customer Name, Product, Shipping Date, and Total.

Prompt (Airtable Automation + Google Sheets via Zapier or native connector)

Trigger: When a record in 'Orders' has 'Status' updated to 'Shipped'.
Action: Append a new row to the spreadsheet 'Order Log' at columns A–E.
Mapping:
  A: Order ID
  B: Customer Name
  C: Product
  D: Today's date (formatted as YYYY-MM-DD)
  E: Total

Example Result

Order #1024 for "Jane Doe" purchasing "Widget Pro" on July 14, 2026, for $299 appears as a new row in the Google Sheet within seconds.

3. Airtable: Generate Unique Invoice Numbers

A common requirement: each invoice record needs a unique, sequential number like INV-001, INV-002, etc. Airtable doesn't have a built-in auto-increment, but you can achieve it with a script.

Task

When a new invoice record is created, automatically generate an invoice number by incrementing the highest existing number.

Prompt (Airtable Scripting Block in Automation)

let table = base.getTable('Invoices');
let query = await table.selectRecordsAsync({fields: ['Invoice Number']});
let maxNum = 0;
query.records.forEach(record => {
  let val = record.getCellValue('Invoice Number');
  if (val) {
    let num = parseInt(val.replace('INV-', ''), 10);
    if (num > maxNum) maxNum = num;
  }
});
let newNum = maxNum + 1;
let newInvoiceNumber = 'INV-' + String(newNum).padStart(3, '0');
await table.updateRecordAsync(input.record.id, {
  'Invoice Number': {name: newInvoiceNumber}
});

Example Result

If the last invoice was INV-045, the new record gets INV-046.

4. Bubble: Build a Multi-Step User Onboarding Flow

Bubble's workflow editor is event-driven. You can chain actions across pages and data sources. A common use case is guiding a new user through a setup wizard.

Task

After a user signs up, redirect them to a 3-step onboarding wizard. Each step saves data to the user's profile. Only after the third step is the user's account marked as 'Active'.

Prompt (Bubble Workflow + Custom States)

When the user signs up (via the 'Sign Up' button):
  - Create a new user in the database with 'Status' = 'Onboarding'.
  - Redirect to page 'onboarding-step-1'.
On 'onboarding-step-1':
  - User fills in company name and role.
  - On 'Next' click: save 'Company Name' and 'Role' to current user, redirect to 'onboarding-step-2'.
On 'onboarding-step-2':
  - User selects their industry from a dropdown.
  - On 'Next' click: save 'Industry', redirect to 'onboarding-step-3'.
On 'onboarding-step-3':
  - User uploads a profile photo.
  - On 'Finish' click: save 'Photo', set 'Status' = 'Active', redirect to '/dashboard'.

Example Result

New user "Alice" completes the wizard. Her profile now has Company Name, Role, Industry, and Photo. Her Status is 'Active', and she lands on the dashboard.

5. Bubble: Dynamic Search Filter with Repeating Group

Bubble's Repeating Group can display data filtered by user input. This prompt creates a real-time search for products.

Task

On a product listing page, let users type into a search box and see products filtered by name or category without pressing a button.

Prompt (Bubble Repeating Group + Input's Search)

Add a Search Box element on the page.
Set the Repeating Group's 'Type of content' to 'Products'.
Set the Repeating Group's 'Data source' to:
  Search for Products: Do a search for Products
  Constraint: Product Name contains (Search Box's value) OR Category contains (Search Box's value)
  Sort by: Product Name (ascending)
Set the Repeating Group to update when Search Box's value changes.

Example Result

As the user types "elect", the Repeating Group instantly shows products like "Electronics Kit", "Electrical Cable", and "Electrolux Vacuum".

6. Bubble: Stripe Subscription with Trial Period

Bubble integrates natively with Stripe. You can create subscription plans and handle trials directly in the workflow.

Task

When a user clicks "Start Free Trial", create a Stripe subscription with a 14-day trial, and store the subscription ID in the user's record.

Prompt (Bubble Stripe Plugin Workflow)

When the user clicks "Start Free Trial":
  - Get the current user's email.
  - Run action 'Stripe - Create Customer' (if not already created).
  - Run action 'Stripe - Create Subscription with Trial' with:
      Price ID: price_abc123 (your monthly plan)
      Trial period days: 14
  - Save the returned 'Subscription ID' to the current user's 'Stripe Subscription' field.
  - Set the user's 'Plan' to 'Trial'.
  - Redirect to '/account'.

Example Result

User "Bob" clicks the button. A Stripe customer is created, a subscription with a 14-day trial starts, and Bob's profile now shows 'Plan: Trial' with the subscription ID saved.

7. Retool: Admin Dashboard for Monitoring API Health

Retool is built for internal tools. You can connect to any REST API, SQL database, or GraphQL endpoint and build UIs in minutes.

Task

Build a dashboard that polls an external API (e.g., a weather service or your own backend) every 30 seconds, displays the status (OK / Error), and shows the last response time.

Prompt (Retool Resource + Query + Table)

Resource: REST API (e.g., https://api.example.com/health)
Query: 'getHealth'
  - Method: GET
  - Run on page load: Yes
  - Refresh every 30 seconds: Yes
Component: Table
  - Data source: {{ getHealth.data }}
  - Columns:
      Service Name (string)
      Status (string)  conditionally color: if 'OK' green, else red
      Last Response Time (number)
Add a Text component showing: "Last checked: {{ moment().format('HH:mm:ss') }}"

Example Result

The table shows two rows: "Auth Service" with status 'OK' and response time 120ms, "Payment Service" with status 'Error' and response time 0ms. The timestamp updates every 30 seconds.

8. Retool: Bulk Update User Permissions from CSV Upload

Admins often need to update many users at once. Retool lets you upload a CSV and run an update query against your database.

Task

Allow an admin to upload a CSV with columns 'Email' and 'Role', then update the corresponding users in a PostgreSQL database.

Prompt (Retool File Upload + SQL Query)

Component: File Upload (accept .csv)
  - Set 'File parser' to 'CSV' with headers.
  - Store parsed data in a temporary state: {{ fileUpload1.parsedData }}
Button: 'Update Roles'
  - On click, run SQL Query:
    UPDATE users SET role = {{ parsedRow.role }} WHERE email = {{ parsedRow.email }};
  - This query loops over each row in the uploaded CSV.
  - After success, show a notification: 'Updated {{ fileUpload1.parsedData.length }} users'.

Example Result

Admin uploads a CSV with 50 rows. The button updates all 50 users' roles in the database and shows a success notification.

9. Retool: Real-Time Chat Support Widget with WebSocket

Retool supports WebSocket connections for real-time features. You can build a simple support chat that updates without page refresh.

Task

Create a chat widget where support agents can see new messages from customers in real time and reply.

Prompt (Retool WebSocket Resource + List View)

Resource: WebSocket (e.g., wss://chat.example.com/ws)
  - On message received: store the message in a Retool state variable 'chatMessages'.
Component: List View
  - Data: {{ chatMessages }}
  - Template: show 'Sender', 'Message', and 'Timestamp'.
Component: Text Input + Button
  - Button click: send '{{ textInput1.value }}' via WebSocket to the channel.
  - Clear the input after sending.

Example Result

When a customer sends "I need help with my order", the message appears in the list view within milliseconds. The agent types a reply and clicks send — it goes back to the customer.

10. Retool: Generate PDF Report from SQL Data

Retool can generate PDFs from any data source using its built-in PDF viewer or by calling a PDF-generation API.

Task

Let a user select a date range, fetch order data from PostgreSQL, and generate a downloadable PDF summary.

Prompt (Retool Date Range Picker + PDF Generation)

Component: Date Range Picker
  - Set state variables: 'startDate' and 'endDate'.
Button: 'Generate Report'
  - On click, run SQL Query:
    SELECT order_id, customer_name, total, order_date
    FROM orders
    WHERE order_date BETWEEN {{ startDate }} AND {{ endDate }}
    ORDER BY order_date;
  - Store result in state variable 'reportData'.
Component: PDF Viewer
  - Source: {{ generatePDF(reportData) }}  // using a JavaScript transformer to format HTML
  - Create a transformer that builds an HTML table and converts it to PDF via a library like jsPDF (included in Retool's environment).
  - Add a download button that triggers the PDF download.

Example Result

User selects July 1–14, 2026, clicks the button, and sees a PDF preview with order details. They can download the file as 'report-2026-07-01-2026-07-14.pdf'.

Conclusion

The line between "no-code" and "real code" continues to blur. Platforms like Airtable, Bubble, and Retool now offer powerful scripting, API integrations, and automation capabilities that let you build production-grade applications without a traditional engineering team. The prompts above are starting points — adapt them to your own workflows, combine them, and iterate.

Remember: the best prompt is the one that solves an actual problem for your team. Start small, test often, and don't be afraid to dig into the documentation. The future of software development is not about writing less code — it's about writing the right prompts.

← All posts

Comments