Slack Notifications
Send automated messages to Slack channels when events occur using the CONNECTOR step type.
Time
Level
Prerequisites
15 minutes
Intermediate
Slack workspace admin access
What You'll Build
An automation that:
- Receives new order data via webhook trigger
- Uses CONNECTOR step to post to Slack
- Uses CONDITION step to route high-value orders to VIP channel
Step 1: Connect Slack
Create a Slack Connection
- Go to Connections
- Click + New Connection
- Search for Slack connector
- Click Connect
Authorize work.studio
- A Slack popup opens
- Select your workspace
- Click Allow
- The popup closes β you're connected!
Step 2: Create the Automation
- Go to Automations
- Click + New Automation
- Name:
New Order Slack Alert - Click Create
Step 3: Add Webhook Trigger
Configure Trigger
- Click Add Trigger
- Select Webhook
- Copy the webhook URL
Expected Payload
{
"order_id": "ORD-12345",
"customer": "Acme Corp",
"amount": 499.99,
"items": ["Widget Pro", "Widget Basic"]
}
Step 4: Add CONNECTOR Step for Slack
Add the Step
- Click + below the trigger
- Select CONNECTOR from the step palette
Configure the Connector Step
Configure Parameters
Message Template
π *New Order Received!*
*Order ID:* {{ input.order_id }}
*Customer:* {{ input.customer }}
*Amount:* ${{ input.amount }}
*Items:*
{{ input.items.join(", ") }}
Step 5: Add CONDITION for High-Value Orders
Add CONDITION Step
For large orders, send an additional alert to a VIP channel:
- Click + after the Slack CONNECTOR step
- Select CONDITION from the step palette
- Name it:
Check High Value
Configure the Condition
{{ input.amount }} > 1000
True Branch: VIP Alert
In the "True" branch, add another CONNECTOR step:
Your workflow now looks like:
βββββββββββββββββββββββ
β Webhook Trigger β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β CONNECTOR: Slack β
β Post to #orders β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β CONDITION β
β amount > 1000? β
ββββββββββββ¬βββββββββββ€
β True β False β
ββββββ¬ββββββ΄βββββ¬ββββββ
β β
βΌ βΌ
βββββββββββ (end)
βCONNECTORβ
β#vip-ordersβ
βββββββββββ
Step 6: Test the Integration
Save and Activate
- Click Save
- Toggle Active
Send Test Webhook
Use curl or any HTTP client:
curl -X POST api.work.studio/webhook/YOUR_WEBHOOK_ID \
-H "Content-Type: application/json" \
-d '{
"order_id": "ORD-99999",
"customer": "Test Corp",
"amount": 1500.00,
"items": ["Premium Widget", "Deluxe Addon"]
}'
Verify in Slack
Check both channels:
#ordersβ Should have the order notification#vip-ordersβ Should have the high-value alert (amount > 1000)
Advanced: Using Block Kit
For rich interactive messages, use Slack's Block Kit format:
CONNECTOR Configuration with Blocks
Set the blocks parameter instead of text:
[
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "π *New Order: {{ input.order_id }}*"
}
},
{
"type": "section",
"fields": [
{"type": "mrkdwn", "text": "*Customer:*\n{{ input.customer }}"},
{"type": "mrkdwn", "text": "*Amount:*\n${{ input.amount }}"}
]
},
{
"type": "actions",
"elements": [
{
"type": "button",
"text": {"type": "plain_text", "text": "View Order"},
"url": "flow.work.studio/orders/{{ input.order_id }}"
}
]
}
]
Using Slack as a Trigger
You can also trigger automations FROM Slack using the Slack trigger type:
- Create a new automation
- Click Add Trigger β Slack
- Configure:
- Channel to monitor
- Message pattern or slash command
When someone posts in that channel (or uses the command), your automation runs.
Best Practices
Do
- Use emojis for visual scanning
- Keep messages concise
- Use channels appropriately (not everything in
#general) - Include links for quick actions
Avoid
- Spamming channels with too many messages
- Sending sensitive data to public channels
- Using @here or @channel excessively
Next Steps
- Scheduled Reports β β Post daily summaries to Slack
- REST API Integration β β Build custom API integrations
REST API Integration
Connect to any REST API.