# Creating Your First Workflow

This guide walks you through creating a workflow from start to finish.

***

### Step 1: Start a New Workflow

From the Workflows home screen, click **Create Workflow** in the top right corner.

***

### Step 2: Choose Your Trigger

You'll be asked to select what event should start your workflow. Choose from:

* **On a Schedule** — Run at specific times on specific days
* **User Joins Channel** — Triggered when someone joins selected channels
* **Channel Meets Criteria** — Triggered when you're added to channels matching certain rules
* **Form Submission** — Triggered when someone submits a specific Threadly form
* **Message Posted** — Triggered when messages are posted in selected channels

{% hint style="warning" %}
**Important:** Triggers cannot be changed after you create the workflow. Choose carefully!
{% endhint %}

***

### Step 3: Configure Your Trigger

Click **Edit Trigger** to set up the specifics. What you see depends on the trigger type:

| Trigger Type           | What You'll Configure                           |
| ---------------------- | ----------------------------------------------- |
| On a Schedule          | Days of the week, time, timezone                |
| User Joins Channel     | Which channels to monitor                       |
| Channel Meets Criteria | Filter rules (name starts with, contains, etc.) |
| Form Submission        | Which form, optional field-based filters        |
| Message Posted         | Channels to monitor, optional keywords          |

For detailed configuration options, see [Workflow Triggers](/threadly/workflows/workflow-triggers.md).

***

### Step 4: Add Actions

Once your trigger is configured, add the steps that should happen when it fires:

1. Click **Add Step**
2. Select an action type (Send Message, Add Delay, Send Webhook, etc.)
3. Configure the action details
4. Repeat to add more steps as needed

Actions execute in order from top to bottom.

For all available actions, see [Workflow Steps](/threadly/workflows/workflow-steps.md).

***

### Step 5: Name and Publish

1. Give your workflow a descriptive name via **Workflow Settings**
2. Review your trigger and steps
3. Click **Publish** to make it active

Your workflow is now live and will trigger automatically!

***

### Example: Welcome Message Workflow

Let's create a simple workflow that welcomes new members to your #general channel.

#### 1. Create the workflow

Click **Create Workflow** from the Workflows home screen.

#### 2. Select the trigger

Choose **User Joins Channel**.

#### 3. Configure the trigger

Click **Edit Trigger** and select the `#general` channel.

#### 4. Add a Send Message action

* Click **Add Step**
* Select **Send Message**
* Set destination to **User who triggered workflow**
* Write your welcome message:

```
Hey {{user}}! Welcome to the team!

Here are some helpful resources to get you started:
• Check out #announcements for company updates
• Introduce yourself in #introductions
• Questions? Ask in #help

Happy to have you here!
```

#### 5. Publish

Click **Publish** to activate your workflow.

Now, whenever someone joins #general, they'll automatically receive this welcome DM!

***

### Next Steps

* [Workflow Triggers](/threadly/workflows/workflow-triggers.md) — Learn about all trigger types
* [Workflow Steps](/threadly/workflows/workflow-steps.md) — Explore all available actions
* [Advanced Workflow Settings](/threadly/workflows/advanced-workflow-settings.md) — Fine-tune workflow behavior


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://threadly.gitbook.io/threadly/workflows/creating-your-first-workflow.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
