0

I have created a declarative workflow in SP Designer that emails me when anything happens on a discussion board. That part works, but I am also trying to get that workflow to email the person who created the discussion ONLY when someone (who will always be me) replies.

I have managed to config it where the users can only see discussion started by themselves, but anybody can reply. But nobody but me will ever reply, because users cannot see each others discussions in order to reply to them. Only I can.

So I tried a conditional in the workflow that checks if the last reply field is my user name, if so, send out notification to the user in the created by (indexed) field. It does the general email to me, but never does the conditional to the person who created the discussion. So it looks like the workflow is not failing, but that my condition is never being met, but I can't be sure because although the workflow is set to the default workflow history list, there is no history when I visit that list, and yet I get an email, so it had to have run.

Also note that these users are external users and the env is Off365, but they are supposed to be able to receive email via the link they set up between a free Microsoft account they created and their real email address.

I think I have some confusion as to what created by and last reply fields really are. I thought created by would represent the creator of the discussion itself, not each post. It's the only reason I can think of as to why this conditional would not pass when it should. Note, this workflow applies to "this list" rather than the "discussion" and "message" options that I see, so maybe that has something to do with things?

Can someone clear that part up for me? Also, if someone has any idea why I'm not seeing my workflow being recorded in history, that would be great too. Thanks.

1 Answer 1

2

My knowledge is only 2013 on premise, but when I wrote up emails to do just what you are doing for the discussion list, I also had a workflow at the list level, set to run 'on creation'.

I had an if statement to determine if the item was the first discussion or a reply.

If Current Item:Content Type ID equals Discussion
    Comment: New discussion started
Else
    comment: this is a reply

Note: you might need to test 'Content Type' instead of 'Content Type ID' - try that if the above doesn't work.

To get who created the parent, the original discussion, I had to do a lookup for string on the original item:

data source: Your discussion list
Field from source: Created by
Return field as: display name (or whatever you need)
Find the list item
Field: ID
Value: Current Item: Parent Folder ID

Your Current Item: Created By should be the reply person, if you're grabbing it in the reply section above. enter image description here Not sure if that helps you any since you're online, but thought I'd try :)

7
  • Aha, you pointed out some key information that I did not know. I didn't think of the content type distinction, and that seems to be key. Let me try it and see if it works. Thanks.
    – Bobh
    Commented May 17, 2017 at 11:34
  • I tried it with the workflow set for only the create event and applied to "this list" instead of the content types discussion or message, and when i create a new discussion, it never recognizes the content type id as discussion, so the conditional always falls through.
    – Bobh
    Commented May 17, 2017 at 15:01
  • Rats. I don't have an available Office365 account so I can't do a test. Maybe the content ids are different for that - about all I can suggest is to log some of those fields to a workflow and see what you get when you start a new discussion or reply to one. There's got to be a field in there somewhere that can tell the difference. Commented May 17, 2017 at 15:18
  • It works if I create one oncreate workflow for the discussion content type, and then I don't need to check for content type. Then for replies, I have created another oncreate workflow for the message content type. In this scenario, the person who replies is seen as the created by of the message content type. That's fine, but how do I get the email for who created the discussion? If I use created by, it comes to me, not the discussion creator
    – Bobh
    Commented May 17, 2017 at 16:10
  • you should be able to get the creator of the discussion by using the set I had in my original post at the bottom. Your reply should have a field called 'Parent Folder Id' - that's the ID of the original entry - use that to lookup to your list by ID. I'll add an image to my answer to help... Commented May 17, 2017 at 17:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.