Rootless

Automate iOS, iPadOS, and macOS using plain JavaScript. Build custom widgets and interact directly with native APIs.

Download on the App Store
Rootless app interface

Plain JavaScript

Supports ES6. Scripts are stored as plain .js files on your disk.

Native APIs & Documentation

Integrate directly with iOS native APIs. Fully documented, available offline.

Siri Shortcuts

Trigger scripts via Siri. Present tables, websites, and custom HTML natively.

System Integration

Run from the Share Sheet, process inputs, and manage local files via Files.app.

x-callback-url

Communicate seamlessly and trigger workflows with other apps on your device.

Customizable & Ready

Tailor the code editor to your liking. Includes several example scripts to start immediately.

Documentation

Also inside the app, or as rootless.json.

Mail

The mail composer

Opens the system composer prefilled and blocks until it closes, returning "sent", "saved", "cancelled" or "failed". In-app only, and isAvailable is also false on a device with no account set up.

Properties

isAvailableBoolean

False in a widget, or with no mail account set up.

Methods

Mail.compose(options)String

Recipients take a string or an array.

  • options Any required
    • to [String]

      Recipients.

    • cc [String]

      Carbon copy.

    • bcc [String]

      Blind carbon copy.

    • subject String

      The subject line.

    • body String

      The message.

    • isHTML Boolean

      Treat body as HTML.

Examples

Sending a report

if (Mail.isAvailable) {
  Mail.compose({ to: "[email protected]", subject: "Steps", body: summary });
}