locked
Restrict sending same email twice to a contact RRS feed

  • Question

  • How do I ensure that the same email should not be sent to the contact twice? I wanted to filter the contact in the marketing list.

    If particular email already sent, Do not include in the marketing list

    Any thoughts?

    Thanks!

    Wednesday, October 29, 2014 3:40 PM

Answers

  • Yes you can use a workflow. Create the workflow for Emails, and use Record is Created as the trigger, set the scope to Organization.

    The first step of the workflow should be to test the status reason and stop if it is not sent. Then test the subject and if is not "blah blah blah" then stop. Then add an Update Record step and select Regarding (Contact) and in Set Properties you can update a field on the contact.  I don't think you can test in the workflow that the Regarding object is in fact a contact record so if there is an email sent with the blah blah subject to an account, for example, then the workflow will fail.

    You'll need to create fields on the contact to update in the workflow. Perhaps a bit field for each stage?

    • Proposed as answer by Rob BoyersEditor Saturday, November 1, 2014 7:46 PM
    • Marked as answer by ME2712 Friday, November 7, 2014 11:01 PM
    Friday, October 31, 2014 3:44 PM
    Moderator
  • I would expect the workflow to look something like this:

    If Email Status Reason does not equal Sent then stop workflow

    If email subject equals email template stage 1 subject then

      Update Regarding(Contact)

      Stop Workflow

    If email subject equals email template stage 2 subject then

      Update Regarding(Contact)

      Stop Workflow

    If email subject equals email template stage 3 subject then

      Update Regarding(Contact)

      Stop Workflow

    Instead of the multiple if stop workflow blocks you can use the if ... otherwise if.....otherwise if ...  (conditional branch) structure.

    I wouldn't worry too much about testing the regarding type, because how likely is it you will use the subject names for other reasons?

    But do check that the Regarding for your emails is in fact a contact. If it is not, and it is regarding the campaign activity then I think this approach will not work.

    • Marked as answer by ME2712 Friday, November 7, 2014 11:01 PM
    Friday, November 7, 2014 6:10 AM
    Moderator

All replies

  • I think you need to provide more details of your scenario. How are you generating the emails to send, using a campaign? And what counts as the same email?

    You could use a marketing list with people that you want to contact. Then use Manage Members and then Remove Members using Advanced Find to take out contacts that have had the email. In the advanced find search on contacts with a related entity of email and specify the relevant search criteria (such as subject of the email) to find contacts that have been sent the email to remove them from the list.

    Wednesday, October 29, 2014 5:01 PM
    Moderator
  • Thanks for your response.

    Yes, the emails are sent as a part of campaign activity under a campaign. We tie one marketing list with a campaign.

    More specifically, we send day wise emails to contacts based on a contact stage.

    Ex: If contact stage = stage 1           

                Send stage 1 email template to contact

          If contact stage = stage 2

                Send Stage 2 email template to contact

    The marketing list is dynamic, we need to make sure that the contact should not be picked up in the marketing list if the same stage 1 email is already sent to the contact – we do not want a contact to receive the same email more than once.

    Please let me know if that makes it clear.

    Thanks!

    Wednesday, October 29, 2014 5:21 PM
  • Thanks for your response.

    Yes, the emails are sent as a part of campaign activity under a campaign. We tie one marketing list with a campaign.

    More specifically, we send day wise emails to contacts based on a contact stage.

    Ex: If contact stage = stage 1           

                Send stage 1 email template to contact

          If contact stage = stage 2

                Send Stage 2 email template to contact

    The marketing list is dynamic, we need to make sure that the contact should not be picked up in the marketing list if the same stage 1 email is already sent to the contact – we do not want a contact to receive the same email more than once.

    Please let me know if that makes it clear.

    Thanks!


    So, Im trying to see how the "manage members" query should look like.
    Wednesday, October 29, 2014 5:23 PM
  • I see you are using a dynamic marketing list, manage members does not apply to dynamic marketing lists because the query for the list determines who is in the list. With static lists you can use manage members to populate the list and remove members from the list.

    I'm having difficulty understanding the frequency of email sending. Are you running multiple campaign activities under the campaign? How are you determining which template to send or put another way, where are you performing the if contact stage test?

    Thursday, October 30, 2014 4:27 PM
    Moderator
  • Sorry for the delayed response,

    And yes - dynamic list is what we require and not static. As you said, when i use static list - it is possible to remove members from the list based on a given criteria and that works (but not what we wanted)

    To answer your question: Yes, we are running multiple campaign activities under one campaign. Also, the (Dynamic Marketing List ) query itself has a field to check which stage the contact is in - which pulls up the selected members.

    Once done, the campaign activity is run manually every time so the corresponding template is chosen when you hit "Distribute Campaign Activity".

    Okay, now i can see the limitations using the dynamic marketing list. Is there a way to run a workflow when an email is sent to a contact with status reason as "sent" and subject equals "bla bla bla" which inturn updates the related contact record that this particular email is sent. So that, it will be easy to choose that field while querying the marketing list?

    I've tried the same but with no luck. Appreciate if you have any pointers.

    Thanks!

    Friday, October 31, 2014 1:42 AM
  • You can Make Workflow as when send email to contact  meanwhile it update the contact stage form that stage you can judge contact has been send email or not
    You can check in advance find by contact stages if contact stage is1 or 2  it mean mail has been sent out but if stage is null then send email


    Muhammad Sohail




    • Edited by sohail450 Friday, October 31, 2014 5:30 AM
    Friday, October 31, 2014 5:26 AM
  • Yes you can use a workflow. Create the workflow for Emails, and use Record is Created as the trigger, set the scope to Organization.

    The first step of the workflow should be to test the status reason and stop if it is not sent. Then test the subject and if is not "blah blah blah" then stop. Then add an Update Record step and select Regarding (Contact) and in Set Properties you can update a field on the contact.  I don't think you can test in the workflow that the Regarding object is in fact a contact record so if there is an email sent with the blah blah subject to an account, for example, then the workflow will fail.

    You'll need to create fields on the contact to update in the workflow. Perhaps a bit field for each stage?

    • Proposed as answer by Rob BoyersEditor Saturday, November 1, 2014 7:46 PM
    • Marked as answer by ME2712 Friday, November 7, 2014 11:01 PM
    Friday, October 31, 2014 3:44 PM
    Moderator
  • Hi

    I think you can evaluate if the 'regarding' is a contact by using this check condition;

    Rob


    MCTS. GAP Consulting Ltd. Microsoft Community Contributor Award 2011 & 2013

    Saturday, November 1, 2014 7:47 PM
    Answerer
  • Thanks Feridun and Rob.

    I’m just trying to understand how this will work since I have 3 different email templates and 3 bit fields created in the contact entity (to be updated accordingly when stage 1, stage 2 and stage 3 emails are sent ) and most importantly the regarding object in my email will be the “Campaign Activity” .

    This is what I tried, Maybe a screenshot will help better.

    If you look at the second condition, what would be the best way in my case to check for 3 different email subjects and stop the workflow if it does not equal

    I couldn’t manage to get this working so far.

    Also, when tried with multiple trial and runs. Sometimes the workflow stops as succeeded in the first step itself or for the most part – it get stuck in waiting stage saying that “the requested record cannot be found” – I guess it was not able to tie the campaign activity with the contact (Just guessing!)

    Appreciate for any help!

    Thanks!

    Wednesday, November 5, 2014 12:07 AM
  • Screenshot:

    Wednesday, November 5, 2014 3:38 PM
  • Any pointers, anyone?
    Thursday, November 6, 2014 5:27 PM
  • I would expect the workflow to look something like this:

    If Email Status Reason does not equal Sent then stop workflow

    If email subject equals email template stage 1 subject then

      Update Regarding(Contact)

      Stop Workflow

    If email subject equals email template stage 2 subject then

      Update Regarding(Contact)

      Stop Workflow

    If email subject equals email template stage 3 subject then

      Update Regarding(Contact)

      Stop Workflow

    Instead of the multiple if stop workflow blocks you can use the if ... otherwise if.....otherwise if ...  (conditional branch) structure.

    I wouldn't worry too much about testing the regarding type, because how likely is it you will use the subject names for other reasons?

    But do check that the Regarding for your emails is in fact a contact. If it is not, and it is regarding the campaign activity then I think this approach will not work.

    • Marked as answer by ME2712 Friday, November 7, 2014 11:01 PM
    Friday, November 7, 2014 6:10 AM
    Moderator