mautic plugin – Mautic https://mautic.org World's Largest Open Source Marketing Automation Project Wed, 25 Jun 2025 07:21:38 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.1 https://mautic.org/wp-content/uploads/2024/10/iTunesArtwork2x-150x150.png mautic plugin – Mautic https://mautic.org 32 32 Exciting News: Bit.ly shortener re-Integration after API deprecation in 2020 https://mautic.org/blog/exciting-news-bit-ly-shortener-re-integration-after-api-deprecation-2020 Mon, 12 Jun 2023 12:22:17 +0000 https://www.mautic.org/exciting-news-bit-ly-shortener-re-integration-after-api-deprecation-2020/ We’re thrilled to announce a newly updated integration plugin with Bit.ly URL shortener. This replaces the current core plugin, which is not working since 2020 and will be removed in Mautic 5.0.

The new plugin is also based on a core modification that introduces a service to make Mautic integrable with any URL shortening service.

In the end, using the new plugin available soon on the Mautic Marketplace will allow our Mautic users to shorten links in SMS, which has a huge cost value knowing the SMS length limit.

A single SMS message technically supports up to 160 characters, or up to 70 if the message contains one or more Unicode characters (such as emoji or Chinese characters).

Bit.ly original communication

Most Bit.ly API users should have been receiving the following original message since 2020.

We've updated our API to v4 (version 4), and it's important that you're connecting to Bitly using this latest version, because all old versions will stop working when we shut them off on March 1, 2020.

Impact on current core Mautic plugin

Mautic Community users currently using the existing plugin already noticed it is not working anymore. Knowing this, the Mautic Community Product Team has decided to remove the existing plugin from Mautic core on the next major version, Mautic 5.

How to install the new plugin

You will find two options to install the plugin; using composer, or downloading and installing manually the plugin in your Mautic installation.

  1. Run composer require webmecanik/mautic-bitly-bundle
  2. To install the plugin manually, grab the code from this link which is available under an Open Source license.

Get news about this integration and/or contribute to it!

If you’re interested in learning more about the Mautic Bit.ly plugin and how it might evolve over time, you should ‘Star’ or ‘Watch’ the Github repository containing the plugin.

You can also contribute to it by reporting Issues, suggest your improvements by proposing Pull Requests to it, or Sponsor the project. Maintainers will consider your highly valuable contributions.

Thank you for your continued support and we look forward to bringing you more exciting updates in the future.

Who is behind the Mautic Bit.ly Plugin

Webmecanik is a Mautic Community partner based in France. The Mautic Bit.ly Plugin is 100% compatible with a standard Mautic Community installation. The second main community contributor for the last 5 years (see Community contributions reports for 2020, 2021, 2022), you can follow them on LinkedIn and read more of their marketing automation tips on Webmecanik‘s blog.

Norman Pracht is the General Manager at Webmecanik and Mautic Community Product Team Assistant.

]]>
Acquia open sources Custom Objects plugin to extend Mautic’s capabilities https://mautic.org/blog/acquia-open-sources-custom-objects-plugin-extend-mautics-capabilities Mon, 23 May 2022 17:47:13 +0000 https://www.mautic.org/acquia-open-sources-custom-objects-plugin-extend-mautics-capabilities/ Today we are delighted to share that Acquia has completed the process of open sourcing the Custom Objects plugin, a proprietary extension which was developed by Mautic Inc. in 2018 and has been a part of Acquia’s Campaign Studio since the acquisition in 2019.

The Custom Objects plugin brings some much-needed functionality to community hosted Mautic installations which to date has only been possible with complex workarounds. It will be a third-party plugin which you can install in Mautic if you require this functionality.

What does the Custom Objects plugin do?

The Custom Objects plugin allows users to create more many-to-many relational data tables to associate more items, such as products, orders or transactions, households, and more, with either a single contact or multiple contacts. For example, one family can have multiple cars from multiple manufacturers or with different models. This elaborates a 1:many relationship between the custom object (car) and the custom items (BMW, Porsche, etc).

These associations allow you to easily segment and market to your database, based on buying behavior or other interactions with your organization and its offerings.

Source: https://docs.acquia.com/campaign-studio/settings/custom-objects/

Why is Acquia open sourcing the plugin?

I am leading a process at Acquia of reviewing all the plugins they have developed for customers in Campaign Studio, and determining if, how and when to make them available as open source plugins. Giving back to open source is part of Acquia’s DNA, and this marks the start of a process of developing a systematic approach to open sourcing our work when it’s appropriate to do so.

There was considerable demand for the Custom Objects plugin and the functionality which it brings to Mautic, and it ranked highly on our scoring system which meant we prioritized this plugin as our first to be released. 

Over the coming months we are planning to open source more of the plugins Acquia has developed, so watch this space for more updates!

~ Ruth Cheesley, Mautic Project Lead

We are very grateful to the community contributors who worked with us to beta-test the plugin and ensure that the many features and functionality which needed to be merged into Mautic before the plugin could be released were tested in good time. The Open Source Friday sprints were a real help with this.

How can Mautic users access the plugin?

The Custom Objects plugin is available to install from the Mautic Marketplace, and can also be found on GitHub for direct installation.

You must be running Mautic 4.3.0 or higher to use the plugin, as there are many dependencies which were introduced in this release, necessary for using the Custom Objects plugin.

Where can users find the documentation?

Documentation for end-users on how to configure Custom Objects in Mautic can be found in the Acquia Campaign Studio Documentation. Developer-focused documentation can be found in the repository’s wiki.

Where can users contribute to the plugin?

Issues and pull requests are welcome on the GitHub Repository.

]]>
Grav CMS Plugin for Mautic Released https://mautic.org/blog/grav-plugin-released Mon, 09 Nov 2015 11:39:27 +0000 https://www.mautic.org/grav-plugin-released/ Grav is a new, exciting, flat-file content management system. We believe that Grav has a great future ahead. The connection between Mautic and Grav makes a great symbiosis. First, let’s take a closer look at why Grav is so exciting:

  • Fast, simple. Grav doesn’t use database to store articles. It uses only files. One file = one article. It makes sense for a majority of websites. Database is frequently overkill for a basic marketing website. It’s striking that the main feature of Grav is that it is missing something its primary competitors (Joomla, WordPress, Drupal) rely on. This absence however makes Grav crazy fast (faster than 99% of the websites published on the Internet), very simple (no installation process. Just copy the files and play).
  • Markdown. Grav articles have to be written in a format called Markdown. It gained popularity among developers because this common formatting is used by many others, for example GitHub. This is actually a very simple format which looks humanly-readable in plain-text format as well. If you’ve ever experienced troubles with WYSIWYG editors, then you’ll love Markdown.
  • Developer friendly. Grav has focused on being the choice for technically-minded people from the beginning. For the longest time Grav didn’t even have an administration area. All administration tasks had to be performed in the code. Now Grav does have a nice administration plugin and over 70 other plugins. Grav uses the Symfony framework similar to Mautic.
  • Opensource. Have you noticed we love open source? Grav is opensource software just like Mautic. It makes us wonder if these two projects were meant to be used together from the very beginning.

Grav seems to be on steroids lately:

Grav 1.0 featured in the Most Loved Products in October 2015 @ProductHunt https://t.co/yc9mwbu9Jz

— Grav (@getgrav) November 2, 2015

Sooooo close to 2500 stars on GitHub for Grav CMS project! https://t.co/aEw2dnfA6k @github — Grav (@getgrav) November 2, 2015

Why do we think Mautic and Grav are the best tools to build online marketing project? Grav is a simple and fast tool to build a marketing website. But because Grav doesn’t have database, it has its limits. That’s where Mautic comes into play. Mautic forms can be used to gather visitor’s data and automate marketing tasks.

And finally, the sweet part. We’ve prepared Grav plugin which helps you integrate Mautic tracking and Mautic Forms into Grav very easily. Read more. Try it today!

]]>
Mautic & Oktopost Social Media Integration https://mautic.org/blog/mautic-oktopost-social-media-integration Mon, 26 Oct 2015 13:00:52 +0000 https://www.mautic.org/mautic-oktopost-social-media-integration/ Our integration list just keeps getting longer! We are excited to share our most recent integration with Oktopost, a powerful platform for social media management. This social media integration gives you away to manage all your social media shares from a convenient dashboard while also encouraging your brand advocacy. You will appreciate the power of Oktopost added to Mautic.

Mautic joins a short list of other marketing automation platforms offering integration with Oktopost, but unlike the others, Mautic stands alone with a beautiful interface, powerful features, and a specific Oktopost post format. Mautic takes the data provided from these social media messages and generates a rich lead profile allowing further tracking and monitoring based on interactions and engagements by visitors with your social media. This truly is a powerful integration.

Oktopost CEO, Daniel Kushner, had this to say when asked about their decision to integrate with Mautic:

“These are exciting times for the Social Business Applications Market. With an estimated market CAGR of 22% over the next several years, businesses are going to hugely benefit from the innovations of companies like Allyde, who bring the all well known benefits of open source to a traditionally proprietary SaaS market. Being personally involved in open source since 2001 with PHP and Zend, it’s an honor to have the opportunity to work with such a passionate team, that will bring marketing automation to the masses. Mautic is with no doubt a game changer for marketing automation, and I’m really excited to see how the market will unfold in the years to come.”

We are excited to hear this kind of feedback and see how others are recognizing the power of our community and of open source marketing automation. We understand the importance social media marketing and social marketing automation play in the role of marketing automation software and this integration will only help us further accomplish our goals. If you’re interested in expanding your social media marketing and social campaigns then Mautic and Oktopost integrated will serve you well!

You can find out more on Oktopost’s website, and see how amazing things look with Mautic by downloading your own copy or creating your free hosted account today!

]]>
How to Create a Mautic Plugin: Step 2 https://mautic.org/blog/how-to-create-a-mautic-plugin-step-2 Tue, 08 Sep 2015 16:12:42 +0000 https://www.mautic.org/how-to-create-a-mautic-plugin-step-2/ In our previous article we began looking at creating your own Mautic plugin to integrate a third party software with your awesome new open source marketing automation software (yes, Mautic). In this lesson we’ll continue to create a Mautic plugin, but first as a very quick review, in our last tutorial we started with a basic introduction to plugin creation. Remember we started with planning a plugin, examining the third party API, and looking at the developer resources provided by Mautic. If you want to read more you can check out the previous article and then come back here when you’re ready.

This second tutorial in creating your Mautic plugin we will start looking at the specifics of some of the files we’re going to write and how we take advantage of both the Mautic API and third party API calls.

Basic Files

There are several basic files we need to write to have our plugin registered within Mautic. We created the files in our last tutorial and this graphic shows them to you again.

 


Create mautic plugin file structure

 

The files we are going to focus on today include the config.php file, the MauticDeskBundle.php, and FormSubscriber.php. These are the quickest of the files and so we can cover them quickly. The other files you see in this screenshot are more specific to this particular integration and they will be covered in the next tutorial. For now let’s look at these first three files in more detail and line by line.

config.php

This first file is the config file which Mautic will use when loading the plugin into the system. In this file we are going to name our plugin, provide a description, version and author. Then we need to define the services we want our plugin to use. Here’s the file:

Services: The services are broken into two types, events and forms. Events are those items which you want to trigger as a result of some action within Mautic. Forms are the functions and calls to run when a form is loaded within Mautic.

e.g. Real-life, the form services will allow your plugin to collect more information from forms within Mautic from the business user (not the site visitor).

The Desk plugin that we are writing will need both an event service and a form service. We’ll dig into each of these services later but notice that the class defined for each of these services is the path to the associated file.

MauticDeskBundle.php

This file is the root file that can be used when extending the Plugin base class. In this plugin we do not need to extend anything so the file below is merely a holding file that routes everything to the Plugin Base parent class.

FormSubscriber.php

This file is associated with the event service we defined earlier in our config.php file. This FormSubscriber is the event that gets triggered based on some action within Mautic. Let’s look at the file and then break it down.

Namespacing and used classes are the first thing you’ll find in the file. Here we define what we’ll be using or referencing later in the file.

This class, FormSubscriber, extends a CommonSubscriber class available for all plugins.

The public function onFormBuild accepts a parameter of the FormBuilderEvent (as you can see type-hinted). Here we define the action for this particular service event. We will create the group, description, label, formType, formTheme, and callback function that we want triggered by this submit action. Lastly we add the submitAction to the event.

In this array of actions we have a few special key-value pairs to mention. First, the formType defines the configuration or parameters your plugin will have as part of the plugin configuration fields. (Don’t worry we’ll return to this later when we look at the form service and the plugin configuration).

The callback defines the location and the function you want to be called when the event is triggered.

Don’t let the formType confuse you, at this point in the process, it’s best to consider this merely a way for your admin configuration settings to be added to your plugin when it’s triggered.

Next Step

The next piece in the plugin tutorial will be to focus on the admin configuration for your plugin (see, it’s coming together) and then explore how the triggered response is pushed to the third party. This plugin may be a short series but will add great functionality. I expect after this tutorial series you will have no problem taking this example and building your own plugins easily to push Mautic data to other systems, the Mautic API is a great way to integrate open source marketing automation with everything else.

]]>
How to Create a Mautic Plugin: Tutorial Series (Introduction) https://mautic.org/blog/how-to-create-a-mautic-plugin-tutorial-series-introduction Wed, 05 Aug 2015 12:26:05 +0000 https://www.mautic.org/how-to-create-a-mautic-plugin-tutorial-series-introduction/ We continue to push the Mautic free marketing automation software to be bigger and better than anything else available. A new feature coming soon to a future release of Mautic is one that we know will be extremely exciting. The Mautic Marketplace will allow everyone to share their plugins, themes, workflows, campaign templates and more. In preparation for this upcoming feature we’ll be creating a series of articles related to the development of a Mautic plugin to help you as you look to create your first Mautic plugin.

I’ll be covering how to create a Mautic plugin from start to finish in a series of posts that I hope will bring clarity and understanding to the entire process and answer any questions that arise during the process. If you get stuck I encourage you to jump into the forum to ask your questions and help others too!

Before we begin let’s look quickly at what a plugin is and why we care about creating them. With this idea of plugins Mautic functions very similar to something like WordPress. Plugins allow you to do a number of things from integrating other software systems and software tools to modifying the functionality of Mautic. Plugins let you extend Mautic however you need. This is one of the greatest benefits of an open source marketing platform like Mautic. You have full access to view the source code, examine existing plugins and improve the core by suggesting additional triggers or listener events.

Want a concrete example? A Mautic plugin might let you push data from a lead to an external CRM system. The plugin will listen for a specific action and when that action occurs will trigger an event that pushes data to some other system. Here’s a second example: A Mautic plugin might modify all your landing page URL’s and other external URL’s to use a link-shortening system (like Bitly) before they are rendered and displayed to the end user.

Ok, so that’s an idea of what a plugin might do and a couple of examples of how they might be used. I think that’s enough background. Let’s start planning what our sample plugin will do that we’re going to create together.

Step 1: Plan Your Plugin

Purpose of the Plugin

I want to create a plugin that pushes some information from Mautic to an external service. I have decided for the purpose of this tutorial series that I want to create a plugin that will let me create a form within Mautic and push the results of that form to Desk.com, a ticketing system.

At a high-level review, I am looking to create a plugin that will let me use Mautic to push support tickets into my support system but use Mautic for form collection and submission. By doing this I will be able to do a few different things. First, this will let me demonstrate how to create a plugin that needs additional configuration fields defined. Second, this plugin will add a new form action to standalone forms that will allow me to push my form submissions to some other system via an API. Third, this plugin will give me the opportunity to write a couple different listeners. And lastly, I can show some advanced techniques for field mapping.

Outline Basic Plugin Structure

Now that we have identified the purpose of our plugin this will help me to outline the basic plugin structure I want to use. Here is my basic plugin structure:

Create mautic plugin file structure

Don’t panic we’re going to look in-depth at each folder and file here through the course of this tutorial but for now we’ll just glance briefly at just a few highlights that are important to note.

Form Folder: Because I am creating a plugin that will provide additional features (fields) on a form within Mautic I will need to create a form folder and a FormFieldsType.php file which will define each of those fields. (The FormFields part of the name must match the class name but can be anything you want, and the Type part of the file name is necessary so Mautic will find and autoload this file).

FormSubscriber.php: Again, this file is named related to the class name it contains so that it will be automatically loaded by the system. I have called this one FormSubscriber to help me remember that this is a subscribed event for forms.

As with most parts of the system you will want to ensure that your naming is consistent throughout your plugin. Specifically the classname and namespace of your files as they relate to your config.php file. Don’t worry too much about this for right now as we’ll get into this in more detail in the next post.

Prepare 3rd Party API

I’m going to list this as part of the initial setup because it’s important to have this ready early on in your plugin development process. You will need to find and prepare your 3rd party API. This might involve creating an account, retrieving an API ID and API Key or similar. Basically you want to make sure when you’re ready to make an API call (later in this series) you will have everything ready to go and already setup.

For this tutorial I discovered that Desk.com uses Basic Authentication for handling interaction with their API and I simply needed to know my email address and password associated with my Desk.com account.

Following along? You can register an account here: http://help.desk.com/register (source no longer exists).

Mautic Developer Reference

In addition to the 3rd party API service and knowing what functionality is available from them you will also need to know the various endpoints, listeners, and more available within Mautic. You’ll want to keep a browser tab open with the Mautic Developer Docs loaded up. You can browse that information here: https://developer.mautic.org

Next Step

The next step after defining our purpose and looking at the basic plugin structure will be to begin writing all the necessary files to their respective folders and begin the process. We will get into this in the next article in this tutorial series.

]]>