AcelleMail doesn't have a formal plugin system (yet — it's planned for v5.0), but you can extend it cleanly:
- Service Providers: Create a custom Laravel service provider in
app/Providers/
- Custom Routes: Add routes in
routes/custom.php (create if doesn't exist)
- Views: Override views by placing them in
resources/views/vendor/
- Events: Listen to AcelleMail events for integrations:
SubscriberCreated
CampaignSent
SubscriberUnsubscribed
- Custom Fields: Use the built-in custom field system for extra data
For the analytics dashboard, I'd recommend creating a separate route + Blade view that queries the campaign/subscriber tables directly.
For CRM integration, use the webhook system + a custom event listener.
For custom import, extend the ImportSubscribers job class.
The key is to keep customizations in separate files/folders so updates don't overwrite your code.