Plugins & Extensions
Extend Elysium's functionality with plugins built by the community.
Extend Your Workflow
Plugins let you add new features, integrate with external services, and customize Elysium to fit your unique workflow. Whether you want to connect to your favorite tools or add specialized functionality, there's likely a plugin for that.
Shortcuts Actions
Use Elysium with Apple Shortcuts to automate workflows and integrate with other apps.
Integrations
Connect to external services like calendars, task managers, and productivity tools.
Import/Export
Move data between Elysium and other apps with format converters and sync plugins.
Custom Views
Add new ways to visualize and interact with your schedule data.
Installing Plugins
1. Open the Plugin Directory
In Elysium, go to Settings > Plugins & Recipes to browse available plugins.
2. Install with one click
Click “Install” on any plugin to add it to your Elysium installation.
3. Configure as needed
Some plugins require configuration. Follow the plugin's setup instructions.
Build Your Own Plugin
Elysium's plugin API makes it easy to extend functionality and share your creations with the community. Plugins are written in JavaScript and have access to a rich API for interacting with schedule data.
Plugin Structure
Each plugin needs a manifest.json file with metadata and a main.js entry point.
{
"id": "com.yourname.plugin-name",
"name": "Plugin Display Name",
"version": "1.0.0",
"minAppVersion": "1.0.0",
"author": "Your Name",
"description": "What your plugin does",
"main": "main.js",
"permissions": ["read:habits", "read:tasks"]
}Permissions
Plugins must declare all permissions they need. Available permissions include reading and writing schedule data, showing notifications, making network requests, and customizing the UI. Request only what you need.
Plugin API
Access Elysium data and functionality through the elysium global object.
// Access habits
const habits = await elysium.habits.list();
// Show a notification
elysium.ui.showNotification({
title: "Hello!",
message: "Your plugin is working"
});
// Listen for events
elysium.events.on("habit:completed", (habit) => {
console.log("Completed:", habit.title);
});