How create format HTML emails in Nintex Workflow actions


I will not repeat enough, when it comes to workflow design Nintex workflow is brilliant and save a lots of hassle.

lThis said not everything in this tool is that easy to achieve, today I am going to mention a basic workflow action that everyone will use for sure in any workflow: the “Send notification” action”


This action allows you to send an e-mail, a Lync message or even SMS to a user to inform them in the middle of a workflow.

The problem

“Send notification” comes with its own Rich Text editor to format the text and add reference of an item into the subject and body of the message. But very quickly you should realise that the editor has some limitations. In my experience I found it a bit buggy;  for instance : type some text, format it in blue, add field reference to se the values, then save the action and come back to the editor only to find that the 1 carriage return has expanded to 10 and the font you thought was the same in the whole email has change to another in the middle of the body content.

I actually believe that this is not really the problem with the editor itself but just a standard HTML issue: if you check the source of that rich text editor, you will see some characters and font styling that have been added which makes debugging quite hard.

How I do it

Ok, so this is my tip for dealing with HTML email:

1-     Forget about the Rich text editor

2-      Prepare your HTML body away from the workflow action

3-      When ready, paste it into the editor


Show me

Here is, in pictures, how I now do my email body content. My method may not be the best one and took a bit of time for the initial setup of the first email body, but the next ones can just be derived from it and then speed up the tasks. Also you will see that every time  you are requested to change a character in an email, it’s a “piece of cake”.

1-      Open NotePad (or already into an HTML editor such as a SharePoint Designer HTML file, myself I prefer to use NotePad++ as it formats HTML best)

2-      Start your email body with the labels and values you intend to display, leave the reference as a placeholder for now

3-      Capture the item values or variables that you need to need to show

In the Nintex “send notification” editor, remove all your Rich Text content and only add the single reference that you need, for instance if I want to display the “Title” field value:

4-      Copy the HTML of that reference

5-      paste it into the HTML file

6-      Start formatting some HTML around the item value

7- repeat step 3 to 6 until your HTML is complete
8- paste the HTML into the HTML editor of the Nintex Rich Text editor to obtain an email looking as:
9- Make sure you SAVE your HTML code into a file for re-usability.
Each time you need to edit a comma on your rich text email you do so in the HTML and paste it again in the editor. This way you won’t have strange behaviour in the editor.
Again: this is my method and may not be everyone’s choice, but since I had a workflow with around 6 different email templates this way was the only way I found to make sure that each email is similar except for a couple of fields, otherwise using the Rich Text editor in the Workflow Action (notification or Flexi-Task) didn’t prove to be formatted the same as another one.

Clever idea : Approve or reject tasks via email WITHOUT Nintex

Check out this website I found at

I have to say when it comes to responding a workflow task while being mobile I think of advising my clients to buy Nintex Workflow for their Sharepoint farm as the design and maintenance of those workflows is much, much cost effective in the long term. But this post got me thinking, specially when you have an IT environment locked down where you cannot add third party tools.
I have not implemented it myself yet, but will do in a few weeks.

Avoid ‘&’ (Ampersand) sign in Nintex workflow variable values



I have a main workflow that calls 16 different sub-workflow to run and wait for their completion before continuing and to my surprise only 1 of those didn’t send me an email as I expected it to be, but did not fail nor stopped.


The sub-workflows are all running and complete, then the main workflow continues its journey to completion.


By adding a Log in History to extract all the variables that I pass to the sub-workflows I then realised that the only difference between all sub-workflow and the one that flies through without sending an email contains a ‘&’ character in one of the variable. That variable is just used to print the value in the body of the message, not even the subject or the recipient email but still it did fail the workflow action.

Fix: by adding a “Regular Expression” Nintex action we can easily replace any ampersand in variable before passing it to the sub-worklow. If you place it into the sub-worlfow UDA then it’s only 1 change for all 16+ sub-workflows.

Note to self: filter out & (ever)

Back to posting and the importance of PAUSE in Sharepoint Workflow

The importance of PAUSE in Workflow

I have not been blog-ing anything for a while because since moving into our new house there is always something to do than sitting on computer between working hours. Now that we are all settled and I have a proper study (instead of the kitchen table) I have some catch-up to do with a few notes that I need to post.

Here is a short one regarding timing in workflow execution.
Last week I wrote a very-very simple workflow for my team which updated values of an item after this item was modified by the end user. There is nothing easier than this in Sharepoint Designer (2007 AND 2010 indeed).
All was fine in my very-very simple tests since this was really a no brainer, however a few users complained that they kept receiving the “conflict error” message. 
Eventually I realised that some -if not most- users would edit the items in a datasheet view and come back to the same row WITHIN 5 seconds of having updating it, therefore the SPD workflow was still running when they came back to the item, and while the user was exiting the datasheet row of the item Sharepoint had already saved it via workflow, ending up into a save conflict. I have to say that I never planned for users to be so fast in Sharepoint, we are usually used to wait for page to load and therefore forget that Datasheet mode is way faster.

After much workaround playing I remembered that SPD allows us to add a PAUSE within the workflow, and so I did, mark a 5 minutes pause before updating the fields, and it all sorted the conflict message the end user were receiving.


So let’s remember to slow down even in a workflow sometimes, to quote this Nigerian proverb that a friend reminded me this morning : “Going slow does not prevent arriving.”, as long as my item gets updated its value within the hour users are happy.


Run SPD2010 workflows with impersonated permission


to change user.

          Edit your workflow

          Within the steps of the workflow that require to be impersonated with your user insert an “Impersonation Step” by just typing the label


          Move all required steps into it (using Move Up or Down)


          Publish your workflow

          Test with the access level of your user

Et voila !

Note: This short blog article is my first attempt to participate to my colleague Giles‘ blog as an author and therefore you may also see it on my other blog.

Migrating Workflows to SharePoint 2010 Question

I am currently preparing for migrating a client’s 50 Site Collections and individual SQL database, custom master pages, a few SPD2007 workflows and lots and lots of data and I found my answer regarding migrating Workflows before I tested myself,
so here it is for my own bookmark : Migrating Workflows to SharePoint 2010 Question

Bamboo Workflow Connector vs. Nintex Workflow


I am putting below the main points I see between Nintex workflow (2007/2010) and Bamboo Workflow Connector since I could not find any comparison with a quick good.
I may omit something or be wrong so I will correct and accept criticism if it comes.

Nintex : Approve/reject by email (Lazy approval)
Bamboo: none

Nintex: No Feature to deploy, therefore no disruption for end user.
Bamboo : need to recycle IIS= disruption for end user.