Show / Hide Table of Contents

Class NSWorkflowAgent

Workflow data services.

Syntax
Examples
NSWorkflowAgent agent;
agent.callMethod(arg1, arg2);

Constructors

NSWorkflowAgent()

Initializes a new instance of the NSWorkflowAgent class.

Declaration
NSWorkflowAgent
Examples
NSWorkflowAgent agent;
agent.callMethod(arg1, arg2);

Methods

AddAfterWorkflowStep(Integer,NSWorkflowStepBase)

Add another step (and any of its substeps) after the given step id (which must exist), and move any following steps in the workflow further down the line.

Declaration
NSWorkflowStepBase AddAfterWorkflowStep(Integer workflowStepId, NSWorkflowStepBase subStep)
Parameters
Type Name Description
Integer workflowStepId

Primary key of WorkflowStep

NSWorkflowStepBase subStep

The step to be inserted after given step id.

Returns
Type Description
NSWorkflowStepBase

The added step

Examples
NSWorkflowAgent agent;
Integer workflowStepId;
NSWorkflowStepBase subStep;
NSWorkflowStepBase res = agent.AddAfterWorkflowStep(workflowStepId, subStep);

ConnectEmailFlowContent(Integer,Integer)

Link any SMessage to the email flow. The SMessage (and any related SShipment etc) should probably not be used/visible elsewhere.

Declaration
void ConnectEmailFlowContent(Integer emailFlowId, Integer messageId)
Parameters
Type Name Description
Integer emailFlowId

The EmailFlow to connect the message to.

Integer messageId

The s_message to connect to the flow. A shipment, form or flow may be connected to that s_message.

Examples
NSWorkflowAgent agent;
Integer emailFlowId;
Integer messageId;
agent.ConnectEmailFlowContent(emailFlowId, messageId);

CopyEmailFlow(Integer,String)

Copy an email flow.

Declaration
Integer CopyEmailFlow(Integer emailFlowId, String newName)
Parameters
Type Name Description
Integer emailFlowId

The EmailFlow to copy.

String newName

The name of the new email flow

Returns
Type Description
Integer

Newly created email flow id for this content

Examples
NSWorkflowAgent agent;
Integer emailFlowId;
String newName;
Integer res = agent.CopyEmailFlow(emailFlowId, newName);

CopyEmailFlowContent(Integer,Integer)

Copy smessage and connected shipment to the email flow. The SMessage (and any related SShipment etc) should probably not be used/visible elsewhere.

Declaration
Integer CopyEmailFlowContent(Integer emailFlowId, Integer shipmentId)
Parameters
Type Name Description
Integer emailFlowId

The EmailFlow to connect the copied content to.

Integer shipmentId

The id of the shipment to copy to the flow. The message of this shipment will also be connected

Returns
Type Description
Integer

Newly created shipment id for this content

Examples
NSWorkflowAgent agent;
Integer emailFlowId;
Integer shipmentId;
Integer res = agent.CopyEmailFlowContent(emailFlowId, shipmentId);

CreateDefaultEmailFlow()

Loading default values into a new NSEmailFlow NetServer calculates default values (e.g. Country) on the entity, which is required when creating/storing a new instance

Declaration
NSEmailFlow CreateDefaultEmailFlow()
Returns
Type Description
NSEmailFlow

New NSEmailFlow with default values.

Examples
NSWorkflowAgent thing;
NSEmailFlow emailFlow = thing.CreateDefaultEmailFlow();

CreateDefaultWorkflowEvent()

Loading default values into a new NSWorkflowEvent NetServer calculates default values (e.g. Country) on the entity, which is required when creating/storing a new instance

Declaration
NSWorkflowEvent CreateDefaultWorkflowEvent()
Returns
Type Description
NSWorkflowEvent

New NSWorkflowEvent with default values

Examples
NSWorkflowAgent agent;
NSWorkflowEvent event = agent.CreateDefaultWorkflowEvent();

CreateDefaultWorkflowEventResult()

Loading default values into a new NSWorkflowEventResult NetServer calculates default values (e.g. Country) on the entity, which is required when creating/storing a new instance

Declaration
NSWorkflowEventResult CreateDefaultWorkflowEventResult()
Returns
Type Description
NSWorkflowEventResult

New NSWorkflowEventResult with default values

Examples
NSWorkflowAgent agent;
NSWorkflowEventResult result = agent.CreateDefaultWorkflowEventResult();

CreateDefaultWorkflowFilter()

Loading default values into a new NSWorkflowFilter NetServer calculates default values (e.g. Country) on the entity, which is required when creating/storing a new instance

Declaration
NSWorkflowFilter CreateDefaultWorkflowFilter()
Returns
Type Description
NSWorkflowFilter

New NSWorkflowFilter with default values

Examples
NSWorkflowAgent agent;
NSWorkflowFilter filter = agent.CreateDefaultWorkflowFilter();

CreateDefaultWorkflowGoal()

Loading default values into a new NSWorkflowGoal NetServer calculates default values (e.g. Country) on the entity, which is required when creating/storing a new instance

Declaration
NSWorkflowGoal CreateDefaultWorkflowGoal()
Returns
Type Description
NSWorkflowGoal

New NSWorkflowGoal with default values

Examples
NSWorkflowAgent agent;
NSWorkflowGoal goal = agent.CreateDefaultWorkflowGoal();

CreateDefaultWorkflowStepFromType(WorkflowStepType)

Creates a new carrier from the step type given, with the right kind of properties, defaults set.

Declaration
NSWorkflowStepBase CreateDefaultWorkflowStepFromType(WorkflowStepType stepType)
Parameters
Type Name Description
WorkflowStepType stepType

Step type to create

Returns
Type Description
NSWorkflowStepBase

The created workflow step

Examples
NSWorkflowAgent agent;
WorkflowStepType stepType;
NSWorkflowStepBase res = agent.CreateDefaultWorkflowStepFromType(stepType);

CreateDefaultWorkflowStepOptionFromType(WorkflowSplitOptionType)

Creates a new carrier from the option type given, with the right kind of properties, defaults set.

Declaration
NSWorkflowStepOptionBase CreateDefaultWorkflowStepOptionFromType(WorkflowSplitOptionType optionType)
Parameters
Type Name Description
optionType

Option type to create.

Returns
Type Description
NSWorkflowStepOptionBase

The created workflow step option.

Examples
NSWorkflowAgent agent;
agent.callMethod(arg1, arg2);

CreateDefaultWorkflowTrigger()

Loading default values into a new NSWorkflowTrigger NetServer calculates default values (e.g. Country) on the entity, which is required when creating/storing a new instance

Declaration
NSWorkflowTrigger CreateDefaultWorkflowTrigger()
Returns
Type Description
NSWorkflowTrigger

New NSWorkflowTrigger with default values

Examples
NSWorkflowAgent agent;
NSWorkflowTrigger trigger = agent.CreateDefaultWorkflowTrigger();

CreateDefaultWorkflowWaitForAction()

Loading default values into a new NSWorkflowWaitForAction NetServer calculates default values (e.g. Country) on the entity, which is required when creating/storing a new instance

Declaration
NSWorkflowWaitForAction CreateDefaultWorkflowWaitForAction()
Returns
Type Description
NSWorkflowWaitForAction

New NSWorkflowWaitForAction with default values

Examples
NSWorkflowAgent agent;
NSWorkflowWaitForAction action = agent.CreateDefaultWorkflowWaitForAction();

CreateEmailFlowContent(Integer,String)

Create content to an email flow

Declaration
Integer CreateEmailFlowContent(Integer emailFlowId, String contentName)
Parameters
Type Name Description
Integer emailFlowId

The EmailFlow to connect the created message to.

String contentName

The name of the content created

Returns
Type Description
Integer

Id of shipment created

Examples
NSWorkflowAgent agent;
Integer emailFlowId;
String contentName;
Integer res = agent.CreateEmailFlowContent(emailFlowId, contentName);

DeleteEmailFlow(Integer)

Deletes the NSEmailFlow

Declaration
void DeleteEmailFlow(Integer emailFlowId)
Parameters
Type Name Description
Integer emailFlowId

The identity of the EmailFlow

Examples
NSWorkflowAgent agent;
Integer emailFlowId;
agent.DeleteEmailFlow(emailFlowId);

DeleteWorkflowGoal(Integer)

Deletes the NSWorkflowGoal

Declaration
void DeleteWorkflowGoal(Integer workflowGoalId)
Parameters
Type Name Description
Integer workflowGoalId

The identity of the WorkflowGoal

Examples
NSWorkflowAgent agent;
Integer workflowGoalId;
agent.DeleteWorkflowGoal(workflowGoalId);

DeleteWorkflowTrigger(Integer)

Deletes the NSWorkflowTrigger

Declaration
void DeleteWorkflowTrigger(Integer workflowTriggerId)
Parameters
Type Name Description
Integer workflowTriggerId

The identity of the WorkflowTrigger

Examples
NSWorkflowAgent agent;
Integer workflowTriggerId;
agent.DeleteWorkflowTrigger(workflowTriggerId);

DeleteWorkflowWaitForAction(Integer)

Deletes the NSWorkflowWaitForAction

Declaration
void DeleteWorkflowWaitForAction(Integer workflowWaitForActionId)
Parameters
Type Name Description
Integer workflowWaitForActionId

The identity of the WorkflowWaitForAction

Examples
NSWorkflowAgent agent;
Integer workflowWaitForActionId;
agent.DeleteWorkflowWaitForAction(workflowWaitForActionId);

GetEmailFlow(Integer)

Gets a NSEmailFlow object.

Declaration
NSEmailFlow GetEmailFlow(Integer emailFlowId)
Parameters
Type Name Description
Integer emailFlowId

The identifier of the NSEmailFlow object

Returns
Type Description
NSEmailFlow

NSEmailFlow

Examples
NSWorkflowAgent agent;
Integer emailFlowId;
NSEmailFlow flow = agent.GetEmailFlow(emailFlowId);

GetWorkflowGoal(Integer)

Gets a NSWorkflowGoal object.

Declaration
NSWorkflowGoal GetWorkflowGoal(Integer workflowGoalId)
Parameters
Type Name Description
Integer workflowGoalId

The identifier of the NSWorkflowGoal object

Returns
Type Description
NSWorkflowGoal

NSWorkflowGoal

Examples
NSWorkflowAgent agent;
Integer workflowGoalId;
NSWorkflowGoal goal = agent.GetWorkflowGoal(workflowGoalId);

GetWorkflowStep(Integer)

Get Workflowstep by ID

Declaration
NSWorkflowStepBase GetWorkflowStep(Integer workflowStepId)
Parameters
Type Name Description
Integer workflowStepId

Primary key of WorkflowStep

Returns
Type Description
NSWorkflowStepBase

The Workflow step

Examples
NSWorkflowAgent agent;
Integer workflowStepId;
NSWorkflowStepBase step = agent.GetWorkflowStep(workflowStepId);

GetWorkflowStepOption(Integer)

Get WorkflowStepOption by ID.

Declaration
NSWorkflowStepOptionBase GetWorkflowStepOption(Integer workflowStepOptionId)
Parameters
Type Name Description
Integer workflowStepOptionId

Primary key of WorkflowStep option.

Returns
Type Description
NSWorkflowStepOptionBase

The Workflow step option.

Examples
NSWorkflowAgent agent;
agent.callMethod(arg1, arg2);

GetWorkflowTrigger(Integer)

Gets a NSWorkflowTrigger object.

Declaration
NSWorkflowTrigger GetWorkflowTrigger(Integer workflowTriggerId)
Parameters
Type Name Description
Integer workflowTriggerId

The identifier of the NSWorkflowTrigger object

Returns
Type Description
NSWorkflowTrigger

NSWorkflowTrigger

Examples
NSWorkflowAgent agent;
Integer workflowTriggerId;
NSWorkflowTrigger trigger = agent.GetWorkflowTrigger(workflowTriggerId);

GetWorkflowWaitForAction(Integer)

Gets a NSWorkflowWaitForAction object.

Declaration
NSWorkflowWaitForAction GetWorkflowWaitForAction(Integer workflowWaitForActionId)
Parameters
Type Name Description
Integer workflowWaitForActionId

The identifier of the NSWorkflowWaitForAction object

Returns
Type Description
NSWorkflowWaitForAction

NSWorkflowWaitForAction

Examples
NSWorkflowAgent agent;
Integer workflowWaitForActionId;
NSWorkflowWaitForAction action = agent.GetWorkflowWaitForAction(workflowWaitForActionId);

RemoveParticipantsFromEmailFlow(Integer,Integer[])

Remove participants (actually workflow instances) from the workflow

Declaration
void RemoveParticipantsFromEmailFlow(Integer emailFlowId, Integer[] workflowInstanceIds)
Parameters
Type Name Description
Integer emailFlowId

Primary key of EmailFlow

Integer[] workflowInstanceIds

Array of Workflow instances (representing participants) to be completely removed from the workflow

Examples
NSWorkflowAgent agent;
Integer emailFlowId;
Integer[] workflowInstanceIds;
agent.RemoveParticipantsFromEmailFlow(emailFlowId, workflowInstanceIds);

Run()

Run the workflow engine right now

Declaration
DateTime Run()
Returns
Type Description
DateTime

Suggested time for next run

Examples
NSWorkflowAgent agent;
DateTime nextRun = agent.Run();

SaveEmailFlow(NSEmailFlow)

Updates the existing NSEmailFlow or creates a new NSEmailFlow if the id parameter is empty

Declaration
NSEmailFlow SaveEmailFlow(NSEmailFlow emailFlow)
Parameters
Type Name Description
NSEmailFlow emailFlow

The NSEmailFlow that is saved.

Returns
Type Description
NSEmailFlow

New or updated NSEmailFlow

Examples
NSWorkflowAgent agent;
NSEmailFlow emailFlow;
NSEmailFlow res = agent.SaveEmailFlow(emailFlow);

SaveWorkflowGoal(NSWorkflowGoal)

Updates the existing NSWorkflowGoal or creates a new NSWorkflowGoal if the id parameter is empty

Declaration
NSWorkflowGoal SaveWorkflowGoal(NSWorkflowGoal workflowGoal)
Parameters
Type Name Description
NSWorkflowGoal workflowGoal

The NSWorkflowGoal that is saved.

Returns
Type Description
NSWorkflowGoal

New or updated NSWorkflowGoal

Examples
NSWorkflowAgent agent;
NSWorkflowGoal goal;
NSWorkflowGoal res = agent.SaveWorkflowGoal(goal);

SaveWorkflowTrigger(NSWorkflowTrigger)

Updates the existing NSWorkflowTrigger or creates a new NSWorkflowTrigger if the id parameter is empty

Declaration
NSWorkflowTrigger SaveWorkflowTrigger(NSWorkflowTrigger workflowTrigger)
Parameters
Type Name Description
NSWorkflowTrigger workflowTrigger

The NSWorkflowTrigger that is saved.

Returns
Type Description
NSWorkflowTrigger

New or updated NSWorkflowTrigger

Examples
NSWorkflowAgent agent;
NSWorkflowTrigger trigger;
NSWorkflowTrigger res = agent.SaveWorkflowTrigger(trigger);

SaveWorkflowWaitForAction(NSWorkflowWaitForAction)

Updates the existing NSWorkflowWaitForAction or creates a new NSWorkflowWaitForAction if the id parameter is empty

Declaration
NSWorkflowWaitForAction SaveWorkflowWaitForAction(NSWorkflowWaitForAction workflowWaitForAction)
Parameters
Type Name Description
NSWorkflowWaitForAction workflowWaitForAction

The NSWorkflowWaitForAction that is saved.

Returns
Type Description
NSWorkflowWaitForAction

New or updated NSWorkflowWaitForAction

Examples
NSWorkflowAgent agent;
NSWorkflowWaitForAction action;
NSWorkflowWaitForAction res = agent.SaveWorkflowWaitForAction(action);

SendEvent(NSWorkflowEvent)

Send a workflow event. Most event signaling will finish very quickly as they normally just change the state of a workflow instance

Declaration
NSWorkflowEventResult SendEvent(NSWorkflowEvent workflowEvent)
Parameters
Type Name Description
NSWorkflowEvent workflowEvent

Information about the signaled event

Returns
Type Description
NSWorkflowEventResult

Any relevant info about the event

Examples
NSWorkflowAgent agent;
NSWorkflowEvent event;
NSWorkflowEventResult res = agent.SendEvent(event);

SetStatusOnWorkflow(Integer,WorkflowDefinitionStatus)

Set status on workflow, Run or pause flow

Declaration
WorkflowDefinitionStatus SetStatusOnWorkflow(Integer emailFlowId, WorkflowDefinitionStatus status)
Parameters
Type Name Description
Integer emailFlowId

The id of the email flow to run or pause

WorkflowDefinitionStatus status

The new status

Returns
Type Description
WorkflowDefinitionStatus

The new status

Examples
NSWorkflowAgent agent;
Integer emailFlowId;
WorkflowDefinitionStatus status;
WorkflowDefinitionStatus res = agent.SetStatusOnWorkflow(emailFlowId, status);

TryAddPersonsToEmailFlow(Integer,Integer[])

Try to add a participant to the EmailFlow. Same function available in PersonAgent

Declaration
Bool[] TryAddPersonsToEmailFlow(Integer emailFlowId, Integer[] personIds)
Parameters
Type Name Description
Integer emailFlowId

Primary key of EmailFlow

Integer[] personIds

Array of Person Ids

Returns
Type Description
Bool[]

True if the corresponding participant was successfully added, false if it could not be added because of filter criteria or other reason

Examples
NSWorkflowAgent agent;
Integer emailFlowId;
Integer[] personIds;
Bool[] res = agent.TryAddPersonsToEmailFlow(emailFlowId, personIds);

UpdateFormSubmissions(Integer)

Attempt to update stored field values for up to the given number of form submissions

Declaration
Integer UpdateFormSubmissions(Integer maxCount)
Parameters
Type Name Description
Integer maxCount

The maximum number of form submissions to attempt to save as form field values.

Returns
Type Description
Integer

Number of form submissions converted

Examples
NSWorkflowAgent agent;
Integer maxCount;
Integer res = agent.UpdateFormSubmissions(maxCount);
In This Article
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top