Workflow Activities

Workflows are created and edited using the Workflow Designer which includes many building blocks (Activities) for submitting Jobs, updating JAMS Variables, and many more JAMS specific tasks.

Below is a listing and a brief description of Activities available in JAMS Workflow Designer. Each Activity is organized by grouping, with some containing links to their corresponding class and property descriptions in the Developers Guide. Note that some tasks listed here require JAMS Integration Packs.

JAMS Grouping

AskQuestion Used to halt an executing workflow until user input is provided. This Activity sends the question to the JAMS Scheduler and displays the question in the Monitor View. Users with Manage access for the Job can respond to the question using the Monitor View detail window.
GetVariable Gets the value of a JAMS variable.
ManageActivity Provides an execution scope in which Activities can be canceled or retried.
Repeat Hosts one Activity that is repeated at an interval.
SetJAMSContext This is necessary only if you are using JAMS Activities in a non-JAMS environment. When a JAMS workflow is executed, the JAMS Context is automatically established. If using Activities outside of JAMS, you can either set the JAMS Server in each Activity or add a SetJAMSContext activity to the workflow allowing all subsequent JAMS Activities to utilize the JAMS Server.
SetVariable Sets the value of a JAMS variable.
TimeLimit Executes it’s child Activity until completed or if a set time limit is reached.
SetToday Sets the value of “today” in the workflow.
Comment Allows its child Activity to be enabled or disabled.
SubmitEntry Submits another JAMS Job. The Activity can wait for the completion of the submitted Job and can take different actions depending on the success or failure of the entry. You can use the OverridePriority property to set the property of the submitted entry. If a number value is specified for the property, it will be set on the entry and override the value on the Job. The user that the Workflow runs as must have the Manage access to the Job being submitted.

SQL Grouping

OdbcScript Runs SQL commands through an ODBC connection.
OleDbScript Runs SQL commands through an OLEDB connection.
SQlScript Runs SQL commands
SQLStoredProc Executes a SQL stored procedure.
SQLQueryScalar<T> Runs a query on a SQL Server database and outputs the first results into a Workflow variable of the specific Type.

Oracle Grouping

OracleQueryScalar<T> Runs a query on a Oracle database and outputs the first results into a Workflow variable of the specific Type.
SQL*Plus Script Runs a SQL*Plus script on an Oracle database.

Execution Grouping

CMDScript Runs a command script.
ExecuteCMD Executes a single command using CMD.EXE.
ExecuteProcess Executes any process or executable.
Cancelable Includes an option to send a cancellation request to its body Activity.

PowerShell Grouping

PSWrapper Wrapper around a PowerShell function or command.
PSRunspace Defines the scope of a PowerShell runspace.
PSScript Runs a PowerShell script.

Communication Grouping

SendEmail Sends email using SMTP.

Files Grouping

ForEachFile Finds the designated files within a directory matching a wildcard pattern.
UnzipFiles Unzips a .Zip file.
WaitforFile Waits for events on a specified file.
ZipFiles Creates a .Zip file.

Files Transfer Grouping

FtpDownload Downloads a file using FTP or SecureFTP (SFTP)
FtpUpload Uploads a file using FTP or SFTP
SftpDownload Downloads a file using Secure FTP (SFTP)
SftpUpload Uploads a file using Secure FTP (SFTP)
ScpDownload Downloads a file using Secure Copy Protocol (SCP)
ScpUpload Uploads a file using Secure Copy Protocol (SCP)
S3Download Downloads a file using Amazon's Simple Storage Service (S3)
S3Upload Uploads a file using Amazon's Simple Storage Service (S3)

File Transfer Session Grouping

SFTPSession Hosts an SFTP connection for other FileTransferSession Activities.
FTPSession Hosts an FTP connection for other FileTransferSession Activities.
ScpSession Hosts an SCP connection for other FileTransferSession Activities.
S3Session Hosts an Amazon S3 connection for other FileTransferSession Activities.
FileTransferSessionUpload Uploads a file within the current file transfer session.
FileTransferSessionDownload Downloads a file within the current file transfer session
FileTransferSessionDelete Deletes a file within the current transfer session.
FileTransferSessionRename Renames a file within the current transfer session.
FileTransferSessionChangeDirectory Changes the working directory in the current file transfer session.
FileTransferSessionGetCurrentDirectory Gets the working directory in the current file transfer session.
FileTransferSessionGetFileList Gets the listing of files in a directory for the current file transfer session.
FileTransferSessionGetFileCreationDate Gets the files creation date for the current file transfer session.
FileTransferSessionGetFileLength Gets the files size for the current file transfer session.
FileTransferSessionSendCommand Sends a command during the current file transfer session.

 Mail Server Session Grouping

EWSSession

Creates an EWS Session that hosts a mail server connection. When using Microsoft Office 365 Modern Authentication, specify the EWS Connection Store object in the JAMSConnection field. The Connection should have the ClientId, TenantId, and ClientSecret. To specify the email address, add it to a Credential and select it in the JAMSUsername field or enter it in the Username field.

NOTE: To use this updated EWSSession activity with Modern Authentication, update your JAMS Client and JAMS Scheduler.
IMAPSession Creates an IMAP Session that host a mail server connection.
POPSession Creates an POP Session that host a mail server connection.
DeleteMailMessage Deletes a mail message on a mail server with a corresponding header.
GetMailHeaderList Gets a collection of mail headers on a mail server that matches the specified mask. The returned collection is a list of JAMSMailMessageInfo objects.
GetMailMessage Gets a JAMSMailMessage object for the specified header on a mail server.
GetMailServerFolder Gets the current folder on a mail server.
ProcessEmails Looks for one or more emails matching a specified mask and invokes the body Activity for all matching email.
SaveMessageAttachments Saves attachments on a mail message to the file system.
SetMailServerFolder Sets the current folder on the mail server.
ForEachMailMessage Looks for one or email messages matching a mail specification and invokes the body Activity once for each matching message.
ForEachAttachment Looks for one or more mail messages matching a mail specification, then downloads the attachments to the specified working directory and invokes the body Activity for each matching file.

Coordinators Grouping

ClearEvent Sets the specified event to false.
SetEvent Sets the event time.
WaitforEvent Waits for the specified event to be set by a SetEvent Activity. If the event has already been set, the WaitForEvent Activity completes immediately.

Control Flow Grouping

DoWhile Executes the Activity contained in its body at least once until a specified condition evaluates to false.
ForEach<T> Executes an Activity action once for each value provided in the values collection.
If Provides a conditional if-then-else condition.
Parallel Is a container object that executes multiple child Activities at the same time. This class cannot be inherited.
ParallelForEach<T> Enumerates a collection and executes an Activity for each element of the collection in parallel.
Pick Contains a collection of PickBranch Activities where each PickBranch is a pairing between a Trigger and an Action Activity. At execution time the triggers for all branches are executed in parallel. When one trigger completes its corresponding action is executed and all other triggers are canceled.
PickBranch Each PickBranch is contained within a branch of the Pick Activity and can be executed based on an incoming event that serves as a trigger.
Sequence Is a container object that executes Activities one after another. Sequences can incorporate more than one child Activity. Sequences can only execute forward, not backward.
Switch<T> Evaluates a specified expression and executes using a collection of Activities whose associated key matches the value obtained from the evaluation.

 Flowchart Grouping

Flowchart Is a container object that executes multiple child activities one after another. Similar to a Sequence, a Flowchart is more flexible allowing control to return to an earlier step. Sequences can only execute forward, not backward.
FlowDecision Is a conditional node that provides a branch for the flow of control into one of two alternatives based on whether a specified condition is satisfied. If the flow requires more than two branches, use FlowSwitch instead.
FlowSwitch<T> Is a conditional node that provides branching for the flow of control based on matching criterion when more than two alternative branches are required. If the flow branching requires only two paths, use the FlowDecision activity instead.

Messaging Grouping

CorrelationScope Provides implicit CorrelationHandle management for child messaging Activities.
InitializeCorrelation Initializes correlation without sending or receiving a message.
Receive Receives a message.
ReceiveAndSendReply Receives a message as part of a request/reply message exchange pattern.
Send Sends a message to a service.
SendAndReceiveReply Sends a message as part of a request/reply message exchange pattern.
TransactedReceiveScope Scopes the lifetime of a transaction which is initiated by a received message. The transaction may be flowed into the workflow on the initiating message or created by the dispatcher when the message is received.

RunTime Grouping

Persist Saves a workflow to disk, if possible. This Activity cannot be executed in a non-persistence zone, for example, within a TransactionScope Activity.
TerminateWorkflow Terminates the execution of a workflow.

Primitives Grouping

Assign Assigns a value to a variable at the current scope.
Delay Puts one path of execution into an idle state, possibly allowing the workflow to be unloaded.
InvokeMethod Executes a public method of a CLR object.
WriteLine Writes a specified string to the console or a specified TextWriter object.

Transactions Grouping

CancellationScope Specifies an Activity for execution and cancellation logic for that Activity.
CompensableActvity Supports compensation of its child activities.
Compensate Used to explicitly invoke the compensation handler of a CompensableActivity.
Confirm Invokes the confirmation handler of a CompensableActivity.
TransactionScope Demarcates a transaction boundary.

Collection Grouping

AddtoCollection<T> Adds an item to a specified collection.
ClearCollection<T> Clears a specified collection of all items.
ExistsInCollection<T> Determines whether a specified item exists in a particular collection.
RemoveFromCollection<T> Removes an item from a specified collection.

Error Handling Grouping

Rethrow Throws a previously thrown exception. This Activity can only be used in a Catch handler in the TryCatch Activity.
Throw Throws an exception
TryCatch Contains Activities to be executed by the workflow runtime in an exception handling block.

SYM (Symitar) Grouping

DataFiletoPC FTP download from the “DATAFILES” folder on the Symitar server.
DeleteLetterFile Removes a letter file from the “LETTERSPECS” folder on the Symitar server.
EmailReports Attaches one or more reports to an email message and sends it to the designated recipient(s).
FiletoPC Generates an FTP download from any Symitar directory to a local PC.
LetterFiletoPC FTP download from the “LETTERSPECS” folder on the Symitar server.
PCToDataFile FTP upload to the “DATAFILES” folder on the Symitar server.
PCToEditFile Initiates an FTP from a PC to the Symitar edit file.
PCToFile Creates a generic upload to any directory on the Symitar system.
PCToLetterFile FTP upload to the “LETTERSPECS” folder on the Symitar server.
ReportsFileToPC FTP download from the “REPORT” folder on the Symitar server.
RunJobFile Runs a job file in the specified SYM, such as Sym222.
SymConfig The parent activity that allows users to set the configuration settings, such as Server Name, SymUserId, Symitar logon credentials, for all Symitar activities contained within it. Each child activity can override the settings in the SymConfig.

Related Topics