Addons (ZIP Installer)

Extend MailTrixy with packaged ZIP addons. Upload, activate, configure — no FTP, no composer require, no manual migrations. Each addon ships its own routes, migrations, service provider, views, and admin settings page.

Where to find it

Admin → left sidebar → Addons (under the System section). Direct URL: /admin/addons.

Installing an addon

  1. Buy/download the addon ZIP file (e.g. instagram-addon-v1.0.0.zip).
  2. Log into MailTrixy as super admin → Admin → Addons.
  3. In the Install Addon panel, click Choose File and pick the ZIP.
  4. Click Upload & Install. MailTrixy extracts the ZIP, validates the addon.json manifest, copies files into addons/{slug}/, and registers the addon in the addons table with status inactive.
  5. The addon appears in the Installed Addons list at the bottom of the page.
  6. Click Activate. MailTrixy runs the addon's migrations (creates tables, alters columns, seeds data), registers its routes, service provider, and views, then flips status to active.
  7. If the addon ships an admin settings page (declared via settings_url in its manifest), a Settings button appears on its card. Click it to configure.

Atomic activation: if migrations fail, the addon stays inactive and shows an error. You can fix the issue and retry without leaving a half-activated mess in the DB. Status only flips to active on full success.

Managing installed addons

Each addon card on the Addons page has three action buttons:

  • Settings (visible if the addon declares settings_url in its manifest) — opens the addon's own admin page.
  • Deactivate — takes the addon offline. Routes and service provider stop loading on the next request. Files stay on disk; DB tables stay intact — reactivation is instant.
  • Activate (when deactivated) — brings the addon back online.
  • Uninstall — deletes the addon's files from addons/{slug}/. DB tables and data are kept on disk in case you want to reinstall later. Manual cleanup is required if you want to fully purge.

Anatomy of an addon ZIP

Every addon ZIP must contain an addon.json manifest at its root (either flat or inside a single top-level folder). Example structure for the Instagram addon:

instagram/
├── addon.json                     (manifest)
├── README.md                      (optional setup notes)
├── routes.php                     (Route definitions)
├── migrations/
│   └── 2026_05_26_120100_add_instagram_channel.php
├── src/
│   ├── Http/Controllers/
│   ├── Models/
│   ├── Providers/
│   └── Services/
└── views/
    └── settings.blade.php

addon.json manifest

{
    "slug": "instagram",
    "name": "Instagram Direct Messages",
    "version": "1.0.0",
    "author": "MailTrixy",
    "description": "Send and receive Instagram DMs from inside the inbox.",
    "settings_url": "/admin/addons/instagram/settings",
    "provider": "MailTrixy\\Addons\\Instagram\\Providers\\InstagramServiceProvider",
    "namespace": "MailTrixy\\Addons\\Instagram"
}
  • slug — filesystem-safe identifier (no spaces, no slashes). Used as the folder name and DB row key.
  • name — human-readable name shown in the addons list.
  • version — semver. Bump when shipping updates.
  • provider — fully qualified Service Provider class name. Loaded by AddonManager on every request when the addon is active.
  • namespace — PSR-4 namespace prefix mapped to src/. Lets your addon use namespaced classes without composer.
  • settings_url — (optional) URL of the addon's admin settings page. When present, a Settings button appears on the addon card.

For developers — how to build an addon

  1. Create a folder addons/your-slug/ with the structure above.
  2. Write your addon.json manifest.
  3. Build a Service Provider class. Register routes, views, blade components, and singletons in its register() and boot() methods.
  4. Write migrations under migrations/. They run automatically on activate.
  5. Test locally by manually inserting an addons table row with your slug, then click Activate in the admin UI.
  6. When ready to distribute, ZIP the addon folder: in PowerShell, Compress-Archive -Path addons\your-slug -DestinationPath your-slug-v1.0.0.zip.

Security note: uploaded addon code runs with full application privileges — only install addons from sources you trust. The admin UI shows a clear warning about this. MailTrixy validates ZIP structure and prevents path traversal during extraction, but doesn't sandbox the code itself.

Available addons

  • Instagram Direct Messages — send/receive Instagram DMs from the inbox via Meta Graph API. First-party, bundled with v1.4.

More addons (Facebook Messenger, TikTok DMs, Discord, etc.) ship separately and can be installed at any time.

Last updated 28/05/2026