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
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
- used to trigger the workflow whenever the fusing webhook endpoint is accessed
- Twilio
- used to make phone calls and to send SMS messages
- Gmail
- used to send email messages
- 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.
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