A Text Field Contains Invalid Data Please Check the Value and Try Again Sharepoint Workflow
In this article, I want to share my feel working with SharePoint Workflows via SharePoint Designer. Sometimes it may be very painful, just I hope afterwards reading this article you lot will not step on the aforementioned rake.
Do not log Dictionary variable to Log to History
This is a very mutual issue, your workflow merely stucks in the started state with following error:
Retrying last request. Next effort scheduled in less than one minute. Details of last request: HTTP InternalServerError to https://plumsail.sharepoint.com/sites/Test/_api/web/lists(guid'04dc3f6a-968e-4ce0-a7cc-10949dfb15db')/Items Correlation Id: f54b9d7e-5242-1408-b066-5239a7b01c0a Instance Id: 967e7b1b-96cd-4fbf-b6d4-4df91199831b Invalid text value. A text field contains invalid data. Please cheque the value and try again. Retry at present
It occurs because your data is too large. This workflow activeness can brandish a limited number of symbols. Otherwise, such fault occurs. As a workaround, you can use Send E-Mail with Attachments (SMTP) action instead of Log to history.
If you send dictionary past electronic mail you tin receive its structure in JSON format. It is very helpful to sympathise the construction.
Exist careful using Get an Item from Lexicon
Usually, you need to get an item from an assortment and y'all use 'Get an Item from Dictionary' workflow activity like this:
Withal, please exist careful because if you have extra whitespace in the path, your workflow tin be stuck into suspended status with the post-obit fault:
RequestorId: 261892b4-cf71-e580-0000-000000000000. Details: An unhandled exception occurred during the execution of the workflow case. Exception details: Organization.FormatException: The DynamicValue property '(0) ' was incorrectly formatted. at Microsoft.Activities.Dynamic.DynamicValueBuilder.PathSegmentFactory.Parse(String segmentText, Cord fullPathName) at Microsoft.Activities.Dynamic.DynamicValueBuilder.PathSegmentFactory.Create(String segment, PathSegment next, String path) at Microsoft.Activities.Dynamic.DynamicValueBuilder.PathSegmentFactory.Create(String path) at Microsoft.Activities.GetDynamicValueProperty`1.Execute(CodeActivityContext context) at System.Activities.CodeActivity`1.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager) at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation) Exception from activity GetDynamicValueProperty Sequence Microsoft.SharePoint.WorkflowServices.Activities.LoopNTimes Examination WF Sequence Flowchart Sequence GetGroupMembers.WorkflowXaml_a9b1b4bd_9995_41a1_9da2_f8f57ce75c54
SharePoint Designer Cache Errors
The following error is very common when yous work with SharePoint Designer:
"Failed to Load this workflow. To right this trouble, restart SharePoint Designer."
To resolve it, you lot demand to articulate SharePoint Designer cache
And hither is a control for the command line to do it:
rmdir "%LOCALAPPDATA%\Microsoft\WebsiteCache\" /due south /q rmdir "%APPDATA%\Microsoft\SharePoint Designer\ProxyAssemblyCache\" /due south /q
Create self-documented workflow using stages
Yous should know how fast you can forget something that you did some time ago when you are using workflow. Please, try to utilize correct stage names and divide your workflow into small pieces of actions (like procedures in programming languages). In addition, y'all can employ Add together a Comment workflow activeness to exit additional comments in your workflow.
As an example of a self-documented workflow I can provide a Nootification workflow that is described in another article.
Use Dynamic Value Evaluator to check your expression
Information technology is useful when you use 'Get an Item from Dictionary', you can easily check your expression using Dynamic Value Evaluator. For case, you accept some data in your dictionary and want to build a path to retrieve it. This is a tool which can aid you to do it. Just past JSON structure of your dictionary into a textbox and write your path, then click 'Run'. It volition show what event you can wait.
Lookup User Name/Login/Email past ID
Indeed, this is i of my favorite features, you tin can use any cord variable with an integer value and lookup user data by ID. The example beneath returns correct display proper noun of the user by specific ID.
You just have an ID, but call up a brandish name.
Become Date in required format
You can use out of the box method as in the effigy below:
Additionally, you can use free custom activity Format Date from Plumsail Workflow Deportment Pack.
Use Requestb.in to check your query
When you use 'Call HTTP Spider web Service' y'all demand to run into how your request looks. RequestBin service tin can assist you with that, it only logs all queries and shows them to you.
Use App Step to get admission
This is a difficult to use feature, but in some situations, it is the merely way to get required data. Moreover, you can use app-step to become data (for example via REST request) from another web. To utilise it you take to activate the feature that is called 'Workflows can use app permissions'. After that, yous need to manually grant necessary permissions to your workflow via AppInv.aspx page. You can observe more info on MSDN.
Determination
In this commodity, I have tried to collect most interesting notes, which I promise tin can save a huge amount of your time while creating your workflows. SharePoint 2013 workflows are quite flexible and allow you to use complex objects and loops, but sometimes they just hit you in the stomach with some not-obvious errors.
Source: https://plumsail.com/blog/sharepoint-2013-designer-and-workflow-tips