LISTSERV at Work
Email How-To Tip

Q: How can I schedule a series of email jobs to be sent at preset intervals?

LISTSERV Maestro has powerful automation capabilities that allow email jobs to be delivered at regular, programmable intervals without human intervention. These types of auto-repeat jobs are particularly useful when used together with dynamic content or recipients, which are pulled from an external source at the time of delivery. Various settings control the auto-repeat sequence, and these sequences can be used in many ways.

Specifying the Delivery Time

The delivery time of auto-repeat jobs is defined as follows:

  • The first job in the auto-repeat sequence will be delivered on the date and time specified in the basic options on the Schedule Delivery page.
  • Each subsequent copy of the original job will then be delivered a certain amount of time after the previous delivery, which is defined in the advanced options as the "Delay" interval between repeated deliveries.

To schedule a job for auto-repeat delivery, click on Schedule Delivery from the mail job workflow.

Define the delivery time for the first job in the auto-repeat sequence – either immediately or at a specific date and time in the future. Then click the Click to Enable link to view the advanced options.

Select Repeated Delivery of Job Copies (Auto-Repeat).

Define the delay interval between repeated deliveries in terms of hours, days, weeks, or months. Examples:

  • If you specify "Immediate Delivery" and a repeat interval of "12 Hours" for the first job and authorize that job at 09:15, then the initial job would be delivered at 09:15, the first copy would be delivered at 21:15, the second copy at 09:15 of the next day, and so on.
  • If you specify "Deliver at 12:00" and a repeat interval of "24 Hours" (or for the same effect "1 Day"), then you would get one delivery each day, at 12:00.
  • If you specify "Deliver at 10:20 on April 19th, 2021" (which happens to be a Monday) and a repeat interval of "2 Weeks", then this would cause a copy of the job to be delivered at 10:20 of the Monday of every second week after the initial delivery.
  • If you specify "Deliver at 12:00 on January 1st, 2021" and a repeat interval of "3 Months", you will get a delivery on the first day of January, April, July and October, resulting in one mailing at the beginning of each quarter.

Finally, define how the auto-repeat job will stop. You can keep repeating the job forever until manually stopped or you can enter a specific date and time to stop the series.

Auto-Repeat Jobs Used Together with Dynamic Recipients or Dynamic Content

Auto-Repeat delivery is particularly useful together with dynamic recipients or dynamic content:

  • Dynamic recipients are just-in-time recipients defined by text upload or selected from a database, as well as classic LISTSERV lists or LISTSERV Maestro subscriber lists. What all these recipient types have in common is that the actual list of recipients for a job is determined "just-in-time" at the moment prior to delivery. If such a job auto-repeats itself, each repeated copy can be mailed to a different list of recipients.

    This strategy can be employed in many ways. An example of using dynamic recipients could be sending a generic "Your account balance is negative" warning message, on the first day of each month, to recipients who have a negative account balance on that day.

    To set up such an auto-repeat job, you would create a job with static content telling the recipients that their account balance is negative (probably using the balance value as a merge field). You would use a recipient definition that is "just-in-time" that selects exactly those recipients from the database where the account balance is negative. Next, you would schedule this job to be delivered at a certain hour of the first day of the next month, with a repeat interval of "1 Month". After the initial authorization of that first job, the email would automatically go out at the set hour on the first day of each month to only those recipients with a negative account balance.
  • Dynamic content uses drop-ins to pull content into the message "just-in-time" before delivery. Like dynamic recipients, this can be employed in useful ways.

    For example, each morning you could automatically email the daily weather forecast to all subscribers. To do this, you would set up a job with content that uses a drop-in that pulls the text of the daily forecast from a suitable source (for example, a web server). Next, you would schedule this job to be delivered at a certain hour of the next day, with a repeat interval of "1 Day". Before setting the hour of delivery, you would have to make sure that the source of your weather forecast drop-in is updated before the hour of the delivery time. After the initial authorization of that first job, the email would automatically go out at the scheduled hour every day, with a different forecast (as pulled from the web server source by the drop-in).

Auto-Repeat Jobs and Delivery Failures

If delivery of an auto-repeat job fails for any reason, the failure is handled slightly differently than with normal jobs. A normal job that fails remains in the ongoing jobs list and is marked as failed. You then have the option of closing the job (transferring it into the list of completed jobs), retrying the delivery or reopening the job for editing.

With auto-repeat jobs, failures are handled in this way:

The failed job is marked as failed as usual, but it's automatically closed and transferred to the list of completed jobs, just as if the user had manually closed a failed normal job. If the end condition for the auto-repeat has not yet been met, a new copy is created and authorized to be delivered after the corresponding delay interval, just as if the delivery of the previous job had succeeded.

As a result, if at a given delivery time some condition (for example, the accessibility of a database) causes the delivery to fail, then only this auto-repeat instance will fail. The next auto-repeat instance will be created and authorized normally and will proceed to be delivered at its scheduled delivery time. If the condition that caused the first failure still exists at the next interval, then the delivery of the next copy will probably fail as well. But the copy after that (if there is one) may have a chance to get through if conditions change, and so on.

Auto-Repeat Jobs and System Shutdown

Auto-repeat jobs do not act like normal jobs if the system is shut down during the scheduled delivery time.

For a normal job, if the system is down at the scheduled delivery time, the job will be delivered immediately after the system is started the next time. The system will recognize that the delivery time of the job has passed while the system was down and will immediately start the delivery to "make up" for the lost time.

This is not true for auto-repeat jobs. If the system is down at the scheduled delivery time of an auto-repeat job, then the system will recognize that the delivery time of the job has passed while the system was down. Instead of starting delivery immediately, the job will be re-scheduled to the next available "delivery slot" of the auto-repeat sequence. The job will remain in the ongoing jobs list as "authorized for delivery", but now with a new delivery time that occurs after the system startup. If there is no such delivery slot available because the end condition for the auto-repeat has already been met, then the job will be marked as failed with a corresponding error message and will immediately be transferred to the list of completed jobs.

Revoking and Re-Authorizing Auto-Repeat Jobs

Any auto-repeat job currently in the ongoing jobs list awaiting its scheduled delivery time can have its delivery authorization revoked just like a normal job. If authorization is revoked, the job will be put back into the Open Jobs list, where you can edit it again.

If this job is re-authorized for future delivery, where does this job stand in respect to the auto-repeat sequence it was part of before the authorization was revoked? The possibilities are listed below:

  • The job is the first job of an auto-repeat sequence: This means that no delivery has taken place for this job because it was the first job of the sequence and was revoked before its scheduled delivery time. When re-authorized, the job will continue to be the first job of the same auto-repeat sequence it belonged to before.
  • The job is not the first job of the auto-repeat sequence and has been changed since the delivery authorization was revoked: This means that this job is already an automatically created copy that is part of an auto-repeat sequence. The delivery authorization of this job was revoked and then it was changed in some way. When re-authorized, the job will create a new auto-repeat sequence and will no longer be part of the sequence it belonged to before the delivery authorization was revoked. This happens because the job is no longer an exact copy of the previous jobs in its original sequence. Instead, it will, by itself, be the first job of a new auto-repeat sequence.
  • The job is not the first job of the auto-repeat sequence but has not been changed since the delivery authorization was revoked: This means that this job is already an automatically created copy that is part of an auto-repeat sequence. The delivery authorization of this job was revoked, but it has not changed since then. When re-authorized, the job can either continue as part of the same auto-repeat sequence, or it can start a new auto-repeat sequence. You will have to make this choice on the delivery authorization screen.

Got Feedback?

Let us know about topics and tasks you’d like to see covered in future tech tips.

Get in Touch

Next Steps


© L-Soft 2021. All Rights Reserved.




Powered by LISTSERV Maestro