# Custom widget: build your own tool

> Describe a small tool in your own words, or answer a few questions, and Plexii builds it on your desk. Change it, save it and reuse it on any desk.

Source: https://plexiidesk.com/help/widget-custom
Section: Widgets > Build and automate
Plans: Pro and Team plans
Updated: 2026-10-10

The Custom widget turns a description into a working tool on your desk. Write what you need, for example "a print-size calculator that converts pixel dimensions to mm at a chosen DPI", and Plexii builds it inside the widget and gives it a name.

Use it for the small, specific tools that no other widget covers: a tracker with a progress bar, a calculator for the sums you do every week, a checklist, a log, a reference card or a counter. A built widget can remember what you type into it, read the widgets you connect to it, and, if you allow it, add rows to a table or save notes for you.

More about this widget

## Before you start

- The Custom widget is part of the **Pro** and **Team** plans. See [Plans and pricing](https://plexiidesk.com/help).
- Building and changing a Custom widget uses **your own Anthropic API key**, even when you are signed in and use PlexiDesk credits for other AI. Add your key under **Settings > AI**. See [Add your own API keys](https://plexiidesk.com/help/api-keys).
- Once a widget is built, using it needs no AI. Only building and changing it do.

## Add a Custom widget

1. Open the desk you want the tool on.
2. Click **Add widget** in the centre of the header.
3. Click **Custom**.

The **Add widget** menu groups widgets into columns by what they are for. **Custom** is in the **Build & automate** column. You can also type custom in the search box at the top of the menu and press `Enter`.

You can also press `⌘` `K` on a Mac or `Ctrl` `K` on Windows, type custom and choose **Add Custom**.

A new Custom widget says **Describe the widget you need**. Under that is a box to write in, a few example ideas, and three buttons: **Build it**, **Guide me** and **My widgets**.

## Build it from a description

1. Click in the box and describe the tool. Say what it should keep, what it should work out for you and how it should look. To start from an example, click one of the ideas under the box, then change the wording to suit you.
2. If the tool should read something else, type @ and pick it from the list, for example a table, a desk, a document or a file. There is more about this under **Give it something to read**, below.
3. Click **Build it**, or press `⌘` `Enter` on a Mac or `Ctrl` `Enter` on Windows.

The widget shows **Building your widget…** while Plexii writes it. This usually takes 15 to 40 seconds. When it is ready, your tool appears in the widget and the title bar shows a short name for it, taken from your description.

A new tool starts empty. It does not come with sample rows or made-up numbers, so everything you see in it is what you put there.

> **Tip:**
> Describe one tool at a time, and say what you will type into it. "A list of client retainers, each with hours bought and hours used, and a bar that turns amber past 80%" builds a better tool than "something for retainers".

## Build it by answering questions

If you would rather not write a description, click **Guide me**. Seven short questions take you through what the tool is, one at a time.

1. Click **Guide me**. The panel says **Build a widget**, with the question number at the top right, starting at **1 / 7**.
2. Click the option that fits. A question with one answer moves on as soon as you click. For a question that takes several answers, click each one that fits, then click **Next**.
3. To answer in your own words, click **Something else…**, type your answer and click **Add**. You can type @ here to point at something, too.
4. Click **Skip** to leave a question unanswered, or **Back** to change an earlier answer.
5. On the last page, **Ready to build**, check the summary of your answers. Then click **Build it**. You need to have answered at least one question.

To close the questions without building, click the × at the top right or press `Esc`.

| Question | What you can choose |
| --- | --- |
| What kind of tool is it? | A tracker, A calculator, A checklist, A log, A reference, A timer or counter |
| What does it keep for you? | A list of items, Numbers I type in, Dates, Notes or text, Nothing |
| What should it work out for you? | A total or a calculation, Progress towards a target, What is due or overdue, Sort or filter what I put in, A simple chart, Nothing |
| Should it read something else on this desk? | A table, Notes or documents, Something elsewhere, No |
| Should it be able to change things? | No — just show me, Add rows to the table it reads, Update cells in that table, Save notes to PlexiBrain, Open a link |
| How should it read at a glance? | A compact list, One big number, A small table, Cards, A chart, A form to fill in |
| Should it remember what you put in? | Yes — keep it between sessions, No — start fresh each time |

Your answers are kept with the widget. When you change the tool later with **Change what it does…**, the questions open with what you chose last time, so you only change the answers that matter.



## Give it something to read

A Custom widget sees only what you point it at. There are two ways:

- **Wire a widget into it.** On the title bar of the widget it should read, click the link button (its tooltip says **Link to another widget**), then click the Custom widget. When **How should this connect?** appears, choose **Feed in as context**. See [Link widgets and set up wires](https://plexiidesk.com/help/canvas-link-widgets).
- **@ mention it** in the description, or in an answer to the questions.

A wired or mentioned table arrives with its real rows and columns, so the tool can add them up, filter them or chart them. When something it reads changes, the tool updates. A Custom widget reads up to 12 wired or mentioned items.

## Use your tool

Use the built tool like any other part of your desk: type into it, click its buttons, tick its boxes. If you asked it to remember what you put in, your entries are saved with the widget and are there when you come back.

The tool follows PlexiDesk's light or dark theme, so it matches the rest of your desk.

## Change it

Every change keeps the version before it, so you can always go back.

| To do this | Do this |
| --- | --- |
| Describe a change in your own words | Click **Tell it what to change** at the bottom right of the widget. It is easiest to see when you point at the widget. Write what should be different, for example "add a total row", then click **Rebuild**. |
| Change your answers to the questions | Click the small button beside **Tell it what to change** (its tooltip says **Change what this widget does, by answering the questions again**), or right-click the title bar and choose **Change what it does…**. Change any answers, then click **Update widget**. |
| Go back to the previous version | Right-click the title bar and choose **Revert to previous version**, then confirm. Up to five earlier versions are kept, so you can step back more than once. |
| Start again from nothing | Right-click the title bar and choose **Start over**, then confirm. The built tool and anything saved in it are removed, and the widget is empty again. |

While a change is being made, the widget shows **Rebuilding your widget…**.



## The title bar menu

Right-click the Custom widget's title bar. A built tool adds these commands near the top of the menu:

| Command | What it does |
| --- | --- |
| **Change what it does…** | Opens the questions again, with your previous answers. |
| **Change this widget…** | The same as **Tell it what to change**. |
| **Save to my widgets…** | Saves the tool to your library so you can use it on any desk. See **Save and reuse your tools**, below. |
| **Revert to previous version** | Goes back one version. Shown once the tool has been changed at least once. |
| **View source** / **Hide source** | Shows the code Plexii wrote for the tool, with a **Copy** button to copy it. |
| **Internet access: off** / **on** | Lets the tool reach the web, or not. See **Permissions**, below. |
| **Can make changes: off** / **on** | Lets the tool make changes without asking each time, or not. |
| **Start over** | Clears the widget so you can build something new. |
| **My widgets…** | Opens your library of saved tools. |

On an empty Custom widget, the menu offers **My widgets…**. The rest of the menu is the one every widget shares. See [Right-click menus](https://plexiidesk.com/help/right-click-menus).

## Permissions: internet access and making changes

Both permissions start off, and you can change them at any time from the title bar menu.

### Internet access

With **Internet access: off**, the tool works only with what you type into it and what you wire into it. Turn it on only for a tool you want to fetch live information from the web, such as exchange rates. When you turn it on, PlexiDesk asks you to confirm, because a tool that can use the internet can also send what you type into it.

> **Tip:**
> Turn on **Internet access** before you build or change the tool, so it is written to use the connection. If you turn it on afterwards, use **Tell it what to change** to ask it to fetch the live information.

### Can make changes

A tool you build can ask to do things for you:

- add rows to a table, or update cells in one
- add a task on this desk, or change a task you pointed it at
- put an event in your calendar
- save a note to your knowledge base in Brain

It can only change tables and tasks you wired into it or @ mentioned.

With **Can make changes: off**, the tool asks you each time: a box describes the change, and nothing happens unless you confirm. Turn on **Can make changes**, then confirm, to let it go ahead without asking. Leave it off if you would like to check each change.

Opening a link and starting an email draft do not need this permission. A draft opens for you to read and send yourself.

## Save and reuse your tools

Saving a tool puts it in **My widgets**, your library, so you can place it on any desk, as many times as you like.

### Save a tool

1. Right-click the title bar and choose **Save to my widgets…**.
2. Check the name, or type a new one.
3. Click **Save**.

If you change the tool later and save it again, the saved copy is updated. The library keeps the tool itself, not what you typed into it, so each copy you place starts empty.

### Place a saved tool

1. Add a new Custom widget to the desk.
2. Click **My widgets**.
3. Click the tool you want. It appears in the widget straight away.

Each saved tool shows how many times you have placed it, and whether it uses the internet. Use an empty Custom widget for this: picking a saved tool replaces whatever that widget held.

### Delete a saved tool

1. Open **My widgets** from any Custom widget.
2. Point at the tool and click the bin icon.
3. Confirm. The tool leaves your library, and copies already on your desks keep working.

## Ideas for good tools

- A retainer tracker that shows hours used against hours bought for each client.
- A print-size calculator that converts pixels to millimetres at a chosen DPI.
- A colour contrast checker with two colour pickers and the contrast ratio.
- A counter of revision rounds per deliverable, so you can see who is over their included rounds.
- A tool that reads a wired table of expenses and shows the total by category.

## Common questions

### It says I need an Anthropic API key

Building and changing a Custom widget uses your own Anthropic key, even when you are signed in. Add one under **Settings > AI**, then click **Build it** again. See [Add your own API keys](https://plexiidesk.com/help/api-keys).

### A note across the top says the widget was not finished

Click **Rebuild it from your description** to build it again from what you wrote, or **Or say what it should do differently** to add a line to your description first.

### A message has appeared along the bottom of the tool

The tool is telling you something it could not do. Read the message, then click **Describe the fix** and say what should happen instead. The tool is rebuilt with your fix, and the version before is kept.

### It does not see my table

Check that the table is wired into the Custom widget (you will see a line between them) or @ mentioned in its description. Then use **Tell it what to change** to say how it should use the table.

### Can I share a tool with someone?

Your library is your own. To share the code, right-click the title bar, choose **View source** and click **Copy**. When you share a desk as a live public view, a Custom widget appears there as a placeholder. See [Publish a live view of a desk](https://plexiidesk.com/help/share-live-web-view).

## Related tasks

- [Build & automate widgets](https://plexiidesk.com/help/widgets-build-and-automate)
- [Link widgets and set up wires](https://plexiidesk.com/help/canvas-link-widgets)
- [Link desks, widgets and people with @](https://plexiidesk.com/help/widget-mentions)
- [Desk agent widget](https://plexiidesk.com/help/widget-desk-agent)
- [Custom block widget: design a form](https://plexiidesk.com/help/widget-custom-block)
