50 Low-Code & No-Code Prompts for Airtable, Bubble, and Retool

Introduction

The rise of Low-Code and No-Code platforms has fundamentally changed how businesses build internal tools, automate workflows, and manage data. Airtable, Bubble, and Retool are three of the most powerful platforms in this space, each serving a distinct purpose: Airtable for flexible databases, Bubble for full-stack web apps, and Retool for internal tooling. However, even the best platform is only as good as the prompts you feed it — whether you're asking an AI assistant to generate a formula, describe a workflow, or debug a component.

This article is a curated collection of 50 practical prompts across three categories: basic (for beginners), advanced (for intermediate users), and expert (for power users). Each prompt is designed to save you time and help you build faster, with real examples and expected results. Whether you're a product manager automating a CRM or a developer prototyping an internal dashboard, these prompts will accelerate your work.

Why Prompts Matter in Low-Code/No-Code

Low-code platforms are inherently visual, but they still require logic — formulas, API calls, conditional workflows, and database queries. AI assistants (like ChatGPT, Claude, or platform-native copilots) can generate these logic snippets, explain concepts, and debug errors. The quality of the output depends entirely on the prompt's clarity and context. A vague prompt like "help me with Airtable" yields generic advice; a specific prompt like "write an Airtable formula to calculate days overdue based on a 'Due Date' field, ignoring blank cells" gives you a production-ready formula.

This prompt collection covers:
- Airtable: formulas, rollups, automation scripts, interface design
- Bubble: workflows, custom states, API integrations, responsive design
- Retool: SQL queries, JavaScript transformers, UI components, resource management

Basic Prompts (1–15)

Airtable — Basic

Task 1: Calculate days between two dates, excluding weekends.
- Prompt: "Write an Airtable formula to calculate the number of working days (Monday–Friday) between 'Start Date' and 'End Date', excluding weekends. Handle empty fields gracefully."
- Example Result:
IF( AND({Start Date}, {End Date}), DATETIME_DIFF({End Date}, {Start Date}, 'days') - (DATETIME_DIFF({End Date}, {Start Date}, 'weeks') * 2) - IF(WEEKDAY({Start Date}) = 7, 1, 0) - IF(WEEKDAY({End Date}) = 6, 1, 0) + 1, BLANK() )

Task 2: Create a status color indicator.
- Prompt: "Suggest an Airtable formula that returns a color name (red, yellow, green) based on a 'Status' field: 'Overdue' → red, 'In Progress' → yellow, 'Completed' → green."
- Example Result:
IF({Status} = 'Overdue', 'red', IF({Status} = 'In Progress', 'yellow', IF({Status} = 'Completed', 'green', '')))

Task 3: Count related records.
- Prompt: "Write an Airtable rollup formula to count how many tasks are linked to each project via a linked record field called 'Tasks'."
- Example Result: COUNTA(values) where the rollup field aggregates the 'Task Name' field from the linked table.

Bubble — Basic

Task 4: Display current user's name on a page.
- Prompt: "In Bubble, how do I display the currently logged-in user's first name in a text element? Provide the expression."
- Example Result: Current User's First Name — drag a text element and set its content to "Current User's First Name" from the dynamic data picker.

Task 5: Create a simple search bar.
- Prompt: "Write a Bubble workflow that filters a repeating group of 'Products' based on a search input. The search should match product name or description."
- Example Result: In the Repeating Group's data source, set constraint: Product's Name contains Searches's value OR Product's Description contains Searches's value. Use the search input's value as the constraint.

Task 6: Save user input to database.
- Prompt: "Show me a Bubble workflow that saves a new 'Contact' record when a user clicks a button, pulling data from input fields 'Name', 'Email', and 'Phone'."
- Example Result: Workflow: Button clicked → Create a new thing (Contact) → Set fields: Name = Input Name's value, Email = Input Email's value, Phone = Input Phone's value.

Retool — Basic

Task 7: Query a PostgreSQL table.
- Prompt: "Write a Retool SQL query to select all columns from a 'users' table where 'active' is true, ordered by creation date descending."
- Example Result:
sql SELECT * FROM users WHERE active = true ORDER BY created_at DESC;

Task 8: Display query results in a table.
- Prompt: "How do I bind a Retool table component to a query named 'getUsers'? Provide the JavaScript expression."
- Example Result: Set the table's "Data" property to {{ getUsers.data }}.

Task 9: Add a button to delete a row.
- Prompt: "Write a Retool button onClick handler that deletes the selected row from a table using a query named 'deleteUser'."
- Example Result: Button onClick → Trigger query 'deleteUser' with parameters: { id: table1.selectedRow.id }. Query: DELETE FROM users WHERE id = {{ id }};

Advanced Prompts (16–35)

Airtable — Advanced

Task 10: Build a multi-step approval automation.
- Prompt: "Design an Airtable automation that sends an email to the next approver when a record's status changes to 'Pending Approval'. The approval chain is defined in a linked 'Approvers' table with a sequence number."
- Example Result:
1. Trigger: When record matches conditions (Status = 'Pending Approval')
2. Find records: Find the approver with the lowest sequence number whose status is 'Pending'
3. Send email: To approver's email with link to record

Task 11: Create a Gantt-chart-like view.
- Prompt: "How can I create a Gantt chart in Airtable using the Timeline view? Describe the required fields."
- Example Result: You need a date field (Start Date) and an end date field (End Date). The Timeline view automatically renders bars. Group by a 'Project' field for multi-project Gantt.

Task 12: Write a complex IF formula with multiple conditions.
- Prompt: "Write an Airtable formula that assigns a priority score (1–5) based on three fields: Urgency (High/Medium/Low), Impact (High/Medium/Low), and Budget (>$10k, $5k–$10k, <$5k)."
- Example Result:
IF(AND({Urgency}='High', {Impact}='High', {Budget}>10000), 5, IF(AND({Urgency}='High', {Impact}='High', {Budget}<=10000, {Budget}>=5000), 4, IF(AND({Urgency}='Medium', {Impact}='Medium', {Budget}<5000), 2, 1)))

Bubble — Advanced

Task 13: Implement server-side pagination with custom states.
- Prompt: "Write a Bubble workflow that loads paginated data from an external API. Use custom states to track current page and total pages. Display 'Previous' and 'Next' buttons."
- Example Result:
1. Create custom states: currentPage (number, default 1), totalPages (number)
2. Workflow on page load: Call API with page=1, set totalPages from response
3. Next button: Increment currentPage, call API with new page
4. Previous button: Decrement currentPage, call API

Task 14: Build a real-time chat feature.
- Prompt: "Explain how to build a real-time chat in Bubble using the Realtime API (WebSockets). Include steps for sending and receiving messages."
- Example Result:
1. Enable Realtime API in settings
2. Create a 'Message' data type with fields: text, sender, timestamp, room
3. Workflow 'Send Message': Create a new Message, then trigger 'Send Realtime Event' with event name 'new_message' and data
4. Realtime event handler 'new_message': Append message to a repeating group

Task 15: Create a dynamic form that changes fields based on a dropdown.
- Prompt: "Write a Bubble workflow that shows/hides form fields based on a dropdown selection (e.g., 'Individual' vs 'Company'). Use conditional visibility."
- Example Result:
1. Add a dropdown with options 'Individual' and 'Company'
2. For each conditional field (e.g., 'Company Name'), set visibility condition: Dropdown's value = 'Company'
3. Repeat for 'First Name' field: visible when Dropdown's value = 'Individual'

Retool — Advanced

Task 16: Build a multi-step form with state management.
- Prompt: "Create a Retool app with a 3-step form where data is saved to a temporary state between steps and submitted at the end. Use JavaScript transformers to validate fields."
- Example Result:
1. Create state variables: formData (object with step1, step2, step3 fields)
2. Step 1: Input fields for name, email. On 'Next' button, update formData.step1 via JS: {name: input1.value, email: input2.value}
3. Step 2: Input fields for address, phone. Update formData.step2.
4. Step 3: Review all data. Submit button triggers a query that inserts formData into database.

Task 17: Add a date range filter to a dashboard.
- Prompt: "Write a Retool SQL query that filters orders between a start date and end date, using two date picker components named 'startDate' and 'endDate'."
- Example Result:
sql SELECT * FROM orders WHERE order_date >= {{ startDate.value }} AND order_date <= {{ endDate.value }} ORDER BY order_date DESC;

Task 18: Implement row-level security.
- Prompt: "How do I restrict Retool query results so a user can only see their own data? Assume a 'user_id' column in the database and a current user variable."
- Example Result:
sql SELECT * FROM projects WHERE user_id = {{ current_user.id }};
Set current_user.id in Retool's user settings or via a custom authentication handler.

Expert Prompts (36–50)

Airtable — Expert

Task 19: Build a multi-table inventory system with triggers.
- Prompt: "Design an Airtable base for inventory management with tables: Products, Orders, Order Items, Suppliers. Write a script automation that decrements product quantity when an order is placed."
- Example Result:
javascript let table = base.getTable('Products'); let orderItemsTable = base.getTable('Order Items'); let orderId = input.config().orderId; let items = await orderItemsTable.selectRecordsAsync(); for (let item of items.records) { if (item.getCellValue('Order')[0].id === orderId) { let product = await table.selectRecordAsync(item.getCellValue('Product')[0].id); let newQty = product.getCellValue('Quantity') - item.getCellValue('Quantity'); await table.updateRecordAsync(product.id, {'Quantity': newQty}); } }

Task 20: Create a dynamic dashboard with rollups and charts.
- Prompt: "Write a collection of Airtable formulas and rollups to build a sales dashboard showing: total revenue, average order value, top-selling products, and monthly trends."
- Example Result:
- Total Revenue: SUM({Order Total}) in a rollup
- Average Order Value: AVERAGE({Order Total})
- Top-selling products: Use a 'Count' rollup on linked Order Items, then sort descending
- Monthly trends: Use DATETIME_FORMAT({Order Date}, 'YYYY-MM') as a grouping field in an interface chart

Bubble — Expert

Task 21: Implement OAuth 2.0 with Google.
- Prompt: "Write a Bubble workflow that implements OAuth 2.0 login with Google, including token exchange and refresh token handling. Use the API Connector plugin."
- Example Result:
1. Set up Google OAuth credentials (client ID, secret)
2. API call: POST to https://oauth2.googleapis.com/token with code, client_id, client_secret, redirect_uri, grant_type=authorization_code
3. Store access_token and refresh_token in custom states
4. On token expiry, use refresh_token to get new access_token

Task 22: Create a custom plugin with JavaScript.
- Prompt: "Explain how to build a custom Bubble plugin that encrypts text using AES. Include the plugin structure and JavaScript code."
- Example Result:
1. Create a new plugin in Bubble's editor
2. Add an element with a text input and an action 'Encrypt'
3. In the action's JavaScript:
javascript function(properties, context) { const CryptoJS = require('crypto-js'); const encrypted = CryptoJS.AES.encrypt(properties.text, 'secret-key').toString(); return { encrypted: encrypted }; }

Task 23: Build a subscription billing system with Stripe.
- Prompt: "Design a Bubble app that creates Stripe subscriptions, handles webhook events (payment succeeded, failed), and updates user roles accordingly. Use the Stripe plugin."
- Example Result:
1. Use Stripe plugin's 'Create Subscription' action with price ID
2. Set up webhook endpoint in Bubble to receive Stripe events
3. On 'invoice.payment_succeeded', update user's subscription status to 'active'
4. On 'invoice.payment_failed', set status to 'past_due' and send email

Retool — Expert

Task 24: Build a custom component with React.
- Prompt: "Write a Retool custom component (React) that renders a Kanban board. The component should accept a list of tasks with status and allow drag-and-drop to change status."
- Example Result:
jsx const KanbanBoard = ({ tasks, onStatusChange }) => { const columns = ['To Do', 'In Progress', 'Done']; return ( <div style={{ display: 'flex' }}> {columns.map(col => ( <div key={col} style={{ flex: 1, padding: 10, border: '1px solid #ccc' }}> <h3>{col}</h3> {tasks.filter(t => t.status === col).map(task => ( <div key={task.id} draggable onDragEnd={() => onStatusChange(task.id, col)}> {task.title} </div> ))} </div> ))} </div> ); };

Task 25: Create a real-time dashboard with WebSockets.
- Prompt: "Set up a Retool app that subscribes to a WebSocket feed (e.g., from a WebSocket API) and updates a chart in real time. Use JavaScript event listeners."
- Example Result:
1. Create a state variable liveData as an array
2. In a JavaScript query:
javascript const ws = new WebSocket('wss://your-websocket-url'); ws.onmessage = (event) => { const data = JSON.parse(event.data); liveData.push(data); if (liveData.length > 100) liveData.shift(); }; return liveData;
3. Bind a chart component to liveData

Comparison Table: When to Use Each Platform

Feature Airtable Bubble Retool
Primary use case Flexible database + CRM Full-stack web apps Internal tools & dashboards
Best for Non-developers, teams Startups, MVPs Developers, ops teams
Database built-in Yes (relational) Yes (Bubble DB) Connects to external DBs
API integrations Limited (native connectors) API Connector plugin Native (REST, GraphQL, SQL)
Customization level Medium (formulas, scripts) High (workflows, plugins) Very high (JS, React)
Learning curve Low Medium Medium–High
Pricing Free–Enterprise Free–Enterprise Free–Enterprise

Conclusion

Low-code and no-code platforms are not mutually exclusive — many teams use Airtable as a backend database, Bubble for customer-facing apps, and Retool for internal admin panels. The prompts in this collection are designed to be adapted to your specific use case, whether you're automating a simple approval workflow or building a complex real-time dashboard.

To get the most out of these prompts, always provide context: your table structure, field names, API endpoints, or desired user flow. The more specific you are, the better the AI-generated solution. Experiment, iterate, and don't be afraid to ask follow-up questions. The days of writing everything from scratch are over — smart prompts are your new superpower.

For a structured learning path on integrating these platforms with AI, check out resources like ASI Biont's courses on low-code automation and API orchestration.

← All posts

Comments