Flow Designer 101

Flow Designer lets you build multi-step processes simply by dragging, dropping, and connecting steps.

In this overview, we go over the parts of Flow Designer and the pieces you can use to create your flows. That might be all you need to get started if you're the type who likes to dump out the blocks and start building.

If you're the type who learns by example, we walk through designing a flow from concept to test, and all the steps in-between. In that topic, we go into how to use the various types of steps — triggers, built-in apps and custom steps, and tools — to build a flow. In other topics in this section, we delve deeper into troubleshooting runtime issues, how to use the ready-made apps, and creating your own custom steps.

Before you start building

With the drag-and-drop, drag-and-connect interface, it's easy to get started, but there are a couple of things you need before you can build flows and put them to work.

  1. First you need a form that has properties or actions you want to build flows from. Forms provide a canvas where you can design flows. You can use a form from any workflow from the Workflow Templates or a custom workflow you created.
  2. Next, you need a way to trigger the flows you create. This can be a signal sent by email or HTTP request or an activity on an event associated with the form (for example, a response from a recipient, an event status change, or an escalation).

Now you're ready to build. Have fun!

How to get to Flow Designer

Access to Flow Designer is controlled by the workflow — whoever has permission to edit the workflow can access the flows for forms in that plan.

Get to know Flow Designer

Flow Designer has three main areas — the large, central canvas where you build your flows, the palette on the right that holds the building blocks you can use in your flows, and the Activity panel that lets you check the runtime state of the flows.

The palette

The palette is where you find the steps and tools you can use to build flows. The different tabs in the palette organize the steps into categories.

  • TriggersTriggers are special steps that kick off a flow based on an event activity (such as an event status change, a specific response, or an added comment), or when information is injected into xMatters by an incoming HTTP request or email. Connect other steps to the trigger to have them executed when the trigger occurs.
  • Apps: Apps are steps we've created for the most common actions in popular applications to help you create flows quickly. Simply drag, connect, and configure some basic settings, and you're ready to get started. Keep an eye out on the Apps panel as we add more ready-made steps for other applications.
  • Tools: Tools are, well, tools that let you create richer and more nuanced flows. For example, you can use a switch step to split a flow onto different paths (for example, use path A if the event is customer-impacting but use path B if it's not), create a new event in the middle of a flow with information from the previous steps, or look up information in xMatters.
  • Custom: Custom steps are steps you or someone in your organization has added. Maybe you want to trigger a flashing light to go off when a ticket is created — since we don't have a built-in step for your proprietary flashing light software, you need to create that yourself. Using a custom step in your flow is the same as any other step: drag it onto the canvas, connect it, and configure any required inputs.

There are also some existing components that you'll use to build out your flows.

  • Endpoints: Endpoints define which application you want to send a request to (like ServiceNow or Slack). You can add endpoints as you add steps in your flow, through the Components drop-down menu, or use endpoints that you've already configured in xMatters.
  • Constants: Constants represent unchanging bits of information that can be used as inputs in your steps. For example, you could use a constant to represent a time zone when posting dates to help desk ticket, or as the "from" name when posting to a chat client. You can define constants using the Components menu.

The canvas

Flows are what it's all about, linking together the tools you use every day into a single, seamless process, and the canvas is the backdrop for building your flows. Drag steps onto the canvas and connect them to automatically send information from one system to another, transforming it along the way if needed. Flows are tied to a form, so each form in a workflow has a canvas where you can create multiple flows, one for each trigger type.

  1. Triggers: Each flow starts with a trigger that kicks off the rest of the flow. Find your available triggers in the first panel on the palette. (If you have existing outbound integrations for your form, they'll already be added as triggers on your canvas — you can build flows off of them to extend their current functionality.)
  2. Steps: Steps are the building blocks of your flows. They can be triggers, actions in systems you use every day, or tools such as switches that let you fine-tune your flow. Whether built-in apps or custom creations, steps take outputs from the event and previous steps as inputs, use and transform that information, and then pass it to steps further downstream.
  3. Connectors & Ports: Connectors are the lines you draw between steps to link them into a flow. You draw these lines between the output port (the little circle on the right) of one step and the input port (the circle on the left) of another. This lets information flow from one step to the next.
  4. Tools: Tools let you build richer and more nuanced flows tailored to your needs. You can use them to change the path a flow takes, create events in response to information coming through the flow, or get additional details to enrich the information flowing downstream.
  5. Step status indicators: There are a few ways we let you know when something isn't quite right, either during configuration or while troubleshooting issues during runtime (for example, a warning badge on a step icon).
  6. Auto-layout: The auto-layout button lets you bring order to chaos (if you so choose) by aligning your steps into a grid. It also fits the canvas to the window if you've zoomed in.
  7. Mini-map: The mini-map helps you orient yourself on the canvas. If you get creative in building flows and adding steps, or you zoom in, you might end up with a canvas that doesn't fit on the screen. The mini-map not only shows you where you are as you move around the canvas, you can also drag on the mini-map to pan around the canvas.
  8. xMatters Agent indicator: The agent icon indicates that this step is set up to run using the xMatters Agent. It also provides the status of the assigned agents (green means one or more of the assigned agents is connected while red indicates that none of the assigned agents are connected).

The Activity panel

The Activity panel is the command center for identifying and troubleshooting any issues with your flows. It's wshere to find: details from the event that triggered the flow; the inputs and outputs that were passed from step to step; which steps completed and, if the flow stopped, where that happened and what might have gone wrong.

Drag, connect, configure

We go into details on creating a new flow in our Create a flow instructions, including the different trigger types and when you might use one over the other, how to configure switch steps, and setting up endpoints. But if you just want to jump in and start building, here are the basics — it really can be as simple as drag, connect, and configure.

Understand what's happening when flows don't flow

There are a few visual indicators that can help to make sure you don't have any problems during runtime. If you don't see these indicators but your flow isn't doing what you expect, use the Activity panel to debug runtime issues.

Missing configuration: When a step is missing configuration or information it's relying on, a warning badge appears in the corner.
No agents connected: When a step is configured to run on an xMatters Agent but no assigned agents are connected, the dot in the agent icon turns from green to red.
Unconnected trigger: Triggers only fire if there are steps connected to them. The exception is legacy Integration Builder triggers, which continue to execute whatever script is associated with them.
Disabled: You can enable and disable triggers (for example, you might disable a trigger if you're doing some troubleshooting or building out a new flow you don't want to fire just yet). Double-click the trigger and click the Enabled toggle to turn it on or off.

Deprecated: A custom step or HTTP trigger might be deprecated if a new and improved version is available. In some cases, previously existing integrations built using the Integration Builder (such as the Notification Responses trigger for outbound integrations) are marked as deprecated because we've introduced an updated trigger in Flow Designer that you should use instead.

Withdrawn: The version of the step has been withdrawn from use. Double-click the step in the flow to open its configuration screen (or select it and click the pencil icon) and select a newer version. Also check other steps further down the flow for alert badges that indicate missing configuration, since changing the step version might remove outputs used by these steps.

Orphans: When you disconnect steps from the previous step, they're orphaned. Since all steps are orphans until you connect them, and you may do this on purpose as you're refining your workflows, we don't warn you that they are orphans, but it's good to take a quick look around to see if you have any unconnected steps.

Loops: Flow Designer includes logic to detect and prevent flows from looping and unintentionally overwhelming system resources. Flow Designer considers it a loop when the same flow is triggered multiple times in a short period of time by a single sequence of system events or scripted actions. When it detects a loop at runtime, Flow Designer cancels flow execution and logs an error in the Activity Panel indicating that a loop or circular flow reference was detected. For example, Flow Designer cancels flows when it detects the following types of loops:

  • An HTTP trigger executes a script that sends a request to the same HTTP trigger.
  • An event status trigger fires when an event is created and the triggered flow creates another event using the same form.

Ready to get started?

Follow along as we walk through designing a flow for major incident management (MIM), where a sequence of automated actions are run as a result of a person selecting a single response to an alert from a monitoring tool.