Skip to main content

Fusing Terminology

Learn about the basic terms that we use throughout the Fusing service.

Attachments

Attachments can be added to any workflow. These are arbitrary files that become part of the execution environment for your workflows, and can be any file type. When executing a workflow, you can access attachments for any purpose. Examples of attachments might include, but are not limited to:

  • Trained AI models that can be used during workflow processing
  • Document or Email templates that might be filled in during workflow execution
info

Adding attachments may increase the number of credits required to run your workflow - we will adjust the number of credits required to run your workflow based on the zipped size of your attachments

Blocks

Blocks represent individual units of work that live inside each workflow. Each block type provides unique functionality for the workflow. Examples of a few block types include:

  • Webhook Webhook - used to trigger the workflow whenever the fusing webhook endpoint is accessed
  • Twilio Twilio - used to make phone calls and to send SMS messages
  • Gmail Google Gmail - used to send email messages
  • NodeJS NodeJS - used in more advanced workflows to execute arbitrary Javascript code within a NodeJS environment - an example of an Any-Code block

Connector

Within fusing, connectors represent the permissions that you have granted to the Fusing platform to allow it to perform actions on your behalf. For example, if you are using the Google Gmail block within a workflow, it will require authorization from Google to send the email on your behalf. When configuring a block that requires such authorization, you will be prompted to create a new connector or to use an existing one that you have set up before.

Deployment

Once a workflow has been tested to make sure that it performs as expected, it can be deployed so that it runs automatically whenever it receives a trigger event.

caution

Workflows will not run automatically until they are successfully deployed.

Expression

Most fields within a block can be configured using their default values, using text, or via an Expression. An expression can make reference to the data returned from earlier blocks, or from the trigger that triggered the execution of your workflow. They can also utilize arbitrary javascript code. They are denoted by an enclosing pair of brackets (i.e. ( and ))

Examples of expressions:

($.block.NodeJS.$returns.phoneNumber)
(`The value of PI is ${Math.PI}`)
(`The current temperature is ${$.trigger.event.temperature} Fahrenheit`)

Fusing Engine

The Fusing Engine is responsible for invoking your workflow and delivering the results of each "run".

Storage

Workflows don't maintain any state between invocations, so we allow you to create named Storage containers where you can persist values between separate invocations of your workflow. Fusing Storage provides named key-value storage for such purposes. A simple example can be used to show why Storage might be required. Let's say that you are tracking temperatures for a particular location. Your use-case might require that you check the temperature every hour, and then retain a permanent record of the lowest and highest temperatures recorded by your workflow.

Storage can be used to store and retrieve any JSON serializable data. In our example, we might store:

{
"minimum": -12,
"maximum": 102
}

From within our workflow we might retrieve these values, and, if the current temperature is lower than the minimum, or higher than the maximum, we'd update these values. In this fashion we can track the information that we need.

Triggers/Events

Triggers (also know as Events) are packets of information that contain information related to the initiation of this workflow. For example, a Webhook Event would contain details about the endpoint that was accessed, along with any data such as the query parameters or the body of a POST request.

Workflow

Workflows are comprised of a series of Blocks that perform some kind of work. Workflows are executed when they are triggered by (for example) a timer, webhook, or a source event