slack-workflows

Slack automation and workflow builder - notifications, standup bots, approval flows, and cross-platform integrations

INSTALLATION
npx skills add https://github.com/claude-office-skills/skills --skill slack-workflows
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

Slack Workflows

Automate Slack with intelligent workflows for notifications, standup collection, approval processes, and cross-platform integrations. Based on n8n automation patterns.

Overview

This skill covers:

  • Automated notifications and alerts
  • Daily standup collection
  • Approval workflows
  • Cross-platform integrations
  • Channel management automation

Core Workflows

1. Daily Standup Bot

workflow: "Async Standup"

schedule: "9:00 AM weekdays"

steps:

  1. send_prompt:

      channel: each team member (DM)

      message: |

        πŸ‘‹ Good morning! Time for standup.

        Please share:

        1️⃣ What did you complete yesterday?

        2️⃣ What are you working on today?

        3️⃣ Any blockers?

        Reply in this thread πŸ‘‡

  2. collect_responses:

      timeout: 2_hours

      reminder: at_1_hour

  3. compile_summary:

      time: "11:00 AM"

      channel: "#team-standup"

      format: |

        πŸ“‹ *Daily Standup - {date}*

        {for_each_member}

        *{name}*

        βœ… Yesterday: {yesterday}

        πŸ“Œ Today: {today}

        🚧 Blockers: {blockers}

        ---

        {end_for}

        *Summary:*

        β€’ {total} team members responded

        β€’ {blockers_count} blockers flagged

  4. flag_blockers:

      if: blockers_count > 0

      notify: manager

      action: create_thread_for_discussion

2. Approval Workflow

workflow: "Expense Approval"

trigger: form_submission OR slash_command

steps:

  1. receive_request:

      data:

        - requester

        - amount

        - category

        - description

        - receipt_url

  2. route_approval:

      rules:

        - if: amount < 100

          approver: direct_manager

        - if: amount >= 100 AND amount < 1000

          approver: department_head

        - if: amount >= 1000

          approver: [department_head, finance]

          type: sequential

  3. send_approval_request:

      channel: DM to approver

      message: |

        πŸ“ *Expense Approval Request*

        *From:* {requester}

        *Amount:* ${amount}

        *Category:* {category}

        *Description:* {description}

        [View Receipt]({receipt_url})

      actions:

        - button: "βœ… Approve"

          action: approve

        - button: "❌ Reject"

          action: reject

        - button: "πŸ’¬ Ask Question"

          action: request_info

  4. handle_response:

      approved:

        - notify_requester: "Your expense was approved! πŸŽ‰"

        - create_task: in_accounting_system

        - log: in_expense_tracker

      rejected:

        - notify_requester: "Expense not approved. Reason: {reason}"

        - log: with_rejection_reason

  5. escalate_if_no_response:

      timeout: 24_hours

      action: remind_approver

      final_escalation: 48_hours

3. New Hire Onboarding

workflow: "Employee Onboarding"

trigger: new_employee_added_to_HRIS

timeline:

  day_minus_7:

    - create_channels:

        - "#welcome-{name}"

        - add_to: ["#general", "#team-{department}"]

    - notify_it: "Set up laptop for {name}"

    - notify_manager: "Onboarding starts in 7 days"

  day_1:

    - morning:

        - post_welcome: "#general"

          message: |

            πŸŽ‰ Please welcome *{name}* to the team!

            Role: {title}

            Team: {department}

            Location: {office}

            Fun fact: {fun_fact}

            Say hi and make them feel welcome! πŸ‘‹

        - dm_new_hire:

            message: |

              Welcome to {Company}! πŸš€

              Here are your first steps:

              1. [Complete HR paperwork]({hr_link})

              2. [Set up your accounts]({it_link})

              3. [Meet the team]({org_chart})

              Your buddy is @{buddy_name} - reach out anytime!

    - afternoon:

        - schedule_intros: with_key_stakeholders

  day_3:

    - check_in:

        dm: "How's your first week going? Any questions?"

  day_7:

    - survey:

        question: "How was your onboarding experience?"

        scale: 1-5

  day_30:

    - feedback_request:

        dm: "You've been here a month! What could we improve?"

4. Incident Response

workflow: "Incident Alert"

trigger: monitoring_alert OR manual

severity_levels:

  critical:

    - create_channel: "#incident-{timestamp}"

    - notify: "@channel in #engineering"

    - page: on_call_engineer

    - create_war_room: video_link

    - start_timer: for_resolution_tracking

  high:

    - notify: "#engineering-alerts"

    - assign: on_call_engineer

    - create_ticket: in_jira

  medium:

    - notify: "#engineering-alerts"

    - create_ticket: in_jira

  low:

    - create_ticket: in_jira

    - notify: next_business_day

incident_channel_template: |

  🚨 *INCIDENT: {title}*

  *Severity:* {severity}

  *Status:* Investigating

  *Started:* {timestamp}

  *Commander:* @{commander}

  ---

  *Affected Systems:*

  {systems}

  *Customer Impact:*

  {impact}

  ---

  πŸ“‹ *Actions:*

  β€’ [ ] Identify root cause

  β€’ [ ] Implement fix

  β€’ [ ] Verify resolution

  β€’ [ ] Communicate to stakeholders

  πŸ”— *Links:*

  β€’ [Runbook]({runbook_url})

  β€’ [Dashboard]({dashboard_url})

  β€’ [Video Room]({video_url})

resolution_flow:

  1. commander_declares: "resolved"

  2. notify_stakeholders: resolution_message

  3. archive_channel: after_24_hours

  4. create_postmortem: in_notion

  5. schedule_review: in_calendar

5. Cross-Platform Sync

workflow: "CRM to Slack Notifications"

triggers:

  hubspot_deal_won:

    channel: "#wins"

    message: |

      πŸŽ‰ *Deal Closed!*

      *Company:* {company}

      *Value:* ${amount}

      *Rep:* @{sales_rep}

      *Product:* {product}

      Congrats! πŸš€

  hubspot_deal_lost:

    channel: "#sales-team"

    message: |

      πŸ“Š *Deal Lost*

      *Company:* {company}

      *Value:* ${amount}

      *Reason:* {loss_reason}

      *Competitor:* {competitor}

      Thread for learnings πŸ‘‡

  github_pr_merged:

    channel: "#engineering"

    message: |

      βœ… PR merged: *{pr_title}*

      by @{author}

      {pr_description_summary}

  stripe_payment_failed:

    channel: "#revenue-alerts"

    message: |

      ⚠️ *Payment Failed*

      *Customer:* {customer_email}

      *Amount:* ${amount}

      *Reason:* {failure_reason}

      [View in Stripe]({stripe_link})

Slash Commands

Custom Commands

slash_commands:

  /kudos:

    description: "Give recognition to a teammate"

    usage: "/kudos @person for [reason]"

    action:

      - post_to: "#kudos"

      - format: |

          🌟 *Kudos!*

          @{sender} gave kudos to @{recipient}

          > {reason}

      - track: in_recognition_spreadsheet

  /pto:

    description: "Request time off"

    usage: "/pto [start_date] to [end_date] for [reason]"

    action:

      - create_approval: pto_approval_flow

      - update_calendar: block_dates

      - notify_team: if_approved

  /standup:

    description: "Submit async standup"

    usage: "/standup"

    action:

      - open_modal: standup_form

      - collect_responses: yesterday, today, blockers

      - post_to: "#team-standup"

  /poll:

    description: "Create a quick poll"

    usage: "/poll 'Question' 'Option 1' 'Option 2' ..."

    action:

      - create_message: with_reactions

      - track_votes: by_reaction_count

      - close_poll: after_24h_or_manual

Channel Management

channel_automation:

  project_channels:

    trigger: jira_project_created

    action:

      - create_channel: "#proj-{project_key}"

      - add_members: project_team

      - set_topic: "{project_name} - {project_description}"

      - pin_message: project_resources

      - archive: when_project_completed

  customer_channels:

    trigger: deal_closed_won

    action:

      - create_channel: "#customer-{company}"

      - add_members: [csm, sales_rep, support]

      - set_purpose: "Support channel for {company}"

      - integrate: zendesk_alerts

  cleanup:

    schedule: monthly

    rules:

      - archive_if:

          no_messages: 90_days

          AND:

            not_pinned: true

            not_customer_channel: true

      - notify_before_archive: 7_days

Output Example

Request: "Set up a deal win notification in Slack"

Output:

# Deal Win Notification Setup

## Workflow Configuration

trigger: hubspot_deal_stage_changed

condition: new_stage == "Closed Won"

action:

channel: "#wins"

message: see_below


## Message Template

πŸŽ‰ DEAL CLOSED!

━━━━━━━━━━━━━━━━━━━━━━

🏒 Company: {company_name}

πŸ’° Value: ${deal_amount}

πŸ‘€ Sales Rep: @{owner_slack_id}

πŸ“¦ Product: {product_line}

━━━━━━━━━━━━━━━━━━━━━━

Deal Summary:

β€’ Sales cycle: {days_in_pipeline} days

β€’ Lead source: {lead_source}

β€’ Industry: {industry}

🎊 Congrats to the team!


## n8n Implementation

// HubSpot Trigger β†’ Slack Node

{

"nodes": [

{

"name": "HubSpot Trigger",

"type": "n8n-nodes-base.hubspotTrigger",

"parameters": {

"eventsUi": {

"eventValues": ["deal.propertyChange"]

},

"property": "dealstage",

"value": "closedwon"

}

},

{

"name": "Format Message",

"type": "n8n-nodes-base.set",

"parameters": {

"values": {

"message": "πŸŽ‰ DEAL CLOSED!\n\n🏒 {{$json.company}}\nπŸ’° ${{$json.amount}}"

}

}

},

{

"name": "Slack",

"type": "n8n-nodes-base.slack",

"parameters": {

"channel": "#wins",

"text": "={{$json.message}}"

}

}

]

}


## Sample Output

πŸŽ‰ DEAL CLOSED!

━━━━━━━━━━━━━━━━━━━━━━

🏒 Company: Acme Corporation

πŸ’° Value: $45,000

πŸ‘€ Sales Rep: @alice.chen

πŸ“¦ Product: Enterprise Plan

━━━━━━━━━━━━━━━━━━━━━━

Deal Summary:

β€’ Sales cycle: 45 days

β€’ Lead source: Inbound - Website

β€’ Industry: Technology

🎊 Congrats to the team!

---

Slack Workflows Skill - Part of Claude Office Skills

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills β†’

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free Β· no credit card