Updates

See demos on X

Follow us

Receive product updates

Process Mapping

Map, monitor and manage real-world processes within HASH

Real-World Flows

Flows are one of HASH's core features, allowing AI agents to automate pre-defined sequences of actions, performing them on autopilot with a greater degree of robustness and success than traditional robotic process and workflow automation tools (like Zapier, or IFTTT).

Flows can also be used to map and track real-world processes that occur outside of HASH, as well. While we already support creating flows in which HASH agents wait for outside information, user approval, or other external interaction before proceeding, today's update contains specific tools for mapping and tracking real-world processes that occur entirely outside of HASH.

By representing fully-offline processes from across a business within HASH, firms gain the ability to:

  • inspect and improve processes: formally capture and standardize operating procedures and processes within a single platform;
  • track entities moving through processes: centrally view and track physical entities, such as consigments, parts and goods, throughout various stages of a system;
  • augment existing processes with AI: easily insert HASH agents into processes to perform checks on materials as they pass through a system.

New tools for process mapping

New process mapping capabilities in HASH work by extending our existing flows interface to support the general capture of processes in HASH. Individual nodes are now able to represent offline processes, and needn't be linked to AI agents in HASH.

Entities can be viewed according to their current state in a process, and “what-if” scenarios can be simulated to assist in risk identification and process optimization.

Architected around Petri nets

In older versions of HASH's simulation software, we incorporated a Business Process Model and Notation (BPMN) editor that supported agent-level simulation modeling of processes. However, while BPMN is an established “standard” for modeling business processes, it lacks the ability to support formal “verification” of the processes it models.

To formally verify a process and assure its soundness, processes (including business processes represented using BPMN) can be transformed into a Petri net. Petri nets, also known as “place/transition” or “PT” nets, are a special kind of graph whose properties enable them to be formally verified. This means that processes represented as Petri nets can be checked for correctness (e.g. the presence of deadlocks or livelocks detected, and the reachability of all states assured). This in turn increases confidence that process models are developed accurately, enabling them to be relied upon with a higher degree of trust, both by people and AI. Because of this, all processes in HASH are stored as Petri nets.

As a user, you don't need to understand the mathematics underlying Petri nets in order to enjoy the benefits they provide. All processes imported into and created within HASH are automatically saved as Petri nets. This includes existing BPMN process models you might have created before in older process mapping software such as Camunda, Flowable, Lucidchart, Microsoft Visio, or Omnigraffle. When you import these, we'll automatically convert them into Petri nets.

This allows us to formally verify the correctness of models (proving their liveness, boundedness, and reachability), providing a superior editing experience in the immediate short-term, and unlocking a whole host of fun AI-related features in the future.


Custom Data Types

Work seamlessly with data in different types

Cover Image

User-Defined Data Types

With convertible data types now generally available in HASH, we've finally also now rolled out the ability to create custom data types.

User-defined, custom data types unlock all kinds of exciting possibilities, not only strengthening data validation in HASH and making data more self-descriptive, but improving the utility of HASH agents as AI research assistants as well, helping ensure scraped data precisely meets your required form.

Rather than be bounded to those primitive data types which ship with HASH, which primarily cover common computing and SI units, you can now define your own data types which:

  • precisely describe the data you're working with, through constraints
  • where applicable, specify how these units of value can be mapped to others, through conversions
  • define how data of this type should be displayed in HASH, through unit labels (whether prefixed before like currency symbols such as /£/$, or affixed afterwards like temperature measures such as /)

Convertible Data Types

Work seamlessly with data in different types

Cover Image

Data Type Conversions

Following the introduction of data type inheritance, information stored as one data type can now be converted to another automatically within HASH for use in operations/calculations, or to normalize the appearance of data from across multiple entities stored divergently. To achieve this, a conversion "mapping" is stored from one data type to another "canonical" one within a group.

For example, children of the Length data type may include:

  • metric lengths stored as Centimeters (cm) or Milimeters (mm)
  • imperial lengths such as Feet (ft) and Inches (")
  • less common, specialist measures like Rack units (U) (commonly used in data centers) and Light-nanoseconds (the distance which a photon can travel in one billionth of a second).

Rather than require each data type to be mapped to each other data type, all conversions are routed via the "canonical" data type within Length.

In traditional datastores, when dealing with entities (rows) whos units of value are mixed, sorting a single column's values in ascending or descending order becomes a complicated multi-step job. In contrast, with convertible data types in HASH, the process requires no extra effort at all.

Convertible data types are also used by HASH's AI agents when conducting research and inferring data no your behalf. Their utilization vastly improves AI's ability to reason about inconsistently-formatted data, such as that found on the world wide web whose units of value and presentation differs across websites and even pages on single sites.

Other misc improvements

  • Inline errors: Validation errors are now shown when updating entities where required properties are missing, and when the minimum or maximuim number of items allowed in an array fails to match the number that are present.
  • Multi-file upload: Where multiple files are accepted for upload, these can now be selected and uploaded all at once, rather than individually.

PDF Viewing

Open PDF documents natively within HASH

Cover Image

Native PDF Support

Lots of our customer's workflows are oriented around PDFs and other documents: internal files that data is locked inside, academic articles containing nuggets to be mined, reports from regulators published on their portals, and other information sourced from the world wide web.

Until now, while HASH's AI agents could extract information from these files, store them for future reference, and make these mirrored copies available for download... it wasn't possible to view these files directly inside of HASH, which frequently meant interrupting human users' workflows to preview PDFs and other documents in external viewers and applications.

With today's update, it's now possible to view PDFs inline within HASH. Page thumbnails appear to the left of the currently selected page, zoom controls are provided, and a "full screen" button enables launching into a windowless focus mode that assists in reading longer documents.

As always, files themselves continue to be parsed upon ingest or upload into HASH, with metadata and other key information extracted automatically. Today's changes simply make it easier to do more of your work in HASH, without switching to other applications.


Plural & Inverse Relationships

Improved labeling and display of type names

Cover Image

Collective plurals

In many cases, in English, you can just add "s" to the end of a word to arrive at its plural form. But this isn't always the case. For example:

  • "canvas" becomes "canvases", not "canvass";
  • "person" becomes "people" (at least when used as a collective noun); and
  • "sheep" remains "sheep" (go figure).

As such, when creating types, you'll now be given the chance to insert the collective plural form of the type's name, in addition to its singular form. We'll use that collective form of an entity type's name when referring to multiple instances of it in the HASH user interface.

To keep the process of creating types quick and simple, we'll try to autosuggest the pluralized version of a type's name you might want to use when you enter its singular form. Please check this is correct before continuing to avoid confusion down the line.

Currently, pluralized type names are only supported for languages that have a single "plural" form of a name, rather than multiple... as we're aware some languages do (as many as six!) We have no immediate plans to introduce support for foreign-language use of HASH, but it is on our long-term roadmap. If you have a use case that would benefit, please contact us so that we can prioritize development work that supports you.

Inverse relationships

For link types, you can now set the 'inverse' name that will be used when referring to the relationship in reverse. For example, the inverse of an "Employed by" link connecting an employee to their employer may be "Employs".

Create a free account

Sign up to try HASH out for yourself, and see what all the fuss is about

By signing up you agree to our terms and conditions and privacy policy