Getting started with work automation in EasyMorph

In version 5.8, we've added a new major Server feature - a built-in issue tracker that enables work automation. With the new feature, it is now possible to automate business processes and routines that require a human decision as part of a workflow.

Here are a few scenarios that can be automated with the new issue tracker:

Business automation:

  • Customer order processing (may require resolving ambiguities or adding extra details)
  • Internal requests (may require approval)
  • Form submissions (may require adding more context/information and manual data cleansing)
  • Incoming payment notifications (e.g., via webhooks) (may require manual reconciliation)
  • Suspicious transactions (may require deciding whether to investigate it further or not)
  • Overdue/missing external submissions - may require a decision on whether to send an email reminder or not

IT automation / Data engineering:

  • Tracking of data quality incidents
  • System health monitoring
  • Support tickets system
  • Planning of coordination of team work on workflows and data

What is an issue?

Work automation in EasyMorph is built around issues or, more precisely, lists of issues. So, what is an issue?

Briefly speaking, an issue is a piece of information that contains information that one or more people need to know and/or act on. Additional data (such as files or datasets) and pre-configured actions can be attached to issues so that users can understand and analyze the additional details of the issue and take action on it.

There are multiple ways how one can think of issues. For instance, you can think of them as an advanced to-do list where each to-do item can be assigned to a person and have a deadline. Or, issues can be viewed as something akin to email messages, where each message has a subject, a text, and various attachments, and can be forwarded from one inbox to another inbox.
Issues can be of different types (e.g. "alert", "request") and can be in different states (e.g., "received", "in progress", "delayed"). Issue types and states are configured in the space settings.

Work is represented as an incoming stream of issues (e.g., orders or data quality problems) that are addressed and eventually resolved by the assigned teammates. Processing of issues is frequently represented by a sequence of states such as Started -> Pending -> Done.

Board section "Issues"

In EasyMorph, every board can have a list of issues. You can think of this section as the board's inbox that receives and stores issues.

Issues can be created in boards in two ways: manually and programmatically. To create an issue manually, add a section "Issues" to a board and press the "New issue" button (can be seen in the screenshot above).

Here is an example of an issue:

Every issue can have:

  • Type
  • Code (auto-assigned)
  • Title (subject)
  • Description
  • State (e.g., "Pending").
  • Attachments
  • Due date
  • Assignee (coming soon)
  • Custom properties (coming soon)

The "Raise issue" action

Alternatively, you can create issues programmatically in a workflow using the new "Raise issue" action.

The action creates a new issue in the specified board and allows specifying all the settings and options of an issue. Any issue created with an action can later be edited manually in the board.

Examples of scenarios where issues are created in workflows:

  • Customer sends a file by email. The file is extracted by a workflow and a new issue is created with the file attached.
  • A scheduled task scans a database table for data errors. If an error is detected, the workflow creates an issue with an auto-generated description of the problem.
  • An external payment system sends a webhook when a payment is received. A workflow processes the webhook, attempts to reconcile the payment, and raises an issue if it fails to do it automatically and human intervention is required.
  • A scheduled task tracks inventory levels in a chain of stores. When the inventory level in a store falls below a critical point, the workflow raises an issue.

Issue attachments

Issue attachments are arguably the most interesting feature of the issue system. The attachments can be of different types:

  • Files and folders
  • Web links
  • Server tasks with pre-configured parameters
  • Catalog assets

The latter, Catalog assets, assumes any asset type, including dynamically computed assets such as computed datasets and computed web links, pre-filtered Tableau and Power BI reports, or workflows. When creating an issue (especially programmatically), you can attach a computed dataset to the issue and pre-configure the parameters of the asset. An attachment can be opened with a single button click right from the list of issues. For instance, when an issue warns about a data quality problem in a database table, it can have an attachment that in one click immediately opens in Explorer the subset of table rows in question.

Or, if an issue is created for an incoming payment that needs to be matched with an invoice (i.e. reconciled), with one click you can open an attached computed dataset that contains all the open invoices with the matching invoice amount.

In a similar fashion, you can attach workflows to issues, for instance, to approve or reject requests, push data (as pre-configured workflow parameters) into a web API, or continue processing orders in another system.

Issue lifecycle

When an issue is raised (created), it's placed into one of the boards. It's an active issue.

Issues that have been processed or are no longer necessary can be archived. Note that issues are created permanently and can't be deleted, only archived.

If an issue can't be processed right now and needs to be processed later, it can be snoozed for a period of time. When an issue is snoozed, it's temporarily hidden and doesn't appear among active issues.

Finally, an issue can be forwarded to another board. This can be used in cases when, for instance, issue processing is delegated to another team. When an issue moves to another board, its code is prepended with the new board's code to help track the history of the issue.

1 Like