PHPackages                             iurijorbenadze/scheduling-feature - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. iurijorbenadze/scheduling-feature

ActiveMautic-plugin[Utility &amp; Helpers](/categories/utility)

iurijorbenadze/scheduling-feature
=================================

A Mautic plugin for scheduling and importing data.

10PHP

Since Jan 10Pushed 1y ago1 watchersCompare

[ Source](https://github.com/iuriJorbenadze/MauticSchedulingPlugin)[ Packagist](https://packagist.org/packages/iurijorbenadze/scheduling-feature)[ RSS](/packages/iurijorbenadze-scheduling-feature/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

MauticSchedulingPlugin
======================

[](#mauticschedulingplugin)

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
-----------

[](#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
--------------

[](#video-tutorial)

[Watch the Scheduling Feature Plugin Full Tutorial](https://github.com/iuriJorbenadze/MauticSchedulingPlugin/blob/d1e9e7cff723c427a41497c4b346c27eca489f88/Scheduling%20feature%20plugin%20full%20tutorial.mkv)

Click download raw file [![img.png](img.png)](img.png)

Features
--------

[](#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
-------------------------

[](#installation-instructions)

### Step 1: Download the Plugin

[](#step-1-download-the-plugin)

1. Download the plugin repository as a ZIP file or clone it from the repository.

### Step 2: Place the Plugin in the Correct Directory

[](#step-2-place-the-plugin-in-the-correct-directory)

1. Extract the plugin files and move the folder to the `plugins/` directory of your Mautic installation.
2. Rename the folder to `SchedulingFeatureBundle`.

### Step 3: Clear the Mautic Cache

[](#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

[](#step-4-install-the-plugin)

1. Navigate to the **Plugins** page in the Mautic admin panel.
2. 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
------------------

[](#user-flow-scenario)

### Create A Segment

[](#create-a-segment)

1. Create a segment you wish to import data to from custom import
2. Add filter to your segment which will match 'alias' of your segment. In filter dropdown choose 'segment\_name' option (plugin creates that field automatically)
3. Your filter should look like this: 'segment\_name' equals '{put\_name\_of\_your\_segment\_into\_filter}'
4. 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

[](#custom-import)

1. Upload a CSV file through the "Custom Import" menu.
2. Map the CSV headers to the database fields dynamically.
3. Assign ownership to the imported data.
4. Queue the file for processing with the job queue.

### Job Queue Processing

[](#job-queue-processing)

1. The plugin processes queued jobs sequentially.
2. CSV data is inserted into the `customleads` table in batches.
3. Error logs track processing issues and provide detailed feedback.

### Scheduled Data Transfers

[](#scheduled-data-transfers)

1. Define schedules in the `schedule.txt` file or through the UI.
2. The plugin moves data rows from `customleads` to `leads`.
3. Log details of each transfer in `sent_schedules.txt`.

---

Development Details
-------------------

[](#development-details)

### Directory Structure

[](#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

[](#commands)

1. **Process Import Queue**

    - Command: `php bin/console mautic:customimport:processqueue`
    - Processes queued import jobs in batches and inserts data into `customleads`.
2. **Transfer Data**

    - Command: `php bin/console mautic:customimport:transferData`
    - Transfers rows from `customleads` to `leads` based on the schedule.

---

Authors
-------

[](#authors)

- **GenesisAI** - [Visit GenesisAI](https://genesisai.io)
- **Iuri Jorbenadze** - [Email](mailto:jorbenadze2001@gmail.com)

If you would like help regarding this plugin, contact GenesisAI at [GenesisAI](https://genesisai.io).

---

License
-------

[](#license)

This project is licensed under the GPL-3.0-or-later License.

---

###  Health Score

14

—

LowBetter than 2% of packages

Maintenance32

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity16

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/f2578e3c43ebd07594b15c8f8bf51dd1c8e8c41a49908d0874fbcba49301cbac?d=identicon)[iuriJorbenadze](/maintainers/iuriJorbenadze)

---

Top Contributors

[![iuriJorbenadze](https://avatars.githubusercontent.com/u/90871956?v=4)](https://github.com/iuriJorbenadze "iuriJorbenadze (10 commits)")

### Embed Badge

![Health badge](/badges/iurijorbenadze-scheduling-feature/health.svg)

```
[![Health](https://phpackages.com/badges/iurijorbenadze-scheduling-feature/health.svg)](https://phpackages.com/packages/iurijorbenadze-scheduling-feature)
```

###  Alternatives

[spirit55555/php-minecraft

Useful PHP classes for Minecraft

6823.6k](/packages/spirit55555-php-minecraft)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
