# Advanced Workflow Settings

Fine-tune how your workflows behave with these powerful settings. Access these options via the **Workflow Settings** button when editing a workflow.

***

### Workflow Name

Give your workflow a clear, descriptive name so you can easily identify it later.

#### Best Practices

**Good names describe both the trigger and purpose:**

| Good                                  | Bad             |
| ------------------------------------- | --------------- |
| Welcome new #sales members            | Workflow 1      |
| Weekly standup reminder - Engineering | Monday reminder |
| Onboarding drip - New hires           | Messages        |
| Form submission → Slack alert         | Automation      |

***

### Allowed Days

Restrict your workflow to only run on specific days of the week. This applies to **all trigger types**, not just scheduled workflows.

#### Configuration

| Setting      | Description                                                |
| ------------ | ---------------------------------------------------------- |
| **Days**     | Select which days the workflow can trigger (Monday-Sunday) |
| **Timezone** | Select the timezone used to determine the current day      |

#### How It Works

When a trigger fires, the system checks if the current day (in your selected timezone) is an allowed day. If not, the workflow is skipped.

#### Example

A "User Joins Channel" workflow with allowed days set to Monday-Friday (Eastern Time):

* Someone joins at 10 AM on Tuesday → **Workflow runs**
* Someone joins at 3 PM on Saturday → **Workflow skipped**
* Someone joins at 11 PM Friday (which is Saturday in UTC) → **Workflow runs** (because it's still Friday in Eastern Time)

{% hint style="info" %}
The timezone setting is important! A trigger at 11 PM Friday in New York is already Saturday in UTC. Set your timezone to match your audience.
{% endhint %}

#### Available Timezones

25+ timezones are supported, including:

* US: Eastern, Central, Mountain, Pacific, Alaska, Hawaii
* Europe: London, Paris, Berlin, Amsterdam, Stockholm
* Asia: Tokyo, Singapore, Hong Kong, Dubai, Mumbai
* Australia: Sydney, Melbourne, Perth
* And more...

***

### Re-enrollment Settings

Control whether users or channels can trigger the same workflow multiple times.

#### Options

**Allow Re-enrollment (Default)**

Users or channels can trigger the workflow again if they meet the criteria. When combined with cooldown settings, this prevents spam while still allowing repeat triggers.

**Use when:**

* You want recurring engagement (e.g., weekly reminders)
* Users might need the workflow multiple times
* You're using cooldown to manage frequency

**Disable Re-enrollment**

Once a user or channel triggers the workflow, they can **never** trigger it again — regardless of cooldown settings.

**Use when:**

* True one-time automations (e.g., initial onboarding)
* You want to guarantee a user only receives the workflow once
* Preventing duplicate welcome messages across channel re-joins

#### Example

**Onboarding workflow with re-enrollment disabled:**

1. New hire joins #general → Workflow runs, sends welcome sequence
2. Same person leaves and rejoins #general → **Workflow does NOT run**

***

### Cooldown Period

When re-enrollment is enabled, cooldown prevents the same user or channel from triggering the workflow too frequently.

#### Options

| Option            | Behavior                                                                       |
| ----------------- | ------------------------------------------------------------------------------ |
| **Yes** (default) | Don't trigger if the workflow ran for this user/channel in the last 60 minutes |
| **No**            | Allow triggering even if the workflow ran recently                             |

#### Cooldown Behavior by Trigger

| Trigger Type           | Cooldown Applied To                           |
| ---------------------- | --------------------------------------------- |
| User Joins Channel     | Per user                                      |
| Form Submission        | Per user                                      |
| Channel Meets Criteria | Per channel                                   |
| Message Posted         | Per channel                                   |
| On Schedule            | N/A (scheduled triggers don't have cooldowns) |

#### Example

**Support channel workflow with cooldown enabled:**

1. User posts in #support at 2:00 PM → Workflow runs
2. Same user posts again at 2:30 PM → **Workflow skipped** (within 60-minute window)
3. Same user posts at 3:15 PM → Workflow runs (outside 60-minute window)

***

### Using Variables

Make your messages dynamic with variables that are replaced with actual values when the workflow runs.

#### System Variables

| Variable      | Description                                  | Available For                               |
| ------------- | -------------------------------------------- | ------------------------------------------- |
| `{{user}}`    | Mentions the user who triggered the workflow | User Joins, Message Posted, Form Submission |
| `{{channel}}` | References the trigger channel               | All triggers                                |

#### Form Field Variables

For Form Submission workflows, access any submitted field value:

```
{{field_internal_name}}
```

Find the internal name in your form's field settings.

**Example:**

```
Thanks for your feedback, {{user}}!

You rated us: {{satisfaction_rating}}
Your comments: {{additional_comments}}

We'll follow up within 24 hours.
```

#### Team Variables

Custom variables defined for your workspace with fallback values. These are set up separately and can be used across all workflows.

***

### Workflow States

Understanding what each workflow status means:

| Status       | Description                              | Will It Run? |
| ------------ | ---------------------------------------- | :----------: |
| **Active**   | Published and live — triggers will fire  |       ✓      |
| **Inactive** | Draft or unpublished — not yet live      |       ✗      |
| **Archived** | Soft-deleted — preserved but not running |       ✗      |

#### State Transitions

```
New workflow → Inactive (draft)
                  ↓
            Edit & configure
                  ↓
              Publish
                  ↓
               Active (live)
                  ↓
         Edit (creates new draft)
                  ↓
            Inactive (editing)
                  ↓
              Publish
                  ↓
               Active (updated)
```

***

### Workflow Logs

Monitor your workflow's execution history to troubleshoot issues or verify behavior.

#### What's Logged

Each workflow run records:

* **Triggered at** — When the workflow fired
* **Triggered by** — Who or what caused the trigger
* **Status** — Completed or skipped
* **Skip reason** — Why it was skipped (if applicable)
* **Step details** — Status of each action

#### Common Skip Reasons

| Skip Reason             | Meaning                                           |
| ----------------------- | ------------------------------------------------- |
| `day_filter`            | Workflow ran on a day not in allowed days         |
| `cooldown`              | User/channel triggered within the cooldown window |
| `reenrollment_disabled` | User/channel already received this workflow       |
| `creator_skip`          | The workflow creator triggered their own workflow |
| `form_filter_not_met`   | Form submission didn't match filter criteria      |

***

### Tips for Effective Workflows

1. **Start simple** — Begin with a single action, then add complexity as needed
2. **Test with yourself** — Join a test channel to see your workflow in action (note: you may need a colleague to test, as creators can't trigger their own workflows)
3. **Use delays strategically** — Space out messages to avoid overwhelming users. A welcome message + 24-hour delay + tips message feels more natural than three messages at once
4. **Name workflows clearly** — Your future self will thank you when managing 20+ workflows
5. **Check allowed days** — Make sure your timezone matches your audience's timezone
6. **Review logs regularly** — Check for unexpected skips or failures
7. **Consider re-enrollment carefully** — Decide upfront whether users should receive the workflow once or multiple times
8. **Get sender approval early** — If using custom senders, request approval before you need the workflow live

***


---

# 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/advanced-workflow-settings.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.
