PHPackages                             acquia/mc-cs-plugin-custom-objects - 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. acquia/mc-cs-plugin-custom-objects

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

acquia/mc-cs-plugin-custom-objects
==================================

This plugin adds custom objects feature.

1.0.0(4y ago)4713.8k↓89.8%25[20 issues](https://github.com/acquia/mc-cs-plugin-custom-objects/issues)[13 PRs](https://github.com/acquia/mc-cs-plugin-custom-objects/pulls)GPL-3.0-or-laterPHPPHP &gt;=7.4CI passing

Since Jul 15Pushed 3mo ago18 watchersCompare

[ Source](https://github.com/acquia/mc-cs-plugin-custom-objects)[ Packagist](https://packagist.org/packages/acquia/mc-cs-plugin-custom-objects)[ RSS](/packages/acquia-mc-cs-plugin-custom-objects/feed)WikiDiscussions staging Synced 1w ago

READMEChangelogDependencies (2)Versions (25)Used By (0)

Custom Objects plugin for Mautic
================================

[](#custom-objects-plugin-for-mautic)

Allows Mautic users to define Custom Objects with custom fields. Then create multiple custom items of each type and associate them to the Contact or Company entities.

You'll be able to

- filter Segments by values in the Custom Objects
- create Campaign conditions based on the values in the Custom Objects

Workflow Update
---------------

[](#workflow-update)

Until Github Actions' CI/CD are in place, we request to developers to:

1. Merge their unreviewed and unapproved PRs to `development` branch.
2. Merge their reviewed and approved PRs to `beta` branch.

Glossary
--------

[](#glossary)

- `Custom Field` represents one piece of information. Example: Price, Description, Color
- `Custom Object` is set of custom fields that will allow users to create multiple instances of this object. Example: Product, Invoice.
- `Custom Item` is created when Custom Object fields are populated with specific information. Example: Mautic T-shirt, Invoice 2022-02-22-123.

Example Usage
-------------

[](#example-usage)

As an example we can create a `Custom Object` **Product**. To create one go to the right hand side admin menu. This Custom Object will have these `custom fields`:

- Name is always there by default. No need to create a custom field for it.
- Price *(Number field)*
- Description *(Textarea field)*
- Color *(Select box with options: Red, Green, Blue)*

Once we save such Custom Object then on the left hand side menu we'll be able to see new **Product** menu item and we'll be able to start creating new product **custom items**:

Product 1: Name: Mautic T-shirt Price: $123 Description: Great T-shirt to support your favorite project and market it whenever you walk! Color: Blue

Product 2: Name: Mautic Hoodie Price: $153 Description: Great hoodie to support your favorite project and market it whenever you walk and stay worm at the same time! Color: Red

Once some of your contacts buy a Mautic T-shirt or hoodie you can link them with the product they've bought. You can automate that with a Mautic Campaign action, API or CSV import. Once these links are established you'll be able to build Segments based on who bought what, or if they for example bought products with price greater than $100 or products of red color. Then your automated workflows can hit the right audience.

Requirements
------------

[](#requirements)

- Plugin supports PHP 7.1+.

Documentation
-------------

[](#documentation)

See [Wiki](https://github.com/acquia/mc-cs-plugin-custom-objects/wiki)

Tests
-----

[](#tests)

The plugin has currently test coverage of 91%. Each new PR must be covered by tests to be considered to be merged. To run the tests execute `composer test -- --filter CustomObjects` from the Mautic root dir.

Static Analysis
---------------

[](#static-analysis)

PHPSTAN is used for static analysis. Here is how to run it locally from the Mautic's root dir:

```
bin/phpstan --configuration=plugins/CustomObjectsBundle/phpstan.neon

```

This plugin has its own PHPSTAN configuration because there is too big tech debt pile already and so it must have its own PHPSTAN baseline file.

The tech debt is visible in the phpstan-baseline.neon file and can be regenerated with:

```
bin/phpstan --configuration=plugins/CustomObjectsBundle/phpstan.neon --generate-baseline=plugins/CustomObjectsBundle/phpstan-baseline.neon && sed -i 's/plugins\/CustomObjectsBundle\//g' plugins/CustomObjectsBundle/phpstan-neon.php

```

Please do not add more tech debt on this pile. Fix all the new PHPSTAN errors and possibly some old ones with your code changes.

License
-------

[](#license)

Copyright (C) 2022 Acquia, Inc.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

###  Health Score

47

—

FairBetter than 93% of packages

Maintenance46

Moderate activity, may be stable

Popularity36

Limited adoption so far

Community32

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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.

###  Release Activity

Cadence

Every ~567 days

Total

3

Last Release

342d ago

Major Versions

1.0.0 → 5.x-dev2025-07-02

5.x-dev → 7.x-dev2025-07-02

PHP version history (2 changes)1.0.0PHP &gt;=7.4

5.x-devPHP &gt;=8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/514789?v=4)[Acquia](/maintainers/acquia)[@acquia](https://github.com/acquia)

![](https://www.gravatar.com/avatar/0e8969114e0f3bdd130d021357e5003be19cb0517fa3507eb6c429b020f06f16?d=identicon)[jfarrell](/maintainers/jfarrell)

![](https://avatars.githubusercontent.com/u/2930593?v=4)[Ruth Cheesley](/maintainers/rcheesley)[@RCheesley](https://github.com/RCheesley)

![](https://avatars.githubusercontent.com/u/1235442?v=4)[John Linhart](/maintainers/escopecz)[@escopecz](https://github.com/escopecz)

---

Top Contributors

[![escopecz](https://avatars.githubusercontent.com/u/1235442?v=4)](https://github.com/escopecz "escopecz (1019 commits)")[![hluchas](https://avatars.githubusercontent.com/u/12815758?v=4)](https://github.com/hluchas "hluchas (941 commits)")[![anton-vlasenko](https://avatars.githubusercontent.com/u/43744263?v=4)](https://github.com/anton-vlasenko "anton-vlasenko (161 commits)")[![galvani](https://avatars.githubusercontent.com/u/556426?v=4)](https://github.com/galvani "galvani (109 commits)")[![fedys](https://avatars.githubusercontent.com/u/6388925?v=4)](https://github.com/fedys "fedys (93 commits)")[![aarohiprasad](https://avatars.githubusercontent.com/u/45942361?v=4)](https://github.com/aarohiprasad "aarohiprasad (58 commits)")[![tejasync](https://avatars.githubusercontent.com/u/54406786?v=4)](https://github.com/tejasync "tejasync (56 commits)")[![dongilbert](https://avatars.githubusercontent.com/u/718028?v=4)](https://github.com/dongilbert "dongilbert (55 commits)")[![dadarya0](https://avatars.githubusercontent.com/u/48244990?v=4)](https://github.com/dadarya0 "dadarya0 (41 commits)")[![rahuld-dev](https://avatars.githubusercontent.com/u/68939488?v=4)](https://github.com/rahuld-dev "rahuld-dev (40 commits)")[![lukassykora](https://avatars.githubusercontent.com/u/4804912?v=4)](https://github.com/lukassykora "lukassykora (37 commits)")[![mtshaw3](https://avatars.githubusercontent.com/u/4552604?v=4)](https://github.com/mtshaw3 "mtshaw3 (27 commits)")[![avikarshasaha](https://avatars.githubusercontent.com/u/7456546?v=4)](https://github.com/avikarshasaha "avikarshasaha (26 commits)")[![ondrejsibl](https://avatars.githubusercontent.com/u/10339966?v=4)](https://github.com/ondrejsibl "ondrejsibl (23 commits)")[![pavel-hladik](https://avatars.githubusercontent.com/u/4716441?v=4)](https://github.com/pavel-hladik "pavel-hladik (22 commits)")[![priyanshu0416](https://avatars.githubusercontent.com/u/143498005?v=4)](https://github.com/priyanshu0416 "priyanshu0416 (21 commits)")[![aadarshjain-dev](https://avatars.githubusercontent.com/u/109588172?v=4)](https://github.com/aadarshjain-dev "aadarshjain-dev (20 commits)")[![RCheesley](https://avatars.githubusercontent.com/u/2930593?v=4)](https://github.com/RCheesley "RCheesley (14 commits)")[![rohitp19](https://avatars.githubusercontent.com/u/66303837?v=4)](https://github.com/rohitp19 "rohitp19 (12 commits)")[![alanhartless](https://avatars.githubusercontent.com/u/63312?v=4)](https://github.com/alanhartless "alanhartless (11 commits)")

---

Tags

pluginMauticobjectscustom

### Embed Badge

![Health badge](/badges/acquia-mc-cs-plugin-custom-objects/health.svg)

```
[![Health](https://phpackages.com/badges/acquia-mc-cs-plugin-custom-objects/health.svg)](https://phpackages.com/packages/acquia-mc-cs-plugin-custom-objects)
```

###  Alternatives

[mautic/grapes-js-builder-bundle

GrapesJS Builder with MJML support for Mautic

5689.5k12](/packages/mautic-grapes-js-builder-bundle)

PHPackages © 2026

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