Configuring program start rules


Start criteria options
Enrolment scheduling
Enrolment rule
   » Triggering enrolment from a contact date field
   » Triggering enrolment from a segment
Enrolment limits
Applying your changes
Enrolling contacts via the API


The Start node is the only node on the canvas to begin with. This is the first node of your program requiring your attention.


Click on the Start node to define the criteria for when contacts are added to your program. A panel of options will slide in from the right side of the screen.


Start criteria options

You set the criteria for a contact to join your program within the start node. When configuring this, there are three areas requiring attention: 

  • Enrolment scheduling - here you can set a specifically scheduled time for the program builder to check for any contacts satisfying the rules to join the program, which will then lead to their enrolment
  • Enrolment rule - this is where you set the rule for the enrolment of contacts; it can either be triggered from a contact data field or triggered from a segment
  • Enrolment limits - here you can set how many times, or how frequently, a contact can be enrolled into your program

A contact may enrol in the same program multiple times over the years, but will not be re-enrolled if they're already in the program and haven't yet reached an end node.

Enrolment scheduling

Click on Set enrolment schedule to open the 'Enrolment scheduling' panel.


This features four options:

  • No scheduled enrolment - with this option, you're setting no scheduled enrolment time. This will allow contacts to be added to the program via the API instead.
  • Daily - selecting this will allow you to set the specific time of day that suits you for enrolment of contacts to take place. 
  • Weekly - selecting this allows you to select a specific day of the week and a specific time for enrolment to take place every seven days, or you can select more than one day of a week (for instance, choosing Monday and Friday will mean contacts are enrolled on those two days every week).
  • Monthly - selecting this will allow you to set a specific day of the month and a specific time on that day for enrolment. You have the option to either enrol on the 1st through to 31st or 'last' day of every month, or enrol on the 1st, 2nd, 3rd, 4th or last Sunday, Monday, Tuesday, Wednesday, Thursday, Friday or Saturday of every month.
  • On a set date - it may be the case that you don't need regular enrolment to take place daily or weekly but rather on a specific date, in which case this option allows you to choose the exact date and time for enrolment to take place.

To set a specific time with these options, either click on the time field or on the clock icon to make the time picker appear.


To select a specific date with the 'On a set date' option, click within the 'Enrol on:' field to make the date picker appear.


Once happy with your selection, click Apply. Your scheduling setting will then be confirmed under 'Enrolment scheduling:' in the 'Start' panel. To edit this, click on your confirmed setting in the panel and the 'Enrolment scheduling' panel will slide in again for you to make changes to.

Enrolment rule

When a contact in your account meets the rule you set here, they will be enrolled in the program. You have a choice of triggering enrolment from either a contact data field or from a segment.


Triggering enrolment from a contact date field

Click on Trigger from a contact date field if you're looking to enrol contacts based on something such as a contract start date or a birthday. To this end, you firstly have a choice of adding contacts based on a certain date, or based on a birthday/anniversary of a date (meaning a contact will be added to the program once a year).

Protip: You may be tempted to use an anniversary rule for a contract expiry. In this case we recommend you use the standard (non-anniversary rule) and store in a contact data field the contract expiry date. If the contact renews their contact, then update that contact data field such that the contact qualifies again when the new expiry date is reached.

Selecting the start rule type

You will need to choose whether to enrol a contact:

  • [N] days before/after a contact date field; or
  • [N] days before/after the anniversary of a contact date field


The date fields available will be any custom date field that you have added to your account. Additionally you can trigger enrolment from the Created date, which is the date the contact was added to your account; the Last mailed date, which is the last date that a contact was sent a triggered or non-triggered email via the platform; and Last opened date, which is the last date a contact opened one of your emails (ideal for launching a simple re-engagement program).

Bear in mind that being able to use the program builder tool is dependent upon having at least one date-based contact data field, and the richer your date-based data capturing is for your contacts, the greater the choice you will have when it comes to picking date fields for your program.

Birthday program: Let's say you want to add contacts a week before their birthday, in order to send them an automatically generated campaign to remind them of your services prior to the big day. Set a start rule that sends to contacts '7 days before the anniversary of their date of birth'. It's not only a great personal touch that encourages brand loyalty but it also reminds them, if they're not currently engaged with you, that your business or service is available to return to should they want to spend any extra birthday money they might have come by!

Triggering enrolment from a segment

Click on Trigger from a segment if you're looking to schedule enrolment of contacts when they have, for example, opened/clicked/been sent a certain campaign or campaigns, made a certain number of purchases, or reached some other lifecycle point. In short, you can use the segmentation tool's rule types to construct a simple or complex segment with which to enrol contacts into your program.

Click on Generate count to quickly test that you're getting the sort of results you're expecting. Doing this will tell you how many contacts satisfy your enrolment rules, and you can click on the count to view a list of the contacts.

Remember though that this segment is a scheduled enrolment trigger and doesn't work like a standard segment: whenever it's scheduled to enrol, be it weekly, daily, or on a set date, it will check for contacts that satisfy the rule and enrol them to the program accordingly. Be wary, as it could mean situations where, as highlighted in the above example, a contact that's enrolled today could also be enrolled tomorrow, and then the day after that, and then the day after that, ad infinitum because they keep satisfying the segment rule - and you may not want that at all.


Enrolment limits

Click on Set enrolment limits to produce the 'Enrolment limits' panel.


This features three options to choose from:

  • 'Enrol contacts in program only the first time they meet the start criteria' - this limits contacts to only being allowed to enter into and run through your program the once, not multiple times 
  • 'Re-enrol contacts on the program every day they meet the start criteria' - this means contacts can be enrolled into the program multiple times upon meeting the enrolment rule again (as long as they aren't already enrolled and have reached the end node of the program)
  • 'Re-enrol contacts on the program if they meet the start criteria, but not if they have been enrolled in the last [N] days' - this is like the above limit, however you can set a minimum time period of days (up to a maximum of 366 days) that must elapse in between enrolments (e.g., 31 days if you're trying to ensure enrolment can't happen more than once a month)

Therefore the enrolment limits function allows you to create programs that will, for example, enrol a contact every time it's their birthday, or only the first time it's their birthday. The latter setting of enrolling 'only the first time they meet the start criteria' is likely to be the the one you'll want if enrolment to your program is triggered by a segment.

Example: If a segment is scheduled to enrol daily and your segment rule is to enrol contacts who have made three or more purchases every day they meet the criteria, as opposed to setting this as the first time they meet it, your program will then enrol such a contact every single day as they'll always meet the criteria of having made three or more purchases. A contact's amount of historic purchases won't go down. It's extremely unlikely that a contact being added to a program every single day in this way will be desirable!

Once happy with your selection, click Apply. Your limits setting will then be confirmed under 'Enrolment limits:' in the 'Start' panel. To edit this, click on your confirmed setting in the panel and the 'Enrolment limits' panel will slide in again for you to make changes to. 

Applying your changes

Once happy with all of your start criteria, click Apply on the 'Start' panel. A statement will populate for you to read in the 'Start' node on the program canvas.

If, at any point, you want to edit the start criteria again, simply click on the Start node again to produce the panel from the right.

Enrolling contacts via the API

Contacts can be enrolled in a program using our API if this is enabled on your account. This can be done using:

When a contact or batch of contacts is enrolled in a program, they will receive the first campaign in a program (subject to any delays and decisions) within 15 minutes, rather than waiting until the program's next scheduled execution.

Have more questions? Submit a request


  • Avatar


    What I am missing is a segment setting before the start node... We are communicating to contacts in two languages - English and Swedish - we are also communicating from two different companies. Not being able to segment on these criterias before starting a date based Programme creates a problem for us.

    Am I missing something, or are there some other way to do this?

    Many thanks,


  • Avatar

    Hi Niklas,

    We're looking at adding more complex start criteria soon, but there is a way you can do this now.

    • Set your start rule as normal (e.g. Start 1 day after FIRST_PURCHASE_DATE)
    • Immediately follow with a decision (e.g. LANGUAGE is not equal to 'Swedish')
    • Send one half of the decision to an 'End' point (or alternative program)
    • Send the other half of the decision to your email content

    In the example in the picture below every day at 10:00, all contacts who have a FIRST_PURCHASE_DATE of yesterday who have the LANGUAGE data field set to 'Swedish' will be enrolled in the program and within a few seconds be sent the email campaign 'Välkommen till vår e-postprogram'. At the same time all contacts who have a FIRST_PURCHASE_DATE of yesterday and do not have the LANGUAGE data field set to 'Swedish' will be enrolled in the program and will then immediately exit from it.


  • Avatar

    Thank you - that was very helpful, and fast!

  • Avatar

    Hi Stoo

    I'm looking to use program builder but not based on a start date as the node, but the email being the starting point of a program.

    Is this possible? So we can send multiple campaigns based on an action (a click for instance). we are looking at running launch windows for products and leading up to this we may do daily emails (calender revealing) and wondered how we might do this.



  • Avatar

    Hi Steve,

    That's not (yet) possible with the new program builder; but it is using the standard behavioural triggers.

    If you could let me know the kind of scheduling you'd want from around that trigger, that might help us to firm up our solution.

    Would you be wanting to trigger (for example):

    • At 8am every day, for all contacts who have clicked at least one of a set group of links; and have not been enrolled in this program before; OR
    • Trigger a series of emails, starting exactly 23 hours after a click event took place; OR
    • Something else


  • Avatar

    Niklas, Steve,

    You were both after triggering programs from something other than a contact data field; as of Wednesday's release this is now possible. Your start node can now be a segment (which could be based on a click of a specific link, or an address book membership) and we schedule the program to start once a day based on whether a contact falls into that segment.



  • Avatar

    Hi Stoo

    Just caught this thread. Is it possible to use this enrolment tool to automate a monthly email? So a contact automatically gets an email on the 1st of the month, or if not the case, every 30 days?

    Thank you Stoo


  • Avatar

    Hi Daniel,

    It's not possible at the moment. But it is something we're considering adding.

    In fact, the original design for the new start node included this, but it was cut to make way for some other work.

    It would be for:

    • The {1st, 2nd, 3rd... 30th, 31st, last} day of the month
    • The {1st, 2nd, 3rd, 4th, last} {Monday, Tuesday... Sunday} of the month

    We've moved onto some other updates now, so it's dropped off our immediate to-do list; but if we complete other work ahead of schedule, we may come back to this.

    Do drop in a feature request, and let your account manager know too.

  • Avatar

    Hi Daniel et al,

    Monthly starts are now available on the start node. Release notes will be up shortly, but I'm sure you'll find it without too much trouble!


  • Avatar

    Hi StooGreat news

    So to do an automatic monthly to say all subscribers then i just select monthly, enrolment rule as a segment - say in the subscriber address book and then hit re-enrol every day they meet the criteria?

    Is that about right?

    Thanks Stoo

  • Avatar

    Yep, that's right!

  • Avatar


    Is it possible to trigger a campaign when contact data field is updated? E.g. contact's FIRSTNAME is updated and I want to send an email immediately, not waiting for daily enrolment scheduling.



  • Avatar


    We're looking to create a campaign which would enrol contacts based on them having a birthday in that month. e.g. 1st of June - mail everyone with a birthday in June. How could you use the enrolment rules to achieve this? 



  • Avatar

    Hi Josefine,

    That's not possible at the moment, I'm afraid. But you can:

    • have a program that enrols once a month on the first of the month
    • enrols all contacts that have a birthday within the next 31 days
    • exclude contacts who have been enrolled in the program in the last 32 days (just to make sure you don't enrol contacts born on the 1st of March in both February and March)


  • Avatar

    Thanks Stoo, will try that.

  • Avatar


    Could you just clarify for me an enrolment rule?  

    We have program that sends a campaign, delays for 2 days then sends another.

    We enrol contacts every day when they meet criteria.  If a contact meets the criteria  every day will they appear twice in the program? ie can they go back to the start if they are also at another node waiting for a delay to finish?  

    I'm hoping that the answer is that  they won't be re enrolled if the are currently flowing through the program already.



  • Avatar

    Hi Mike,

    That's correct. A contact can only be in a program once at a time. And they will not be pulled back to the beginning from part way through; if they meet the start criteria.

    You can imagine it as if there is a hidden implicit rule on all start nodes "AND contact is not already in this program"*.


    * "at an end node" is not consider "in the program"

  • Avatar

    That's great, thanks Stoo.

  • Avatar
    Can the start node > enrolment schedule be set to continually run? I.e. so it triggers a send immediately after a form is submitted for instance?
  • Avatar


    You can achieve this by using our API. It's covered in the above section 'Enrolling contacts via the API' - You'll need to set enrolment scheduling to 'No scheduled enrolment' and then make use of the API operation/method to enrol contacts instead.

    The benefit of this is that when a contact or batch of contacts is enrolled into a program, they should receive the first campaign within five minutes (subject to any delays and decisions, or even overall load on the system at the time), rather than waiting until the program's next scheduled execution.

  • Avatar

    I'm trying to set up a campaign via API (without scheduled enrolment) however I'm not convinced that the set up within our Magento system is correct. When viewing the automation configuration within Magento, what subscriber status should be available to enable the API?

  • Avatar

    Hi Jo. Thanks for your question. I'm not sure I'm fully understanding the problem you may be experiencing. Are you looking to successfully map automations in Magento? If so, there are more details in this article -

    Otherwise, if you're still experiencing a problem, please feel free to provide some more details here and I'll try to help you further (or you can contact