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.
If you've read the overview of how to get integrated, you might already have what you need to get started, but to summarize...
- 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 in a communication plan or a built-in integration from the Integration Directory.
- 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).
How to get to Flow Designer
Access to Flow Designer is controlled by the communication plan — whoever has permission to access the communication plan can access the flows for forms in that plan. For built-in integrations, access to Flow Designer is controlled by the access permissions for each configuration.
Access it from the Communication Plan Builder:
- Click the Developer tab.
- If it's not already selected, click Communication Plans under Communication Plan Builder on the left.
- Click Edit beside the plan you want to build a flow for and select Flows.
- Click the name of the form you want to create or edit flows for (or Create a flow if the form doesn't have any flows yet).
Access it from within a communication plan:
- If you're already in the communication plan, click the Flows tab.
- Click the name of the form you want to create or edit flows for (or Create a flow if the form doesn't have any flows yet).
Access from within a built-in integration (Integration Directory):
- Click the Developer tab, and then click Integrations.
- In the Integration Directory, on the Configured tab, click the Configurations button for the integration you want to modify.
- Click the name of the configuration you want to build a flow for.
- Click the Flows tab, and then click the name of the configuration to open Flow Designer.
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 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.
- Triggers: Triggers 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 to the communication plan. 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 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 the constants available using the Integration Builder.
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 communication plan has a canvas where you can create multiple flows, one for each trigger type.
- 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 communication plan form, they'll already be added as triggers on your canvas — you can build flows off of them to extend their current functionality.)
- 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.
- 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 the next. This lets information flow from one step to the next.
- 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.
- 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).
- 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.
- 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.
- 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 where 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.
Simply drag a step from the palette to add it to the canvas. Once you drop the step on the canvas, it's ready to connect to a flow.
You might want to disable the flow until you have it built. To do that, double-click the trigger and click the Enabled toggle to turn it off.
To connect two steps, draw a connector between them by dragging from the output port of one step (the little circle on the right) to the input port of the next (the little circle on the left). Once the steps are connected, outputs from the event and any previous steps in the flow are available as inputs to this step. At this point, you can do any setup that's required (you'll see a little configuration status indicator if there's something you need to do). Then you're ready to test it out.
Make sure you connect a step to a flow before you configure it. This lets you leverage the event properties and the outputs of any previous steps when setting up the inputs for this step.
Some steps are a little bit different, like Response triggers, which let you add the responses that you want to trigger flows, and switch steps where you can split the flow into multiple paths. But the basics of adding them and connecting them are the same.
Double-click a step or click the pencil icon that appears when you hover to configure the step's inputs and its endpoint (if available).
As you build and refine flows, we recommend saving as you go, since the changes you make — either configuring steps or dropping new ones in — aren't saved until you click Save.
Remember to go back and enable the trigger if you turned it off!
- Zoom in and out using the scroll wheel on your mouse, and simply drag the canvas to move it around if you want to focus on another area.
- Drag steps to move them around the canvas. To move all the steps in a flow, select them all (holding the shift key) and then drag. Or use the auto-layout button to organize everything in a nice, neat grid.
- Use the mini-map to move around the canvas: simply click and drag the mini-map box so it highlights the area you want to show on-screen.
Deleting most elements is as simple as selecting or moving your pointer over them and clicking the delete icon (the trash can) that appears. Keep in mind that this might orphan steps further down the flow and disconnect the source that they're using to populate inputs.
- Delete a step: Hover over the step and click the delete icon.
- Delete a switch step (and all its paths) or all Responses triggers: Hover over the parent element and click the delete icon to remove it and all its children.
- Delete a single path from a switch step: Click the delete icon on the corner of the path definition.
- Delete a single response option: Double-click the parent Responses trigger and click the x beside the response you want to remove. This removes it from the flow and from the form.
- Delete a connector: Select the connector and click the x that appears on the line.
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.|
|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:
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.