LazyApproval Guide: Nintex Workflow 2013 & Nintex Workflow 2010

Last updated: Friday, November 21, 2014 LazyApproval Guide: Nintex Workflow 2013 & Nintex Workflow 2010

Legal Notices

For the latest information, please see https://www.nintex.com/en-US/Pages/TermsAndConditions.aspx

© 2014 Nintex | Privacy Policy | Terms & Conditions | Cookie Preferences | Nintex Support

-i- LazyApproval Guide: Nintex Workflow 2013 & Nintex Workflow 2010

Contents

Legal Notices i About LazyApproval 1 Implement LazyApproval 2 Configure SharePoint prerequisites 2 Configure Nintex Workflow email settings 2 Set up LazyApproval 3 Test LazyApproval 5 Confirm SharePoint farm email functionality 5 Enable LazyApproval on an action 6 Test LazyApproval setup 6 Confirm the reply-to 6 Monitor the SMTP drop folder 6 Troubleshoot LazyApproval 8 Errors and issues 8 Error: Nintex Workflow was unable to interpret your response 8 Error: Unable to match response to running workflow / bounce 8 Error: Unable to match response to running workflow / token 8 Error: Unauthorized attempt 9 Error: You are not permitted to respond to this task 9 Issue: Workflow does not start 10 Common configuration issues 10

© 2014 Nintex | Privacy Policy | Terms & Conditions | Cookie Preferences | Nintex Support

-ii- LazyApproval Guide: Nintex Workflow 2013 & Nintex Workflow 2010

About LazyApproval

LazyApproval allows users to respond to requests in real language, even when on the go and without access to the SharePoint portal. When an administrator enables LazyApproval for Nintex Workflow, Nintex updates the NintexWorkflowEmailResponses library on the Central Administration server in the following ways:

l Enables the library for email

l Adds an event handler: Nintex.Workflow.Features.EmailDropReciever Once updated, you can then enable LazyApproval for an action within a Nintex workflow. When that workflow is run, a request is sent by email to the indicated email account. When a person replies to a LazyApproval email, that email is routed to the specified "Reply To" email address (see Global settings) using the standard incoming email settings for the SharePoint farm. The reply appears in the NintexWorkflowEmailResponses library and SMTP-configured drop directory briefly until processed by the event handler Nintex.Workflow.Features.EmailDropReciever. The event handler processes the body of the email message to determine the outcome and then triggers the workflow accordingly.

© 2014 Nintex | Privacy Policy | Terms & Conditions | Cookie Preferences | Nintex Support

-1- LazyApproval Guide: Nintex Workflow 2013 & Nintex Workflow 2010

Implement LazyApproval

This section provides instructions for implementing LazyApproval. Configure SharePoint email prerequisites This section provides instructions for completing SharePoint email settings that are required for using LazyApproval and sending email from Nintex workflows. SharePoint email settings include configuring incoming email, confirming that required services are running, and ensuring that incoming are sent to the correct servers. To configure incoming email for the farm

l See the following Microsoft article: Configure incoming email for a SharePoint 2013 farm. SharePoint automatically populates the incoming email address for the farm using the fully qualified domain of the server. To view or edit this address, go to the Central Administration Home page, click System Settings, and then click Configure Incoming E-mail Settings. To confirm that required services are running

l On each server in your farm that is running the service Microsoft SharePoint Foundation Incoming E-Mail, do the following:

For this Do this to confirm that the service is running: service...

Microsoft On the Central Administration Home page, click Manage SharePoint servers on this farm (under System Settings). Foundation Incoming E-Mail Microsoft On the Central Administration Home page, click Manage SharePoint servers on this farm (under System Settings). Foundation Web Application SMTP Reference the "Install and configure the SMTP service" section of the following Microsoft article: Configure incoming email for a SharePoint 2013 farm.

To ensure that incoming emails are sent to the correct servers (environments with multiple front-end servers)

l Configure your load balancer to forward incoming emails to servers with the SMTP service enabled. Refer to your organization's SharePoint environment documentation. Configure Nintex Workflow email settings This section provides instructions to configure email settings for Nintex Workflow. To configure email settings for Nintex Workflow 1. Ensure that the SharePoint email prerequisites are met. For more information, see "Configure SharePoint email prerequisites" above. 2. On the Central Administration Home page, click Nintex Workflow Management. 3. Click Global settings.

© 2014 Nintex | Privacy Policy | Terms & Conditions | Cookie Preferences | Nintex Support

-2- LazyApproval Guide: Nintex Workflow 2013 & Nintex Workflow 2010

4. Under Email settings, enter the following details.

l Outbound SMTP Server Enter the URL used for outgoing mail in your SharePoint farm. Example: exchange.example.com

l From Address Example: [email protected]

l Reply To Address Example: [email protected]

Note: When using LazyApproval, the Reply To Address must be identical to the alias specified on the LazyApproval settings page. If you would like the workflow-triggered emails to display an email address other than the configured LazyApproval account, then specify the different email address in From Address. Make sure that Reply To Address is the LazyApproval alias. This way the email sender can be identified as a portal email address, such as [email protected], while replies are sent to the LazyApproval alias, such as [email protected].

5. Edit other settings on the page as needed for your environment. 6. Click OK. Set up LazyApproval Once the Nintex Workflow email settings are configured, you are ready to set up LazyApproval. Setting up LazyApproval involves enabling LazyApproval for the server farm, configuring the LazyApproval alias for email, and optionally editing phrases recognized and ignored by the LazyApproval process. To set up LazyApproval 1. Ensure that SharePoint email prerequisites and Nintex Workflow email settings are configured. For more information, see "Configure SharePoint email prerequisites" on the previous page and "Configure Nintex Workflow email settings" on the previous page. 2. Go to the LazyApproval Settings page: a. On the Central Administration Home page, click Nintex Workflow Management. b. Click LazyApproval settings. c. Click Enable / Disable LazyApproval for the current server farm.

Note: The page displays a message if either of the following requirements is missing: email configuration for Nintex Workflow and incoming email for the farm. For more information, see "Configure SharePoint email prerequisites" on the previous page and "Configure Nintex Workflow email settings" on the previous page.

3. Under Enable LazyApproval via email, select Yes.

© 2014 Nintex | Privacy Policy | Terms & Conditions | Cookie Preferences | Nintex Support

-3- LazyApproval Guide: Nintex Workflow 2013 & Nintex Workflow 2010

4. In the text box, enter a unique account name. The alias is the name that will be used as the email address that sends the notifications and accepts the LazyApproval replies. The domain is determined by the incoming email address for the farm. To view or edit this address, go to the Central Administration Home page, click System Settings, and then click Configure Incoming E-mail Settings. Example: [email protected]

Note: Ensure that the email alias complies with standard SharePoint requirements for email-enabled document libraries and lists. For example, the email alias cannot have an inbox in Exchange as having one prevents transmission to SMTP.

Note: Contacts in Active Directory are not required. There is no need for Directory Management Service.

5. Click OK to save changes.

Note: If the Reply To Address setting under Nintex Workflow > Global settings differs from the Alias setting, then Nintex updates the Reply To Address setting to match the Alias setting. These email settings must be identical for LazyApproval to function.

The changes propagate to all servers within about 15 minutes. A list of phrases recognized and ignored by the LazyApproval process appears. 6. Add, edit, or remove phrases at your discretion.

l To add a recognized phrase, click Create a new LazyApproval term for the current server farm and enter the desired phrase and outcome.

l To edit a recognized phrase, click the phrase, then change settings in the Edit LazyApproval Phrase page.

l To remove a recognized phrase, click the phrase, then click Delete in the Edit LazyApproval Phrase page.

l To add an ignored phrase, click Create a term to ignore and enter the desired phrase.

l To remove an ignored phrase, click the Delete icon next to the phrase. The changes propagate to all servers within about 15 minutes. 7. (Optional) To implement changes immediately, run the IISreset command.

© 2014 Nintex | Privacy Policy | Terms & Conditions | Cookie Preferences | Nintex Support

-4- LazyApproval Guide: Nintex Workflow 2013 & Nintex Workflow 2010

Test LazyApproval

This section provides suggestions for testing LazyApproval. Confirm SharePoint farm email functionality You can confirm SharePoint farm email functionality by enabling email on a test document library or list and then sending a workflow response to that library or list.

Note: You can enable email on any library or list in the farm—it doesn’t have to be a library or list that is running a workflow using LazyApproval.

To enable email on a document library or list 1. Go to the settings page for the library or list:

l For a document library, click Library Settings on the Library ribbon.

l For a list, click List Settings on the List ribbon. 2. Under Communications, click Incoming E-mail Settings. 3. Under Allow this document library to receive e-mail? (for a library), click Yes. 4. Under E-mail address, enter a unique account name for the library or list email address. 5. Under E-Mail security policy, select an option. We recommend testing with each option. 6. Edit other options as desired and then click OK to save changes.

Note: For testing purposes, we recommend clicking Yes for Save original e-mail?.

To test email sent to the library or list 1. Open the library or list that was configured in the previous procedure for monitoring. 2. Send email to the email address configured for the library or list in the previous procedure. 3. Monitor the library or list for receipt of the email. Receipt of the email in the library or list confirms that incoming email is working. To test LazyApproval email sent to the library or list 1. Initiate a response to a workflow-triggered email. 2. Edit the reply-to email address to match the unique email address configured for the library or list in the previous procedure. 3. Open the library or list that was configured in the previous procedure for monitoring. 4. Send the email. 5. Monitor the library or list for receipt of the email. Receipt of the LazyApproval email in the library or list confirms that incoming email is working and that LazyApproval emails are being transmitted.

© 2014 Nintex | Privacy Policy | Terms & Conditions | Cookie Preferences | Nintex Support

-5- LazyApproval Guide: Nintex Workflow 2013 & Nintex Workflow 2010

Enable LazyApproval on an action LazyApproval is available for use with the following actions:

l Assign Flexi task

l Request approval

l Request data

l Request review

Note: Custom outcomes can be added when using the Assign Flexi task action.

To enable LazyApproval on an action

l In the Configure Action dialog box, select the option for enabling LazyApproval. For most actions, the option is named Allow LazyApproval; for the Request data action, the option is named Enable responses by email using LazyApproval. Test LazyApproval setup This section describes some approaches to testing LazyApproval setup. Confirm the reply-to email address You can confirm validity of the reply-to email address used for LazyApproval emails by comparing the reply-to email address to the configured LazyApproval email alias. To confirm validity of the reply-to email address 1. Initiate a response to a workflow-triggered email. 2. Note the reply-to email address. 3. View the email alias configured for LazyApproval. For instructions, see "Set up LazyApproval" on page 3. The reply-to email address noted should be the same as the configured email alias. 4. If the reply-to email address does not match the email alias configured for LazyApproval, then edit the Reply To Address setting under Nintex Workflow > Global settings (or update the configured LazyApproval email alias to match). For instructions on editing the Reply To Address setting, see "Configure Nintex Workflow email settings" on page 2. The Reply To Address setting under Nintex Workflow > Global settings must be identical to the Email alias setting under Nintex Workflow > LazyApproval settings for LazyApproval to function. Monitor the SMTP drop folder You can monitor email responses for LazyApproval by watching the drop directory configured for the domain of the SMTP service. The SMTP service is installed when you configure incoming email for the SharePoint farm. For more information, see "Configure SharePoint email prerequisites" on page 2. To monitor email responses for LazyApproval 1. On each server hosting SMTP, open the drop directory configured for the domain in SMTP settings. The default drop directory is C:\inetpub\mailroot\Drop.

© 2014 Nintex | Privacy Policy | Terms & Conditions | Cookie Preferences | Nintex Support

-6- LazyApproval Guide: Nintex Workflow 2013 & Nintex Workflow 2010

To determine the drop directory used for your domain, open the Internet Information Services (IIS) 6.0 Manager, expand the server, expand the SMTP service, expand the Domains folder, right-click the domain, and then select Properties. 2. Send an email response to a workflow-triggered email. 3. Watch the drop directory for the brief appearance of the email response before it is processed. Appearance of an email response is a good indicator that SMTP is working as expected.

© 2014 Nintex | Privacy Policy | Terms & Conditions | Cookie Preferences | Nintex Support

-7- LazyApproval Guide: Nintex Workflow 2013 & Nintex Workflow 2010

Troubleshoot LazyApproval

This section provides helpful troubleshooting tips. Errors and issues This section provides resolutions to known errors and issues. Error: Nintex Workflow was unable to interpret your response

Symptom An email with the following text is received after sending a reply to a LazyApproval email request.

Nintex Workflow was unable to interpret your response. Please try again with a clear indication of your approval outcome. The email includes a list of recognized phrases for LazyApproval.

Cause The body of the email reply did not include a recognized phrase for LazyApproval.

Resolution Send an email reply using a recognized phrase. Alternatively, edit the recognized phrases for LazyApproval. For instructions on editing recognized phrases, see "Set up LazyApproval" on page 3. Error: Unable to match response to running workflow / bounce

Symptom An email with the following text is received after sending a reply to a LazyApproval email request.

Nintex Workflow was unable to match this response to a running workflow. When replying to Nintex Workflow emails, ensure the subject line of the email remains unchanged. The reply email message is visible in the SMTP drop folder.

Cause Bounce Address Tag Validation (BATV) is turned on. BATV modifies email headers; for example, a Simple Private Signature ("prvs=xxxxxxx=") is inserted into the sender portion of the email header file. This environment configuration is not supported for LazyApproval.

Resolution Contact your Exchange administrator to turn off BATV. Error: Unable to match response to running workflow / token

Symptom An email with the following text is received after sending a reply to a LazyApproval email request.

Nintex Workflow was unable to match this response to a running workflow. When replying to Nintex Workflow emails, ensure the subject line of the email remains unchanged.

© 2014 Nintex | Privacy Policy | Terms & Conditions | Cookie Preferences | Nintex Support

-8- LazyApproval Guide: Nintex Workflow 2013 & Nintex Workflow 2010

Cause The LazyApproval token that appears in square brackets, such as [#XXXXXX], may have been modified or removed from the subject line by one of the following:

l The person sending the reply.

l The Exchange Server.

Resolution Depending on the cause, you can resolve the error through one of the following actions:

l Advise users to avoid modifying the LazyApproval token in the subject line of the email.

l Ensure that the LazyApproval email address does not have an inbox in Exchange and that it otherwise complies with standard SharePoint requirements for email- enabled libraries and lists. Error: Unauthorized attempt

Symptom An email with the following text is received after sending a reply to a LazyApproval email request.

Unauthorized attempt to update approval task by DOMAIN\Username, [email protected]. The response has not been recorded.

Cause The server that is processing the email received for the LazyApproval workflow is not running all required services.

Resolution Ensure that each web front end (WFE) server on the farm that might be used to process emails for the LazyApproval workflow is running all of the following services.

l Microsoft SharePoint Foundation Web Application

l Microsoft SharePoint Foundation Workflow Timer Service

l SMTP In addition, ensure that Nintex Workflow DLLs are registered in the Global Assembly Cache (GAC). For more information about the SharePoint services required to run workflows, see the following Nintex article: Workflows and the SharePoint services required to run them. Error: You are not permitted to respond to this task

Symptom The following error appears when you reply to a workflow-triggered email message:

You are not permitted to respond to this task.

Cause Active Directory may have multiple entries for the email account used to reply to the email message.

Resolution Remove duplicate entries from Active Directory.

© 2014 Nintex | Privacy Policy | Terms & Conditions | Cookie Preferences | Nintex Support

-9- LazyApproval Guide: Nintex Workflow 2013 & Nintex Workflow 2010

Issue: Workflow does not start

Symptom The workflow does not start when email is sent to the document library or list.

Cause The SPWebService for the related web applications is not configured for automatic starting of workflows on email-enabled libraries or lists.

Resolution Configure the SPWebService.DeclarativeWorkflowAutostartOnEmailEnabled property to automatically start workflows on email-enabled libraries and lists. For more information about this property, see the following Microsoft article: SPWebService.DeclarativeWorkflowAutostartOnEmailEnabled property. To automatically start workflows on email-enabled libraries and lists

l Run the following Stsadm operation: stsadm.exe –o setproperty –propertyname declarativeworkflowautostartonemailenabled – propertyvalue yes Common configuration issues This section describes resolutions to common issues with configuration.

l Confirm that the Nintex Workflow Reply To Address setting matches the LazyApproval Email alias setting. See "Set up LazyApproval" on page 3 and "Configure Nintex Workflow email settings" on page 2.

l Confirm that the SMTP domain server is properly set. See the following Microsoft article: Configure incoming email for a SharePoint 2013 farm.

l Review all configuration settings. See "Implement LazyApproval" on page 2.

l If an issue occurs with email transmission, one configuration setting to review is the SMTP domain server. Try changing the server name to the IP address. Go to Nintex Workflow Management > Global settings > Outbound SMTP Server. For more context, see "Configure Nintex Workflow email settings" on page 2.

l Revert the environment to an earlier state. A recent change such as a new spam filter or antivirus setting may cause issues. Check for this situation by reverting the environment to an earlier state and retesting to see if issues still occur.

© 2014 Nintex | Privacy Policy | Terms & Conditions | Cookie Preferences | Nintex Support

-10-