# Build and publish a workflow

> In Workflows, select New workflow, choose a template, set the trigger and steps, fix every issue, then select Publish.

Source: https://useline.io/help/workflows/build-a-workflow  
Section: Workflows  
Last updated: 2026-11-05  
Roles: Owner, Admin

You build a workflow in **Workflows**. Start from a template, set the trigger and the steps, then publish. Publishing also turns the workflow on.

## Before you start

- You need the **Owner** or **Admin** role.
- On Starter, you can have 3 custom workflows. On Pro, you can have 10. Business has no limit.

## Create the workflow

1. Open **Workflows**.
2. Select **New workflow**.
3. Select a template, for example **Ring Then Voicemail** or **Start from scratch**.
4. In **Workflow Name**, type a name.
5. Select **Create workflow**. The builder opens.

## Set the trigger

1. On an empty canvas, select **Start with a trigger**, then select a trigger. To swap the trigger later, select it and then select **Change**.
2. For **Call received**, select **Add Phone Numbers** and select each number that this workflow answers.
3. For **Message received**, set **Channel** and **Sent to**. Leave a level empty to match **Any**.

A new workflow has no number, widget or inbox. You must select one in the trigger.

## Add steps

1. Select the **+** under a step.
2. Search for a step, or select one from the list.
3. Set up the step in the panel. Each change applies to the canvas at once.
4. Select **Done**.

Steps are grouped as **Logic**, **AI**, **Call Routing**, **Call Actions** and **Notifications**. A step marked **Soon** is not available yet.

A step with a condition has two branches. Connect a step to each branch.

## Fix the issues

Line checks the workflow while you work. A step with a problem has a red outline. The **Issues** tab lists every problem. **Publish** stays off until you fix all of them.

## Test the workflow

1. Select **Test**.
2. Under **Test conditions**, set **Outside business hours**, **Known caller** and **Available team members**.
3. Read the path that the test run takes, and the side effects such as an email or a text.

A test run sends nothing.

## Save and publish

1. Select **Save** to keep a draft. The draft does not change what happens to calls and messages.
2. Select **Publish**.
3. If Line shows **Publish & Activate Workflow?**, read the list of numbers that change workflow. Then select **Publish & Activate**.

A published custom workflow is enabled. To stop it, select **Disable**. To start it again, select **Enable**.

## Delete a workflow

1. Open the workflow.
2. Select the delete button in the top bar.
3. Type the exact workflow name.
4. Select **Delete**.

For a default message workflow, the button is **Remove**. After a removal, the custom workflows for that endpoint still run.

## Common problems

**New workflow is locked.** You have reached the workflow limit of your plan. See [Plans](https://useline.io/help/billing/plans).

**Publish is off.** Open the **Issues** tab and fix each issue.

**A call workflow does not publish.** The trigger has no phone number. Select **Add Phone Numbers** in the trigger.

**The workflow does not run.** Check that it shows **Enabled** in the workflow list, and that the **Published** column shows a version.

## Related articles

- [How workflows decide what happens to calls and messages](https://useline.io/help/workflows/how-workflows-work.md): Workflows alone decide what happens. A call runs one workflow for its number. A message runs every matching workflow, then the default.
- [Set up what happens when someone calls](https://useline.io/help/workflows/call-workflows.md): A call workflow starts with Call received and lists your numbers. It rings your team, forwards the call, runs your agent or takes a voicemail.
- [Set up what happens when a message comes in](https://useline.io/help/workflows/message-workflows.md): A message workflow starts with Message received. Filter by channel, endpoint, keywords or contact, then add an Agent step, an email or a text.
- [Route by business hours with a Time Rule](https://useline.io/help/workflows/time-rule.md): Add a Time Rule step to a workflow. It splits calls and messages into Open hours and Outside hours, using an hours set from Settings > Hours.
