User guide

The Builder

You wish you had a small app for something. Describe it, and the agent builds it as a creation you keep in XataWorks. This is how that works.

The Builder makes small apps of your own — a sign-in sheet, a game, a recipe book, a tracker — from a description you type in a chat. Each one is a creation: an ordinary web page with its own HTML, JavaScript, CSS and pictures, which opens in a tab of the browser panel beside your chat. You describe it, the agent writes it, and you use it straight away.

This article is for anyone who wants a small tool nobody sells: how to get one made, how to change it and go back, how to lock it so no agent changes it, and what a creation can and cannot reach.

The browser panel with a creation named Volunteer Sign-in at an aaf://build address. Its bar carries Run and Design, with Design selected, then Undo last change and Versions…. The creation itself is a page headed Volunteer Sign-in, “Sign in for your shift — see who’s here”, with a Your name box, four shift tiles — Morning 8:00–10:00, Midday 10:00–12:00, Afternoon 12:00–14:00, Evening 14:00–16:00 — a Sign in button, and a Signed in list reading “Nobody has signed in yet.”
Asked in a chat: “Use the Builder to make a creation called Volunteer Sign-in: a page where a parent types their name and picks their shift, taps Sign in, and sees the list of everyone signed in so far. Open it for me.” The question the Builder asked was answered from behind its arrow, allowing tools that make changes on that creation for the rest of the chat. This is a real turn: the agent wrote the creation and opened it in the browser panel, with the creation bar above it. It was captured on Linux, the platform creations run on at this version.

Starting a creation

The usual way is to ask. Describe what you want in your own words — what it shows, what a person types or taps, what it keeps — and the agent writes every file of the creation at once, checks that it runs, and opens it in a new tab of the chat’s browser panel.

If a creation is already open in the browser panel’s active tab, the agent takes that to be the one you mean, even when it is still blank, and builds into it rather than starting another.

You can also start one yourself. File ▸ New ▸ Creation opens the Builder’s own page with its name field ready. Type a name in the field marked “Name a new creation, like Snake” and press New creation. The creation opens at once as a starter page that shows its name and reads “This creation is blank.” Ask the agent to fill it in from there. How the programs open beside the chat is covered in The office.

The Builder page

View ▸ Builder ▸ All Creations and File ▸ Open ▸ Creation… both open the list of your creations, titled Builder. The View ▸ Builder submenu also lists the creations open in tabs, your Favourites and your Recent ones. On the page you have:

  • New creation and Import… beside the name field.
  • Search creations, and a sort by Last changed, Last opened or Name.
  • New folder…, to group creations into folders.
  • On each row, a star to make it a favourite, when it last changed, and a ⋯ menu holding Rename…, Details… (a short description and an icon), Databases…, Share…, Move to…, Export… and Delete…. A creation that holds data also offers Export with data… and Clear data….

Deleting a creation moves it to your computer’s trash where there is one. Where there is not, the question says so: “This can’t be undone.”

Design and Run

When the tab in front of you is a creation, a bar appears under the browser panel’s toolbar: the creation’s name, Run and Design, Undo last change and Versions…. The bar belongs to the application’s window, not to the page, so nothing the creation’s own code does can press it.

Every creation is in one of the two modes, and the pressed button shows which:

  • Design — “Agents can change this creation, and every change can be undone”. A new creation starts here.
  • Run — “Agents can use this creation but not change it”. A creation you import starts here, locked.

Only you switch the mode, on this bar. No agent and no page can. An agent that tries to change a creation in Run is refused before you are asked anything — ““Volunteer Sign-in” is in Run — switch it to Design to change it.” — and is told to ask you rather than work around it. Switch a creation to Run once it does what you want, and a chat that is only using it cannot rewrite it, whether by accident or because text inside the creation told it to.

Undo and versions

Every change you ask for is made as one step, with a one-line summary, and becomes a version. When a change lands, every open tab of that creation reloads to show it.

  • Undo last change goes back one step. Its tooltip names the change it undoes, or reads “Nothing to undo”. The undo is itself recorded as a version labelled “Undid:” and the change’s summary, so it can be undone in turn. Only this button undoes; agents do not.
  • Versions… lists the creation’s versions, newest first, each with its number, its summary, when it was made and by whom — “you” or an agent in a named chat. Select an earlier one and press Restore to make it current again. Restoring adds a new version labelled “Restored version” and the number, so nothing is lost.

A creation’s data is not part of its versions: undoing or restoring changes the pages, and what the creation has stored stays.

What a creation keeps

A creation can remember things in two places, and both last across restarts of XataWorks:

  • Its browser storage, the kind any web page keeps. Each creation has its own, which no other creation can read.
  • Its own database, a small SQLite database the agent can give it when it needs to keep records — the sign-ins on a sign-in sheet, the recipes in a recipe book. The data is the creation’s alone and survives every change and undo.

Clear data… on the Builder page empties the creation’s database. Its files and versions stay, and the storage it keeps in the browser itself is not cleared.

What a creation can reach

A creation is deliberately boxed in. Everything it needs has to be in its own files:

  • No network. It cannot load scripts, web fonts or anything else from the internet, or call a website’s services. Every page it serves carries a policy that limits what it loads and what it contacts to its own files.
  • Its own address. Each creation has an address of its own, so one creation cannot read another’s storage.
  • Not your other files. A creation has no way into your documents or the other programs, and none into your databases unless you connect one, below.

The policy governs what a creation loads, not where its tab goes. A link or a button in a creation can still take its tab, or a new window, to a website. Check what a creation you import does before you follow its links.

Connecting your databases

A creation can work with one of your own databases once you connect it. Choose Databases… on the creation’s row in the Builder, pick a database, choose Can view records or Can change records, and press Connect. Remove takes a connection off again. Each time, before Connect, the dialog says:

“A creation can send anything it reads to anywhere on the internet. Connect only databases you’d trust this creation with.”

Through a connection a creation reads and, at Can change records, changes records. It never changes the database’s design and never deletes the database. Only you can connect one: ask the agent to use a database in a creation and it will tell you to connect it first. Connecting is part of XataWorks Pro; without it the dialog says “Connecting a creation to your databases is part of XataWorks Pro.”

Sharing and opening from anywhere

Share… on a creation’s row shares it with people by their email address, each at Can view or Can use. Can view opens the creation with its own data read-only; Can use lets them change its data. Nobody changes a creation’s files from a browser.

You, and the people you share with, open a creation in a browser on another device by signing in to a XataWorks account. It still runs from this computer, so this computer has to be on with XataWorks running. Sharing a creation, and opening your own from elsewhere, are part of XataWorks Pro; opening one someone shared with you is not.

Exporting and importing

A creation travels as one .creation file. Export… on its ⋯ menu saves one to your downloads folder, and Export with data… includes what its database holds. The page then reads “Exported to” and the file’s name. You can also ask the agent to export one.

To bring one in, press Import… on the Builder page, or attach the file to a chat and ask the agent to import it. An imported creation arrives in Run, locked, so nothing changes it until you switch it to Design. A file that is not a creation is refused: “This isn’t a creation file.”

Asking the agent

An agent in any chat can find, open, read and change your creations. Things to ask for:

  • a new creation, described in your own words;
  • a change — “make the Sign in button green”, “add a column for the stall” — made as one undoable step;
  • a check for problems, which reports the errors the page raised with their file and line, and fixes them;
  • the list of versions, or an earlier one restored;
  • a description and an icon for the Builder page;
  • an export, or an import of a file you attached.

What is asked, and what is not:

  • Without asking: listing your creations and opening one in a tab.
  • Asked first: everything else, including reading a creation’s files and checking it for problems. The question names the creation, and its main button is Allow once. Behind its arrow are Always allow “…” on … for that one action, and Allow tools that make changes on …, which covers changing that creation and reading it, for the rest of the chat. The refusing side offers Don’t allow, Never allow “…” on … and Block all access to … that creation.
  • Never: switching a creation between Design and Run, and pressing Undo last change. Those are yours.

A grant is tied to the creation itself, so renaming it keeps what you allowed. If you answer Allow once, each later step asks again — including the check for problems that follows a new creation. What the question’s answers mean in general is covered in Approvals and permissions. What the agent reads from a creation reaches it marked as data, not as instructions to follow.

Good to know

  • Creations run on Linux, macOS and Windows.
  • Names are unique. A name can be up to 100 characters, and a second creation with a name already in use is refused.
  • Sizes are bounded. A file in a creation can be up to 5 MB, a whole creation up to 25 MB, and its database up to 100 MB.
  • History is bounded. The newest 50 versions of a creation are kept.
  • Where creations live. Each creation is a folder under creations in XataWorks’s own settings folder, holding its files, its versions and its database — not in your own Documents folder. Export a creation to keep a copy elsewhere.

Back to all user-guide articles.