> ## Documentation Index
> Fetch the complete documentation index at: https://docsv4.mile.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Add-ons SDK

> Build your own add-on for the app with the plugin SDK, with Claude Code guiding you step by step.

The **Add-ons SDK** lets you build your own add-on: new pages that open inside the app, in the left menu, with the signed-in user's session. [PDF Generator](https://docsv4.mile.app/pages/add-ons/pdf-generator/introduction.md) is built with it.

An add-on is a small React app. You build it into **one JavaScript file** and upload that file in **Settings › Add-ons**. There is nothing to host and no server to run.

> [!NOTE]
>
> Uploading a new add-on is open to organizations that build add-ons (an allowlisted group). Ask MileApp to enable it for your organization. Anyone can follow this guide and run an add-on locally before then.

## What an add-on can do

* Add one or more pages to the left menu, nested under one entry.
* Read and write your organization's data through the app's API: tasks, flows, users, hubs, data sources and more.
* Check the signed-in user's permissions, language and light or dark theme.
* Save its own settings for your organization, which are kept when you upload a new version.
* Create its own permissions, one per page, so you choose which roles open which page.
* Bundle any JavaScript library it needs, such as a PDF or spreadsheet library.

## What it cannot do

* Call a server outside the app directly from the browser. The app's security policy blocks it. To reach your own system, use a [webhook automation](https://docsv4.mile.app/pages/workflow/automation/introduction.md): the app calls your server, not the browser.
* Run on the field mobile app. Add-ons are for the web app.
* Keep older versions. Uploading a new file replaces the old one.

## How it works

**1. Get the SDK**

Clone the SDK repository and start a branch for your add-on.

**2. Build your pages**

Register your pages and build them with the app's own components. A local preview shows them against your real data.

**3. Build one file**

One command checks your code and produces a single `.js` file.

**4. Upload and publish**

Upload the file in **Settings › Add-ons**, publish it, and add it to your organization.

## Build it with Claude Code

You do not need to be a developer. [Claude Code](https://claude.com/claude-code) can run every command and write the code with you. Open the SDK in Claude Code and it connects the **MileApp knowledge base** and loads the **add-on builder** skill by itself, so it follows MileApp's own reference and rules for add-ons. See [Build with Claude Code](https://docsv4.mile.app/pages/add-ons/sdk/build-with-claude-code.md) to set it up in two minutes.

## In this section

> **[Build with Claude Code](https://docsv4.mile.app/pages/add-ons/sdk/build-with-claude-code.md)**
>
> Open the SDK in Claude Code and let it guide you.

> **[Getting started](https://docsv4.mile.app/pages/add-ons/sdk/getting-started.md)**
>
> Set up the SDK and see your first page.

> **[Building an add-on](https://docsv4.mile.app/pages/add-ons/sdk/building-an-add-on.md)**
>
> Pages, data, settings, permissions and the rules to follow.

> **[Publishing an add-on](https://docsv4.mile.app/pages/add-ons/sdk/publishing.md)**
>
> Build, upload, publish, update and troubleshoot.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.