Skip to content
Akram El Assas edited this page Jun 16, 2023 · 11 revisions

Wexflow is modular. A workflow executes a set of tasks. The user can choose between the built-in tasks that come with Wexflow or create his own custom tasks.

Every task is a module which can be enabled, disabled or replaced. Wexflow provides 100+ built-in tasks.

*: The task is not available in the .NET Core version.

**: The task is available in the .NET Core version only.

  1. File system tasks
  2. Encryption tasks
  3. Compression tasks
  4. Iso tasks
  5. Speech tasks
  6. Hashing tasks
  7. Process tasks
  8. Network tasks
  9. XML tasks
  10. SQL tasks
  11. WMI tasks
  12. Image tasks
  13. Audio and video tasks
  14. Email tasks
  15. Workflow tasks
  16. Social media tasks
  17. Waitable tasks
  18. Reporting tasks
  19. Web tasks
  20. Script tasks
  21. JSON and YAML tasks
  22. Entities tasks
  23. Flowchart tasks
  24. Approval tasks
  25. Notification tasks
  26. SMS tasks

File system tasks

These tasks allow to create, copy, move, rename or delete files and directories on a file system. These tasks allow also to check whether a collection of remote or local files and/or directories exists. These tasks allow also to check whether two files are the same and allow also to calculate the diff of two files.

  • FilesLoader: This task loads a collection of files located in folders or through the file option.
  • FilesLoaderEx: This task loads a collection of files located in folders or through the file option. This task is inherited from FilesLoader task, but by default result is empty, you must configure file system attributes rules to populate result.
  • FilesCopier: This task copies a collection of files to a destination folder.
  • FilesMover: This task moves a collection of files to a destination folder.
  • FilesRemover: This task deletes a collection of files.
  • FilesRenamer: This task allows to rename a collection of files on a file system. The Xslt task can be used along with the ListFiles task to create new file names.
  • FilesExist: This task checks whether a collection of files and/or directories exists.
  • FilesEqual: This task checks whether two files are the same.
  • FilesDiff*: This task calculates the diff of two files.
  • FilesConcat: This task concatenates a collection of files.
  • FilesJoiner: This task concatenates a collection of files. This task should be used to join and restore original file splitted with "FilesSplitter" task. Original file name is restored from splitted file name with end part "_N".
  • FilesConcat: This task splits files into chunks.
  • FilesInfo: This task generates files information of a collection of files and writes the results in an XML file. The format of the output XML file is described in the documentation of the task.
  • Touch: This task creates a collection of empty files.
  • ListFiles: This task lists all the files loaded by the workflow tasks in the logs. This task is useful for resolving issues.
  • Mkdir: This task creates a collection of folders.
  • Rmdir: This task deletes a collection of folders.
  • Movedir: This task moves a folder and allows to overwrite the destination folder.
  • FileSystemWatcher: This task watches a hot folder and triggers tasks on file created, changed or deleted.

Encryption tasks

These tasks allow to encrypt and decrypt any type of files of any size. These tasks allow also to encrypt and decrypt text based files.

  • FilesEncryptor: This task encrypts a collection of files.
  • FilesEncryptor: This task decrypts the files crypted by the task FilesEncryptor.
  • TextsEncryptor: This task encrypts a collection of text based files.
  • TextsDecryptor: This task decrypts the files crypted by the task TextsEncryptor.

Compression tasks

These tasks allow to create a .zip, a .tar, a .tar.gz or a .7z from a collection of files. These tasks allow also to extract .zip, .tar, .tar.gz, .rar or .7z archives.

  • Zip: This task creates a zip archive from a collection of files.
  • Tar: This task creates a tar archive from a collection of files.
  • Tgz: This task creates a tar.gz archive from a collection of files.
  • SevenZip*: This task creates a .7z archive from a collection of files.
  • Unzip: This task extracts ZIP archives.
  • Untar: This task extracts TAR archives.
  • Untgz: This task extracts TAR.GZ archives.
  • Unrar*: This task extracts RAR archives.
  • UnSevenZip*: This task extracts 7Z archives.

Iso tasks

These tasks allow to create a .iso from a source folder and to extract a .iso to a destination folder.

Speech tasks

These tasks allow to convert text to speech and speech to text.

Hashing tasks

These tasks allow to generate MD5, SHA-1, SHA-256 and SHA-512 hashes of a collection of files.

  • Md5: This task generates MD5 sums of a collection of files and writes the results in an XML file. The format of the output XML file is described in the documentation of the task.
  • Sha1: This task generates SHA-1 hashes of a collection of files and writes the results in an XML file. The format of the output XML file is described in the documentation of the task.
  • Sha256: This task generates SHA-256 hashes of a collection of files and writes the results in an XML file. The format of the output XML file is described in the documentation of the task.
  • Sha512: This task generates SHA-512 hashes of a collection of files and writes the results in an XML file. The format of the output XML file is described in the documentation of the task.

Process tasks

These tasks allow to start or kill processes on the workflow server. They also allow to retrieve information about a process.

  • ProcessLauncher: This task launches a process. If the process generates a file as output It is possible to pass a collection of files to the task so that for each file an output file will be generated through the process. Read the documentation of the task for further informations.
  • ProcessKiller*: This task kills a process.
  • ProcessInfo: This task shows information about a process.
  • SshCmd: This task executes an SSH command.

Network tasks

These task allow to list, upload, download or delete files over FTP, FTPS or SFTP. These tasks allow also to download files over HTTP or HTTPS. These tasks allow also to download torrent files, to ping servers and to execute GET/POST/PUT/PATCH/DELETE requests.

  • Ftp: This task allows to list, upload, download or delete files over FTP, FTPS or SFTP.
  • Http: This task allows to downoad files over HTTP or HTTPS.
  • HttpGet: This task executes a GET request.
  • HttpPost: This task executes a POST request.
  • HttpPut: This task executes a PUT request.
  • HttpPatch: This task executes a PATCH request.
  • HttpDelete: This task executes a DELETE request.
  • Torrent: This task downloads torrent files.
  • Ping: This is a flowchart task that checks whether a server responds to a ping request or not.

XML tasks

These tasks allow to work with XML and CSV data. XSLT can be used along with XPath to generate XML documents. XSLT 1.0 and XSLT 2.0 are supported.

  • CsvToXml: This task transforms a CSV file to an XML file.
  • XmlToCsv: This task transforms an XML file to a CSV file. The format of the input XML file is described in the documentation of the task.
  • Xslt: This task transforms a collection of XML files. It is possible to use XSLT 1.0 processor or XSLT 2.0 processor.
  • Guid: This task generates Guids and outputs the result in an XML file.

SQL tasks

These tasks allow to execute SQL scripts. These tasks supports Microsoft Sql Server, Microsoft Access, Oracle, MySql, SQLite, PostGreSql and Teradata. These tasks can be used for bulk insert, for database updates, for database cleanup, for rebuilding indexes, for reorganizing indexes, for shrinking databases, for updating statistics, for transfering database data and so on. These tasks allow also to export SQL data to XML or CSV and to import CSV data to a database. These tasks allow also to backup and restore databases.

  • Sql: This task executes SQL scripts. It supports Microsoft Sql Server, Microsoft Access, Oracle, MySql, SQLite, PostGreSql and Teradata.
  • SqlToXml: This task executes SQL scripts and outputs the results in XML files. It supports Microsoft Sql Server, Microsoft Access, Oracle, MySql, SQLite, PostGreSql and Teradata.
  • SqlToCsv: This task executes SQL scripts and outputs the results in CSV files. It supports Microsoft Sql Server, Microsoft Access, Oracle, MySql, SQLite, PostGreSql and Teradata.
  • CsvToSql: This task converts CSV files to SQL scripts (SQL Server Insert only).

WMI tasks

  • Wmi*: This task executes a WMI query and outputs the results in an XML file. The format of the output XML file is described in the documentation of the task.

Image tasks

These tasks allow to convert images to the following formats Bmp, Emf, Exif, Gif, Icon, Jpeg, Png, Tiff and Wmf. These tasks allow also to resize or to crop or to concatenate or to overlay images.

  • ImagesTransformer: This task transforms a collection of image files to a specified format. The output format can be one of the followings Bmp, Emf, Exif, Gif, Icon, Jpeg, Png, Tiff or Wmf.
  • ImagesResizer: This task resizes a collection of images.
  • ImagesCropper: This task crops a collection of images.
  • ImagesConcat: This task concatenates a collection of images.
  • ImagesOverlay: This task overlays a collection of images.

Audio and video tasks

These tasks allow to convert, cut or edit audio and video files through FFMEG, VLC or any other audio/video software. These tasks can also be used to perform custom operations such as generating images and thumbnails from video files. These tasks allow also to generate the most relevant technical and tag data for video and audio files.

  • MediaInfo*: This task generates the most relevant technical and tag data for video and audio files and outputs the results in an XML file. The format of the output XML file is described in the documentation of the task.
  • YouTube**: This task uploads videos to YouTube.
  • YouTubeSearch**: This task searches for content on YouTube.
  • YouTubeListUploads**: This task retrieves a list of videos uploaded to a YouTube channel.
  • Vimeo: This task uploads videos to Vimeo.
  • VimeoListUploads: This task retrieves a list of videos uploaded to a Vimeo channel.

The task ProcessLauncher can be used along with FFMPEG, VLC or any other software in order to perform audio and video tasks.

Email tasks

This task allows to send or fetch a collection of emails.

  • MailsSender: This task sends a collection of emails from XML files. The format of the input XML files is described in the documentation of the task.
  • MailsReceiver: This task fetches a collection of emails.

Workflow tasks

  • Workflow*: This task allows to start, suspend, resume, stop, approve or disapprove a list of workflows.
  • SubWorkflow: This task kicks off a sub workflow.

Social media tasks

Waitable tasks

  • Wait: This task waits for a specified duration of time.

Reporting tasks

These tasks allow to generate reports in PDF format from HTML or XML or TXT files.

  • TextToPdf*: This task generates PDF files from TEXT files.
  • HtmlToPdf*: This task generates PDF files from HTML files.
  • PdfToText*: This task extracts TEXT from PDF files.

The task Xslt can be used to generate HTML reports from XML files. Then, the HTML reports can be transformed into PDF reports through HtmlToPdf task.

Web tasks

These tasks allow to take screenshots from urls and to download the HTML source code from urls after the pages are rendered. These tasks allow also to uglify, minify and compress JavaScript, CSS and HTML files. These tasks allow also to extract text from HTML files. These tasks allow also to convert SCSS files to CSS files.

Script tasks

These tasks allow to execute C# and VB scripts.

  • ExecCs*: This task executes C# scripts.
  • ExecPython: This task executes Python scripts.
  • ExecVb*: This task executes Visual Basic scripts.

JSON and YAML tasks

These tasks allow to convert YAML files to JSON files, JSON files to YAML files, CSV files to JSON files and CSV files to YAML files.

  • YamlToJson*: This task converts YAML files to JSON files.
  • JsonToYaml*: This task converts JSON files to YAML files.
  • CsvToJson*: This task converts CSV files to JSON files.
  • CsvToYaml*: This task converts CSV files to YAML files.

Entities tasks

  • ListEntities: This task lists all the entities loaded by the workflow tasks in the logs. This task is useful for resolving issues.

Flowchart tasks

These tasks can be used within flowchart workflows to perform specific jobs.

  • FileExists: This is a flowchart task that checks whether a given file exists on a file system or not.
  • FileMatch: This is a flowchart task that checks whether a file exists or not in a directory by using a regex pattern.
  • Now: This is a flowchart task that retrieves the current date in the specified format. This task is designed to be used in a Switch flowchart node.
  • Ping: This is a flowchart task that checks whether a server responds to a ping request or not.
  • EnvironmentVariable: This is a flowchart task that retrieves the value of an environment variable.
  • MessageCorrect: This is a flowchart task that checks whether a message is in the memory of the task having as key the value of the setting option checkString.
  • FolderExists: This is a flowchart task that checks whether a given folder exists on a file system or not.
  • FileContentMatch: This task checks whether the content of a file matches a regex pattern.

Approval tasks

  • Approval: This task marks the current workflow as needing approval.
  • ApproveRecord: This task assigns a record to a user and launches the approval process on that record.
  • ApprovalRecordsCreator: This task creates records from files.
  • ApprovalWorkflowsCreator: This task creates approval workflows for records from shared memory and starts them. The record ids are sent from ApprovalRecordsCreator task.

Notification tasks

  • Slack: This task sends Slack messages.

SMS tasks

  • Twilio: This task sends SMS messages.
Clone this wiki locally