stairsWorkflow Steps

Steps are the steps that execute when your workflow triggers. You can chain multiple Steps together, and they'll run in sequence from top to bottom.


Send Message

Send a Threadly message to users or channels. This is the most common workflow action.

Configuration

Setting
Description

Message

Compose your message with rich text formatting

Destination

Choose where to send it (see options below)

Image (optional)

Attach an image to the message

Action Buttons (optional)

Add forms, links, or calendar booking buttons

Sender (optional)

Override who the message appears to come from

Destination Types

Destination
Description
Example Use Case

User who triggered workflow

DM the person who caused the trigger

Welcome message to new channel member

Channel the workflow was triggered in

Post to the same channel

Respond in the channel where someone joined

Specific channels

Post to selected public channels

Announce to multiple team channels

Specific users

DM selected users individually

Notify specific team members

Multi-DM

Create a group DM (up to 8 users)

Loop in a small team together

Conversation Group

Send to a saved static or dynamic group

Message all managers or a custom segment

Using Variables in Messages

Make your messages dynamic by including variables:

Variables are replaced with actual values when the message sends.


Delay

Pause your workflow for a set amount of time before the next step runs. Use delays to space out messages or create drip sequences.

Configuration

Setting
Description

Duration

Enter a number (1-9999)

Unit

Seconds, Minutes, or Hours

Example: Onboarding Drip Sequence

  1. Send Message — Welcome message (immediate)

  2. Delay — Wait 24 hours

  3. Send Message — Day 2 tips and resources

  4. Delay — Wait 48 hours

  5. Send Message — Check-in message

circle-info

Multiple delays accumulate. A 5-minute delay followed by a 10-minute delay means the third step runs 15 minutes after the workflow starts.


Send Webhook

Trigger an external system by sending an HTTP POST request. Use this to integrate with custom applications or services.

Configuration

Setting
Description

Webhook URL

The HTTPS endpoint to call

Custom Headers (optional)

Add authentication or custom headers

Payload Structure

When the webhook fires, it sends this JSON payload:

Example Use Cases

  • Log workflow events to your analytics system

  • Trigger internal tools or custom integrations

  • Send data to a database or data warehouse


Send to Zapier

Kick off a Zapier automation (Zap) using this workflow as the trigger. Perfect for integrating with thousands of apps.

Configuration

Setting
Description

Zapier Webhook URL

Your Zap's webhook URL (from Zapier's "Webhooks by Zapier" trigger)

Example Integrations

  • Add form responses to Google Sheets

  • Create Notion pages for new channel members

  • Update Salesforce records when workflows trigger

  • Send emails via Gmail or Mailchimp

  • Create tasks in Asana or Monday.com


Add User to Segment

Automatically add the user who triggered the workflow to a predefined static segment. Use this to segment users for future targeting.

Configuration

Setting
Description

Group

Select the Conversation Group to add them to

Example Use Cases

  • Add users who complete onboarding to an "Onboarded" group

  • Segment users by the channel they joined

  • Build lists for future campaigns based on actions


Remove User from Segment

Automatically remove a user from a static segment — useful for managing segments based on steps or time-based rules.

Configuration

Setting
Description

Group

Select the Conversation Group to remove them from

Example Use Cases

  • Remove users from "New Hire" group after 30 days

  • Move users between segments based on activity

  • Clean up groups when users take certain actions


Add Threadly to Channel

Add Threadly as a member of a channel if it isn't already. Useful when your workflow needs to post to channels Threadly hasn't joined yet.

Configuration

Setting
Description

Channel

Select the channel to add Threadly to

When to Use This

  • Before sending messages to channels via "Channel Meets Criteria" workflows

  • When scaling across many channels that may not have Threadly added


Update HubSpot Contact

Update fields on a HubSpot contact record based on workflow events. Requires an active HubSpot integration.

Configuration

Setting
Description

Fields to Update

Map HubSpot field names to values

Available Variables

Variable
Description

{{user_id}}

Slack user ID

{{user_email}}

User's email address (from Slack)

{{user_joined_channel_date}}

Date they joined the channel (YYYY-MM-DD)

{{channel_name}}

Name of the trigger channel

{{workflow_name}}

Name of this workflow

Example Use Cases

  • Update "Slack Onboarded" field when user joins #general

  • Set "Last Slack Activity" date on contact records

  • Track which channels contacts have joined


Step Availability by Trigger

Not all steps work with every trigger type. Here's the compatibility matrix:

Action
User Joins Channel
Channel Meets Criteria
On Schedule
Form Submission
Message Posted

Delay

Send Message

Send Webhook

Send to Zapier

Add Threadly to Channel

Add User to Segment

Remove User from Segment

Update HubSpot Contact


Tips for Effective Steps

  1. Start with Send Message — It's the most common and easiest to test

  2. Use delays strategically — Space out messages to avoid overwhelming users

  3. Test webhooks first — Use a tool like webhook.site to verify payloads

  4. Combine actions — Chain multiple steps for powerful automations

  5. Consider the destination — Match your destination type to your use case


Last updated