Carryall

Create a tool with Microsoft 365 Copilot

A Carryall tool is one HTML file that holds a list of records, the screens to edit them and the calculations. You don't write any code. Copilot writes a tool definition (a block of text that describes your tables, columns, calculations and views), and the Carryall tool builder checks it, lets you try it and turns it into your finished tool.

Microsoft 365 Copilot only ever writes tool definitions, never code. Definitions suit most trackers, registers and calculators. A tool that needs more (custom screens such as a timeline or a board, or calculations a formula can't express) is built with GitHub Copilot in VS Code, which can write it as a JavaScript app. That route is also faster for anyone comfortable with VS Code.

The builder does the checking that Copilot can't. If anything in the definition is wrong, it tells you exactly what and where, and gives you the problems as text to paste back into Copilot. A few rounds of that are normal.

You need

1. Plan (five minutes)

Write down, roughly:

Skip project number, project name, revisions and checked by. Every Carryall tool already has them.

2. Describe it to Copilot

  1. In Copilot, open the Carryall Tool Builder agent.
  2. Describe your tool from your plan, and answer its questions.
  3. Check the plan it proposes and ask for changes before it writes anything.
  4. It replies with the tool definition in one block. Use the block's Copy button to copy all of it.

3. Check it in the tool builder

  1. Open carryall.html in Edge or Chrome. It opens the tool builder.
  2. Paste the definition into the box and select Check definition.
  3. If it lists problems, select Copy problems for Copilot, paste them into the Copilot chat and send. Copilot replies with a corrected definition: paste that into the box (replacing the old one) and check again.
  4. Repeat until the builder says Ready to use. That includes a self-test, which runs every calculation against the example rows Copilot included and checks the results.

The builder also quietly corrects small slips (a type written as "dropdown" rather than "choice", say) and lists them under Tidied automatically. The downloaded tool uses the corrected version.

4. Try it and download it

  1. Select Preview the tool. Add, edit and delete a few rows in each tab, and check the numbers. Nothing you enter in the preview is kept.
  2. Select Back to the builder, then Download. You get your finished tool, for example snagging-tracker.html, with no data in it.
  3. Open the downloaded file and choose Start new to start using it.

5. Share it

Anyone can use the file: send it, or put it on SharePoint or a file share. People open it, add their data and select Download to save a copy with their data in it.

If two people edit their own copies of the same document, nothing is lost: open one copy, choose More, Combine with another copy and pick the other. Every change from both is kept. You are only asked to choose where both people changed the same thing differently.

For a tool that many people use, ask whoever hosts your organisation's tools to publish it, then ask Copilot to set home to its web address. Saved copies then offer to open their data in the latest version of the tool.

6. Change it later

  1. Open the tool and choose More, then Change this tool. The builder opens with the current definition.
  2. Select Copy definition, paste it into Copilot and describe the change. If people already use the tool, say so.
  3. Paste Copilot's new definition into the builder, check it, preview it and download the new version. Replace the old tool file (or the hosted copy) with it.

Copilot increases the tool's version for every change. If a change affects data people have already saved (renaming or removing a field, say), it also adds a migration, so old saved files upgrade when they are opened in the new tool, and copies upgraded by different people can still be combined. The builder warns you if a change looks like it would strand saved data without one. Never let the tool's id change.

Tips


No agent? Use Copilot Chat

  1. Start a new Copilot chat and attach carryall-reference.md.
  2. Paste the agent instructions as your first message, then add: "Follow these instructions. I want to build: …"
  3. Carry on from step 2 above. Start a new chat for each tool.

Setting up the agent (for tool owners)

In Microsoft 365 Copilot, create an agent with Agent Builder (or Copilot Studio):

SettingValue
NameCarryall Tool Builder
DescriptionBuilds Carryall tracker and calculator tools from a plain-English description.
InstructionsThe whole of the agent instructions (about 7,500 characters, under the 8,000 limit)
Knowledgecarryall-reference.md: upload it, or store it in a SharePoint folder and add that
Starter prompts"Build a new tool to track…" · "Change my tool: here is its definition…" · "The tool builder found these problems…"

The instructions hold the rules Copilot must always follow, because an agent only reads the parts of a knowledge file that match the question. The knowledge file holds the full reference and two complete example definitions.

Share the agent with the people who build tools. When the Carryall core is updated, node tools/sync-core.mjs regenerates carryall-reference.md: replace the agent's knowledge file with the new copy, and its instructions if they changed.

Why a definition, not code

Copilot in Microsoft 365 writes its answer once and can't run it, so it can't find its own mistakes. A definition is a small, strict format, so the builder can check every part of it and explain each problem in words Copilot can act on. Code has too many ways to be almost right. So the agent here always writes definitions. GitHub Copilot in VS Code can run and test code, so for complex tools it writes JavaScript apps instead (see AGENTS.md).