skip to Main Content

Introducing Loops

Exactly what is “Uncanny Automator”? It’s a question that WordPress users often ask and that we give a lot of thought to ourselves. Is it just an integration tool, connecting WordPress plugins, sites, and non-WordPress apps together? Is it a workflow automation tool? Is it a no-code application builder?

We at Uncanny Owl generally think of it as an automation tool, so as we build improvements and add new features, we’re always thinking about how we can save our users time and cost with automation.

In today’s Uncanny Automator Pro 5.0 release, we’re introducing a new tool that’s a lot more about automation than integration. This new feature, which we’re calling Loops, will completely change how you use Automator—and how you think about what’s possible on your WordPress site.

Introducing Loops

Right now, Automator recipes run when something happens, and then they perform actions that typically affect one thing–often a user or a post. Maybe when a user buys a product, they’re added to a membership. This affects one single user for each recipe run. But what if the recipe could perform actions on multiple “things” at once, in bulk? That’s where the magic of “loops” comes it, as it allows you to loop through many things and run actions on each of them.

Without further ado, here’s a screenshot of a loop inside a recipe:

Uncanny Automator Loops

The example above basically says, “Okay, when the triggers for the recipe are complete, loop through all users that aren’t administrators and have an @uncannyowl.com email address, and for each user matching that criteria, send them an email.” So, yes, all of these types of scenarios are now possible with Automator Pro:

  • When a new course is published, notify all users in a specific group or that have purchased a specific product about the new course by email.
  • When a button is clicked, loop through all users that have completed a specific course and send matching users to an Airtable base to generate an ad hoc completion report.
  • When a form is submitted, send a personalized SMS message to all users with a specific CRM tag that includes content from the form.

It’s as amazing as it sounds and will open up a world of possibilities for WordPress automation. And yes, it fully supports conditions, so you can set up a looping action like this:

Automator Loops with Conditions

In that example, any non-admin users that have purchased a specific product would have a CRM tag applied when a recipe run is initiated. And yes, if you’re wondering if you can have multiple loops in a recipe, or multiple actions in a loop, you can! Loops are an incredibly flexible tool that were designed to be included seamlessly into your recipes, not something that’s independent and can only be run on demand.

What about performance and loop management?

We know that the introduction of bulk operations like this can be heavy on hosting environments, so we built loops from the ground up to ensure they won’t affect front end performance. Loops run in batches in the background, with a small delay between batches, and inside the logs for a recipe run you can see loop progress, pause it, and even cancel loop runs.

A framework for future automations

The initial release of Loops, while exciting, is something of a teaser for what’s to come. Once customers start using it, we know they’ll be hungry for new features. Rest assured that we are already hard at work on them, and you can safely assume that over the next few months we will be adding the logical additions that aren’t in the 5.0 release, including:

  • Running loops on posts, not just users
  • Adding delays and schedules to loop actions
  • Running loops directly from the edit recipe page
  • Running recipes (including loops) on a repeating schedule

There’s a lot more planned, and the next few months will likely be the most exciting in Automator’s history.

Before you jump in…

While Loops are an incredible tool, there is a lot to consider before you jump in with complex loop actions. Here are a few things that should be considered:

  1. Every loop run does create full log entries, so if you do something like run an action on 50,000 users, that’s going to create a lot of log entries. Log pruning will become more of a consideration.
  2. There is no Undo option. If a recipe is set up incorrectly and runs on thousands of users, there’s no way to undo it automatically. Testing recipes with loops on staging sites will become much more important.
  3. Rate limiting with external apps will become a bigger concern. Yes, it’s going to be very tempting to create an ad hoc recipe that dumps a filtered list of users to Google Sheets to create an instant report, but app limits will still apply. For something like Google Sheets, only up to 80 records per minute can be created via Automator—trying to send thousands of records in a few minutes could result in a temporary block of your account. Queuing features will be added to Automator in the future, but for now, be very mindful of how much data you send to external apps in a short period.

But wait, there’s more!

Uncanny Automator Pro 5.0 is a huge release that was months in the making, so it also includes many other new features.

Charitable gets these new triggers and actions:

  • Trigger: A recurring donation to a campaign is cancelled
  • Trigger: A recurring donation to a campaign is made
  • Action: Add an entry to a donation log

Want to follow up when a donor terminates their payments or reward loyal donors for donation milestones? Now it’s easy.

MemberPress gains a new trigger for a sub-account being removed from a parent account.

In our AffiliateWP integration, there’s now an action to link a customer to an affiliate for lifetime commissions.

Our Formatter tool adds an action to extract the first word from a string. This is especially useful for plugins and tools that capture a full name in a single field and you need to extract and use someone’s first name only.

Over in LearnDash, there’s a new action to Reset the user’s progress for all courses associated with a group. Now this one is a powerful one for the new Loops tool, as it allows use cases like having a Group Leader be able to submit a form that loops through everyone in a group and resets course progress for all courses associated with that group.

In WordPress Core, there’s one new action: Fetch an existing user. This action lets you use tokens containing the information of an existing user in a subsequent action, or simply check if a user exists.

In terms of other highlights, there’s also a new WordPress condition for a user’s email address matching a specific domain. Other improvements are outlined in the full changelog.

We hope you find the release useful, especially Loops. Getting this piece out was a huge accomplishment for our team and will pave the way for an incredibly rich future of Automator releases.

Ryan Moore from Uncanny Owl

Ryan Moore (MA, PMP, BCom) is the Cofounder and Director of Uncanny Owl, creators of Uncanny Automator and a suite of popular add-ons for LearnDash. Since 2013, Ryan has helped thousands of companies add elearning and automation capabilities to their WordPress websites.

This Post Has 2 Comments

  1. It’s incredible. I hadn’t used the Automator before, precisely because there were no loops. However, I’m still not sure if I can customize the recipe I need. What I’d like to do: I’d like to customize the Gravity Form of Lerndash’s course assignment. So that I can select a list of courses and a list of users in the form, and the courses have been assigned to them. To customize the forms I use Gravity Perks Populate Anything: https://gravitywiz.com/documentation/gravity-forms-populate-anything. However, dynamic course and user IDs from a form cannot be used as user filter tokens. Is it possible to consider such a recipe scenario, maybe add support for Gravity Perks?

    1. Thanks for the feedback!

      I’m afraid it’s not possible for us to modify what options are output in a form, and I’m not sure if it’s something we could support in future either–though certainly we recognize how useful that would be. It doesn’t fit with the Automator recipe model as much though, but certainly we could consider a Gravity Perks integration in future, and potentially that route would allow what you need.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top