iurijorbenadze / scheduling-feature
A Mautic plugin for scheduling and importing data.
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:mautic-plugin
Requires
- php: >=8.0 <8.2
- ext-zip: *
- mautic/core-lib: ^4.4 || ^5.0
This package is not auto-updated.
Last update: 2025-06-07 15:46:55 UTC
README
The Mautic Contact/Email Scheduling Plugin saves you time by allowing users to upload large amounts of data all at once and then control the outflow. It enables users to control the pace at which contacts appear in Mautic, automating the process while maintaining full control over the data flow.
Description
The Scheduling Feature Plugin is a powerful extension for Mautic that enables users to import data via CSV files, process imports through a job queue, and schedule data transfers between custom tables. Designed for seamless integration and enhanced flexibility, this plugin simplifies large-scale data management.
Video Tutorial
Watch the Scheduling Feature Plugin Full Tutorial
Features
- Custom Import: Upload and map CSV data to the database dynamically.
- Job Queue Processing: Handles file imports in queued batches to ensure data integrity.
- Scheduled Data Transfers: Automates the transfer of data between tables based on pre-defined schedules.
- Error Logging: Tracks processing errors for enhanced debugging and user feedback.
Installation Instructions
Step 1: Download the Plugin
- Download the plugin repository as a ZIP file or clone it from the repository.
Step 2: Place the Plugin in the Correct Directory
- Extract the plugin files and move the folder to the
plugins/
directory of your Mautic installation. - Rename the folder to
SchedulingFeatureBundle
.
Step 3: Clear the Mautic Cache
Run the following command to clear the cache and ensure Mautic recognizes the new plugin:
sudo /usr/bin/php /path-to-mautic/bin/console cache:clear
Step 4: Install the Plugin
- Navigate to the Plugins page in the Mautic admin panel.
- Click the "Install/Upgrade Plugins" button to register the new plugin.
Alternatively, you can install the plugin via command line:
sudo /usr/bin/php /path-to-mautic/bin/console mautic:plugins:install
User Flow Scenario
Create A Segment
- Create a segment you wish to import data to from custom import
- Add filter to your segment which will match 'alias' of your segment. In filter dropdown choose 'segment_name' option (plugin creates that field automatically)
- Your filter should look like this: 'segment_name' equals '{put_name_of_your_segment_into_filter}'
- In your csv or excel file add column called 'segment_name' and as values in each row add same value from segment filter which is '{put_name_of_your_segment_into_filter}'
Custom Import
- Upload a CSV file through the "Custom Import" menu.
- Map the CSV headers to the database fields dynamically.
- Assign ownership to the imported data.
- Queue the file for processing with the job queue.
Job Queue Processing
- The plugin processes queued jobs sequentially.
- CSV data is inserted into the
customleads
table in batches. - Error logs track processing issues and provide detailed feedback.
Scheduled Data Transfers
- Define schedules in the
schedule.txt
file or through the UI. - The plugin moves data rows from
customleads
toleads
. - Log details of each transfer in
sent_schedules.txt
.
Development Details
Directory Structure
Command/
: Contains Symfony CLI commands for processing queues and data transfers.ProcessQueueCommand.php
TransferDataCommand.php
Config/
: Contains plugin configuration files.config.php
Controller/
: Manages plugin-specific routes and user interactions.ImportController.php
ScheduledSendingController.php
Resources/
: Contains uploads, schedules, and view templates.uploads/
: Directory for uploaded CSV files and logs.schedules/
: Files for managing schedules and transfer logs.views/
: Twig templates for UI rendering.
SchedulingFeatureBundle.php
: Main bundle file for setup and installation.
Commands
-
Process Import Queue
- Command:
php bin/console mautic:customimport:processqueue
- Processes queued import jobs in batches and inserts data into
customleads
.
- Command:
-
Transfer Data
- Command:
php bin/console mautic:customimport:transferData
- Transfers rows from
customleads
toleads
based on the schedule.
- Command:
Authors
- GenesisAI - Visit GenesisAI
- Iuri Jorbenadze - Email
If you would like help regarding this plugin, contact GenesisAI at GenesisAI.
License
This project is licensed under the GPL-3.0-or-later License.