> ## Documentation Index
> Fetch the complete documentation index at: https://flywheel.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Getting Started with Workflows

> Understand the basics and start building a workflow.

Workflows give your team complete control and flexibility to build out virtually any customer engagement process you need, right inside of Flywheel. Let's dive in to understand the basics and get you started on building your first workflow.

<iframe src="https://app.flywheel.cx/doc-comp-previews/workflow-canvas-previews/user-onboarding" title="Workflow Example" width="100%" height="600px" className="border dark:border-[#1C1C20]  rounded-xl" />

## What are workflows?

Workflows are created in a visual workflow builder right inside of Flywheel. You can design powerful, intricate, and time-saving systems that can be iterated on demand.

Whether you're looking to automate repetitive tasks, create a customer onboarding system, or implement comprehensive customer success processes, workflows have you covered. From marketing to customer success, to revenue operations, if you can think it, you can build it with workflows.

## Components of a workflow

Understanding the components of a workflow will give you a clearer picture of how to create, run, and refine your processes:

**Canvas**: This is your primary workspace, where you'll piece together the different actions of your workflow.

**Actions**: Think of these as individual steps in your workflow. They can range from sending emails, assigning team members, to even more complex operations. See all actions available in our [action library](/workflows/actions).

**Paths**: These are the connectors between actions, dictating the flow and sequence of actions within your workflow.

**Triggers**: This defines when your workflow starts and what data will be passed into it. It could be an event, like a new user signing up, or when users don't complete expected actions within a timeframe.

**Inputs**: Information or data that is required for an action to run.

**Variables**: These are dynamic input values. For instance, the name of a new customer to use in subsequent actions. The value will be different for every run of the workflow.

**Runs**: Each execution of a workflow is called a 'run'. This can help you track individual instances of a workflow.

**Conditions**: Add sophisticated logic to filter users based on properties, event data, or behavioral patterns.

## Building a workflow

To build a workflow you start with a trigger. Here's a step-by-step guide:

**Choose your trigger:**

<Columns cols={2}>
  <Card title="Event Trigger" horizontal icon="mouse-pointer-click" href="/workflows/triggers/event-trigger">
    Responds to specific user actions like sign-ups, purchases, or custom events
  </Card>

  <Card title="Drop-off Trigger" horizontal icon="circle-arrow-out-down-right" href="/workflows/triggers/drop-off-trigger">
    Activates when users fail to complete expected actions within a timeframe
  </Card>
</Columns>

**Navigating the canvas**: Scroll with a trackpad or use keyboard shortcuts to move around the canvas.

**Adding actions**: Hover over your trigger or any action and click the + icon to add the next action to your canvas. Available actions include:

**Communication Actions:**

<Columns cols={2}>
  <Card title="Send Marketing Email" horizontal icon="mail" href="/workflows/actions/send-marketing-email">
    Send personalized marketing emails with rich content
  </Card>

  <Card title="Send One-to-One Email" horizontal icon="mail" href="/workflows/actions/send-one-to-one-email">
    Send personal, transactional emails
  </Card>

  <Card title="Send Smart Message" horizontal icon="message-square" href="/workflows/actions/send-smart-message">
    Send intelligent, context-aware messages
  </Card>

  <Card title="Send Slack Message" horizontal icon="message-square" href="/workflows/actions/send-slack-message">
    Send messages to Slack channels or users
  </Card>

  <Card title="Send Slack Channel Invites" horizontal icon="user-plus" href="/workflows/actions/send-slack-channel-invites">
    Automatically invite users to Slack channels
  </Card>
</Columns>

**Assignment & Management Actions:**

<Columns cols={2}>
  <Card title="Assign CSM" horizontal icon="user-plus" href="/workflows/actions/assign-csm">
    Automatically assign Customer Success Managers
  </Card>

  <Card title="Round Robin" horizontal icon="shuffle" href="/workflows/actions/round-robin">
    Distribute leads or tasks fairly among team members
  </Card>

  <Card title="Create Slack Channel" horizontal icon="slack" href="/workflows/actions/create-slack-channel">
    Create dedicated channels for customers
  </Card>
</Columns>

**Logic & Control Actions:**

<Columns cols={2}>
  <Card title="Filter" horizontal icon="filter" href="/workflows/actions/filter">
    Apply conditions to control workflow flow
  </Card>

  <Card title="If-Else" horizontal icon="git-branch-plus" href="/workflows/actions/if-else">
    Create branching logic in your workflows
  </Card>

  <Card title="Wait" horizontal icon="clock" href="/workflows/actions/wait">
    Add delays between actions
  </Card>
</Columns>

**Data & Analysis Actions:**

<Columns cols={2}>
  <Card title="Find Event" horizontal icon="search" href="/workflows/actions/find-event">
    Search for specific user events
  </Card>
</Columns>

**Support Actions:**

<Columns cols={2}>
  <Card title="Create Intercom Ticket" horizontal icon="ticket" href="/workflows/actions/create-intercom-ticket">
    Automatically create support tickets
  </Card>
</Columns>

**Setting inputs**: Define the data each action needs to execute correctly in the panel on the right-hand side.

**Using variables**: Click the variable icon to set dynamic values for your input. Use variables to add user data or values from previous actions. These will change based on what data is passing through the workflow on that run.

**Deleting actions**: Simply select the unwanted action and hit backspace or delete.

**Reordering actions**: Select the paths you'd like to remove and hit backspace. Click and drag the connecting node to another action to create a new path.

**Publishing**: Click Publish to take your workflow out of the draft stage and allow it to be run when the trigger condition is met.

**Pausing**: Click the published toggle to pause a workflow and stop it running.

## Important things to know

**User permissions**: Make sure your workflow has the necessary permissions to access user data and perform actions.

**Testing**: Always test your workflows with sample data before deploying to ensure they behave as expected.

**Email preferences**: Marketing email actions automatically respect user opt-out settings and preferences.

## Workflow examples

**New User Onboarding**

<iframe src="https://app.flywheel.cx/doc-comp-previews/workflow-canvas-previews/user-onboarding" title="Workflow Example" width="100%" height="600px" className="border dark:border-[#1C1C20]  rounded-xl" />

**Onboarding Drop-off Recovery**

<iframe src="https://app.flywheel.cx/doc-comp-previews/workflow-canvas-previews/onboarding-dropoff" title="Workflow Example" width="100%" height="600px" className="border dark:border-[#1C1C20]  rounded-xl" />

**Customer Success Escalation**

<iframe src="https://app.flywheel.cx/doc-comp-previews/workflow-canvas-previews/customer-success-escalation" title="Workflow Example" width="100%" height="600px" className="border dark:border-[#1C1C20]  rounded-xl" />

Congratulations! You are now equipped with the foundational knowledge to harness the power of workflows. As you continue to explore and experiment, remember that workflows provide a canvas to bring your unique visions for customer success and growth to life. Happy building!
