Sending contacts a campaign or enrolling them on a program when they join an address book


For each address book in your account, you can set up the following join actions that will be triggered when an individual contact joins it:

  • Campaign join action
  • Program join action

These actions allow you to automatically send contacts a welcome email or enrol them on a welcome program, which makes a great impression and allows you to engage with your new subscriber instantly.

Please note

  • Before using these features, you need to have a 'triggered' campaign and/or a program, otherwise no options will be listed in the dropdowns
  • A join action will be triggered only for single joins, for example via a signup form or preference centre
  • A join action won't be triggered for single joins via a survey or form, or for bulk subscriptions, such as a contact import

Setting up a join action

  1. Create your address book, giving it a unique name and entering a description.
    Remember – if it's a public address book, your contacts will see its name, so give it some thought!
  2. Go to Contacts > My contacts and click the Properties icon of the address book

  3. Optional: In the 'Campaign join action' dropdown, select a triggered campaign to send to contacts when they join the address book
  4. Optional: In the 'Program join action' dropdown, select a program to enrol contacts on when they join the address book
  5. Click Save

For more on automated and triggered campaigns, check out the following articles:

Have more questions? Submit a request


  • Avatar

    Hi Hannah,

    Thanks for your feedback – and you’re right. There’s a little bit of a lack of clarity in the article, so I’ll be updating it to address that.

    The campaigns featured under the ‘Join action’ tab will be all of the triggered campaigns that you’ve created in your account. All you need to do is select the appropriate one for someone joining the address book, which could be a triggered campaign you’ve created called ‘Welcome!’, for example. Click on the radio button next to the campaign and then click SAVE, which will ensure this email is automatically sent to every contact when they join the address book.

    If you don’t have any campaigns listed here, then use the ‘Triggered Campaigns’ link to create one.

    I hope this helps. However, for more on triggered campaigns, you may want to check out the following articles:

  • Avatar

    Hi Hannah,

    No problem. Thanks for your further question.

    The short answer is that there isn't a direct way of doing this. However, you could try the following workaround, which would work as long as the contacts added to an address book from your bulk upload are brand new and aren't already within the system:

    1. Create a new triggered send (Campaigns > Triggered campaigns > click 'ADD NEW' from the 'Triggered sends' tab)
    2. Complete all the settings under 'Create new'
    3. Ensure you set the data field for triggering as 'signup/created date'
    4. Set the trigger to fire at least 1 day after the contact's 'signup/created date'
    5. Select the triggered campaign you want to send from your dropdown list

    This will result in your triggered campaign being sent to the contacts in your bulk upload one day after the bulk upload. However, as mentioned, this won't work for any contacts that already exist in your account with an earlier created date.

  • Avatar

    Hi, Is there a way to trigger a program when a customer is added to an address book rather than just sending one campaign?

  • Avatar

    Hi Jemima,

    Yes there is, and there's a choice of two possible ways of doing it:

    1. You could create a whole program to cater for it, from start to finish, without making use of a triggered 'join action' email. This means the program would need to enrol contacts via a segment based upon belonging to a specific address book. However, the drawback is that the first email that is sent by the program (after the contact's subscription to the address book) will not send immediately after their joining but rather when the segment is next evaluated (for instance, the following morning). If this is acceptable to you, then that's great; if not, and it if's important to you that the 'join action' email is sent immediately upon the contact joining the address book, then...

    2. You could keep your 'join action' triggered email in place but follow on with a program that then enrols contacts based upon being sent that triggered email, so it all works seamlessly.

    If you want further guidance on programs, read 'Getting started with the program builder', whilst 'Configuring program start rules' will also prove useful for what has been discussed here.

    Hope that helps you out.

  • Avatar
    Hi, How can I check reports for these triggered campaigns? I've set a join action to send out a campaign, but can't find the report for this campaign in the regular place.
  • Avatar

    Hi David,

    Thanks for your question. You should find reports for triggered campaigns (such as a join action) in the usual place - under 'Campaign reports'. As long as you know the campaign's name, you should be able to locate it (search for it if you need to) and drill down on it.

  • Avatar

    Hi Neal,

    Following on the comment above to Jemima - Is there no other way to trigger a program when subscribers join an address book?

    My situation is that I want to fire off a different welcome email to subscribers based on their location and language - the issue is that all these subscribers are being pushed into the same address book. I know that the easiest way would be to push subscribers to different address books based on their lang/country and set up a 'Join' campaign per address book but at this point in time it will take longer to change our data flow.


  • Avatar

    Hi Joe,

    Thanks for this. You're correct about the easiest way being the pushing of subscribers to different address books according to their country/language. However, let's look at some alternative options for your one address book.

    Assuming you have a contact data field that already stores your contacts' country/language, then you could potentially use a program and a series of filtering decisions to accomplish the sending of different welcome emails. After enrolling contacts based upon their membership of the address book (and bear in mind this could take up to 24 hours until they're enrolled), you'd next set up a series of decision nodes based upon their country/language equalling 'Spain/Spanish' for instance. If 'yes' they get sent the Spanish welcome email; if 'no' they move to the next decision node that sends the appropriate campaign to them if they equal 'Italy/Italian'; if no they move to the next decision node that sends...and so on. Here's our support article on decision nodes, in case you need it -

    The practicality of the above, however, depends on just how many languages you are catering for in total, otherwise it all might get a bit unwieldly. If it isn't that many, it could be an option.

    Even better though, and this wouldn't require a program at all, would be to use dynamic content blocks within the join action campaign. This dynamic content would, again, be based upon the country/language stored against the contact and would send the variation appropriate to them. Here's our support article on dynamic content blocks, in case you need it -

    I hope one of these might offer a solution to you. Furthermore, you might also want to post a feature request for a new address book join action that would enrol a contact to a program - The more votes and support a feature request gets, the more likely it is to figure in our future development plans.

  • Avatar

    Hi. Picking up on the earlier comment about sending an automatic email to users who haven't joined via a sign up form (so Add a list of contacts or Add an individual), is there a work around if they do already exist in All contacts?

    We want to send a survey out to people who fill out an application form to join. The data comes from a separate system but they may already exist in Dotmailer from before and some may be new. Ideally I would like to just add them to a "Survey" address book, and the email would be sent out.

    What's the best way of doing this?


  • Avatar

    Hi Jason. Thanks for your question. It sounds like a very simple program could be set up to do this.

    Firstly, here's a link to our 'Getting started with the program builder' support article, in case if you haven't seen it before - Plus we have a range of support articles covering all aspects of the program builder, if you want to read more.

    You could set up the program as follows:

    'Start' node: here you'd set an enrolment rule that enrols contacts every day based on the criteria that they belong to a specific address book, i.e., 'Survey'. This node then links to a...

    'Campaign' node: here you'd select a campaign that gets automatically sent to contacts on the basis that they belong to the 'Survey' address book. This node then links to an...

    'End' node: they then exit the program.

    That's a very basic example of a program, and you can build in more complexity should you need to. However, it should accomplish what you're setting out to do. Let me know if I can help further.

    Edited by Neal Goldsmith
  • Avatar

    Hi there dear Dotmailer team,

    We are currently using the "join" method with an online form for subscription to special events. The thing is that for each events we have a limit of subscribers which includes 3 invitee maximum. We would need to grasp those invitees and add them up with the subscribers. The use of the Automation tool would be really useful for us but we are not sure how we could end a program depending on the number of subscribers and invitees. Is their a condition counting the number of subscription?

    Many thanks,

    Edited by Jean-François Galarneau
  • Avatar

    Hi Jeff. Thanks for your question. There is a way you can do what you're looking to achieve with the program builder. I don't know the full details of your requirements, of course, but from the information you've given me, I hope the following illustration helps.

    A 'Quantity split' node allows you to set a limit for how many go down one path, whilst the rest go down another. Let's say it's 100. The first 100 will get subscribed to the 'Special event' address book, or you could enrol this 100 into a separate 'Special event' program altogether. The rest will exit the program. Effectively, then, you'll have ended the program based on a subscription limit.

    You can learn more about the 'Quantity split' node here -

    You'll find the program builder is very flexible, and there's all sorts you can do with it! All of our support articles on it are included in this section -

    However, just let me know if you have any further questions.

    Edited by Neal Goldsmith
  • Avatar

    Hi Neal,

    Thanks a lot for your reply, we should definitely look into this with your program builder. Just to make sure every option would be covered, will it be possible to force a redirect from a form when the subscriptions to an event are full? We wouldn't want an auto-reply message but a warning page in this case.

    Many thanks,

  • Avatar

    Hi Jeff - no problem.

    With regards to being able to force a redirect from a form once an event is full, this wouldn't be possible by default using the app. It would require some type of custom development on the site where you're hosting the form to achieve the desired behaviour.

    It might be the case that you have the technical resource on your side to look into that, or you might want to make use of our Custom Technical Solutions team. Either way, you're probably best contacting your account manager to discuss your requirements and they'll be able to provide you with the best possible guidance.

  • Avatar

    We'll definitely look into this with connectors between Dotmailer and Magento. I'm sure this sort of programs is common among requests from retails who wants to organize events with a limit of subscriptions.

    This puts everything in perspective. We shall have to look into this matter because it is a behavior we want to close events that fill in fast. I'm guessing this will involve a connection with Dotmailer SQL database but I'll get in touch with our Magento back-end developers and see what we could do about this.

    Many thanks,

  • Avatar

    Are you sure that the connectors between Dotmailer and Magento can't handle a redirect with the Automation options?

  • Avatar

    Not out of the box, I don't believe, as this would still be making use of dotmailer's automation functions and what they're currently capable of.

    It may well be the case that automation isn't the best fit for this, with the key being augmentation/adaptation of the signup form instead.

    However, please take a look at our dotmailer for Magento 'Automation' support articles for more information on that particular area -

    As well as this, you may want to contact your account manager or to provide more detail and they can advise you on it further.

  • Avatar


    Is there someway to DO trigger an program when you add contacts through a import to an adressbook? We have a connection to an adressbook with Salesforce with the join program action forced. This allows us sending info to people every 15 min. However sometimes it would be nice to also skip Salesforce and trigger directly from within Dotdigital by an import directly into DD. But somehow (not sure why, not sure why you wouldn't use a checkbox to give your customer the choice instead how to handle stuff) this isn't allowed. I do however don't want to make to seperate adressbooks or two different automations, that's a lot of hassle. How can I override this?