App Builder for Excel

Overview

Enables you to create a standalone HTML web application in an AI tool (like ChatGPT, Claude, or Gemini) and then run it directly within your workbook. Your spreadsheet is the web server and database, there is no need to host it on a separate server. The web application creates tables in the workbook to store its data. Security becomes simple, if you share the workbook with someone they can use the web app. No need for separate authentication. Depending on your app design, it will even work offline.

Use it to build your own personalized Excel tools—whether you need a specialized calculator, a Kanban board, a data entry form, or a visual dashboard.

How It Works

The workflow is designed to be simple and AI-driven:

  1. Generate: Use an AI tool to write the code for you. We provide a “System Prompt” that tells the AI exactly how to build apps compatible with our platform.
  2. Paste: Copy the generated HTML/JavaScript code into the add-in editor.
  3. Run: Launch your app instantly. It runs directly in your workbook and stores data in the workbook as tables.

Getting Started

1. Installation

The add-in is deployed as an Office Content Add-in. Once installed from the store or your admin catalog, it will appear directly on your Excel canvas.

2. Your First App

When you first open the add-in, you’ll see a welcome screen with options to get started.

Option A: Try an Example Select the example app to see what’s possible immediately, you can always delete it later.

Option B: Create with AI 1. Click “Copy System Prompt”. This copies our technical specification to your clipboard. 2. Open your preferred AI tool (ChatGPT, Claude, etc.). 3. Paste the system prompt, then add your specific request. For example: > “Build a simple inventory management tool that tracks item names, quantities, and reorder levels.” 4. Copy the code the AI generates. 5. Back in Excel, click “Create Your First App”, paste the code, give it a name, and click “Run”.

The AI System Prompt

The key to success is the System Prompt. This text file contains all the technical rules, API documentation, and style guides the AI needs to build a working app. It ensures the AI: - Uses the correct “Boardflare Bridge” (bf) API to talk to Excel. - Styles the app beautifully (using Tailwind CSS). - Handles errors and edge cases correctly.

Always start a new AI chat session by pasting the System Prompt first.

Managing Your Apps

Storage

Your apps are stored inside the Excel workbook file itself (in Document Settings). This means: - Portability: Your custom app code and data travel with the workbook. - Privacy: Nothing is stored on our servers.

Version History

We automatically save the last 3 versions of your app code in the workbook. If an edit breaks your app, you can easily restore a previous version via the History button in the editor or the settings menu.

Editing & Deleting

  • Edit: Click the settings gear icon or use the context menu to open the code editor.
  • Delete: Remove the current app if you no longer need it. This permanently deletes the code from the workbook settings.

API Reference (For Developers)

While the AI handles most coding, advanced users can write or tweak code manually. The app exposes a global window.bf object interaction with Excel tables.

Note: All table operations use a bf_ prefix for table names to avoid conflicts (e.g., a table named “expenses” in the app corresponds to bf_expenses in Excel).

createTable(name, options)

Creates an Excel table if it doesn’t exist. - name (string): The table name (e.g., “tasks”). - options (object): - columns (array of strings): Column headers. - seed (array of arrays): Initial data to populate if created new.

getRows(name, options)

Retrieves data from a table. - name (string): The table name. - options (object): limit and offset for pagination.

addRow(name, data)

Adds a new row to the table. - name (string): The table name. - data (object): Key-value pairs matching column names.

updateRow(name, rowId, updates)

Updates an existing row. - name (string): The table name. - rowId (string): The unique ID (_id) of the row to update. - updates (object): Fields to change.

deleteRow(name, rowId)

Deletes a row. - name (string): The table name. - rowId (string): The unique ID of the row.

onSync(callback)

Subscribes to real-time updates. - callback (function): Called with { tableName, rows } whenever the Excel table changes.

Troubleshooting

“App Failed to Load”

If your app crashes on start: 1. Check the Error State screen details. 2. Click “Copy Error” and paste it back to your AI assistant to ask for a fix.

“Table Not Found”

Ensure your app calls bf.createTable() at startup. The AI prompt usually handles this pattern automatically.

Sync Issues

Changes in Excel are “debounced” (delayed by 300ms) to prevent performance issues. If you don’t see an update immediately, wait a moment. Also note that the bridge ignores changes made by the API itself to prevent infinite loops.