I am switching from MailChimp to mautic. One of the features I use in MailChimp is RSS to email for my blog. There its automatic… each day at 9am, if there is a new blog item in the RSS feed, its sent to the people subscribing via email.
For mautic, I have configured rss-to-email-bundle, this is working properly.
I have created a category ‘blog’. I have attached it to a couple of test users.
I have created a campaign, which selects an email template w/ the RSS to email, and a segment based on this category.
When I manually run it, it works.
Now, the question… How do I trigger it? apologies if this is a basic question, but mautic:campaigns:execute does not, and mautic:campaigns:trigger does not.
Can i make some external condition (e.g. i can run a cron-job to look for new posts or something) that the campaign will see as ‘ready’ so mautic:campaigns:execute will then send?
I’m setting up something similar, but haven’t enabled it yet to know if it will work correctly. I was going to set up a campaign that just repeats itself everyday.
At the end of the campaign it just does a “Change campaign” action to start it over again with the daily check. I’m not sure what happens if there is no new content, though.
Hey, are you trying to personalise each email with RSS or all contacts supposed to get the same?
Both are different methods, and I think I can point you in the right direction.
If the RSS feed contains the right information, why would Mautic send out the same post?
There are WP plugins, that manage your RSS feed, and you can even filter for 1 day in the past (yesterday).
The HTML is created in batches. In this particular case every day email will be batch-created for all who supposed to receive it, and the content will be whatever the RSS plugin can pull at 8:00 am.
If there would be no time set in the campaign, and the email creation is happening in multiple batches, then every batch would produce an email based on the actual RSS content.
For example if you have a news website, and you are in the morning batch, you would get the news from the morning, but contacts, that get the email later will also get additional events that happened that day.
Hello Don, This is interesting.
I would like to know more as I created a course on this, and would like to know more how it can be expanded.
So Mailchimp checks if the RSS contains new posts and only uses the new ones?
How do you generate the RSS? Shows posts from last 7 days or last X posts?
@donbowman you’re right, that makes sense. I had assumed it would work like mailchimp does and several other similar email platforms.
@joeyk Most of my experience with RSS emails is that they just sort of sit in a “wait-and-see mode” until a new post is made, and only send if you have it set to a specific time schedule. For example, we’ll set the email to something like “show the last 5 posts”. But if only 1 new post was made, since the last send, then the email only shows the 1 new post, so it’s not constantly sending old content.
Weekly email
Generate a link, that contains posts from last 7 days
RSS plugin picks it up, email sent every 7 days
You make it with a recurring campaign
Disadvantage: you need blog post at least every 7 days
Email about blog post when you wrote a new post
Create a post, copy the RSS email as segment email
set the RSS feed to generate only the last blogpost
time it and send
Disadvantage: you have to spend like 5 min with this after you wrote the post
I mean it’s possible to create a script, that checks if the RSS is empty, but it sounds like an overkill to me. What do you think?
mailchimp ‘just works’.
each blog post becomes an email.
if no new, no email.
seeking to replicate in mautic.
i don’t want a ‘here’s a list of 7 links’ email, so i won’t go down that approach (also, if there is no changes in those 7 days… i think it would always generate the last 7 days of things, even w/ duplicates etc)
i was planning on a script that checked and called ‘trigger’, but the trigger mechanisms don’t work the way i expected.
So i will have to mull this over. I think it would be useful to have an externally triggered campaign.
i considered using an SQL condition and then inserting to db.
Actually the best way to do it is not a campaign. Because then you initiate the same campaign over and over again. You will be only able to see the cumulative results for all email sends.
I think it’s better to create a script, that copies a previously created segment email with the RSS content. The script runs every day, and checks for new entry in the blog. If there is one, then copies the previously assigned segment email into a new one, sets timing, segment to send to and set’s up the sendig via the usual process (queue or not queue depending on settings.)
@donbowman I developed the rss to e-mail plugin for mautic. I’m currently investigating (after some requests) if i’m able to make an campaigntrigger for something like this.
i was wondering if i could call it on a schedule, and it could return ‘false’ indicating there was no email.
or if it could be a condition.
the option i was currently considering is using the sql plugin, and then making a table most-recent-blog-post-date, and selecting from the table so that i could have a condition in the front end.
another option i considered was a ‘rest condition’, whereby mautic would do an outbound rest call, and make some api.
I’m still considering / investigating the best way the implement this. The (development) documenation of mautic for this area is really limited. If I have a better understanding how to hook into mautic for this of can thank of the best solutions.
@joeyk ideally I want to check if there was something new posted since the last time the action was triggered. Within the action I want to configure an interval like every day, once a week, bi-weekly, once a month, etc.