Agent skill
slack-api-github-actions-integration
Sub-skill of slack-api: GitHub Actions Integration (+1).
Install this agent skill to your Project
npx add-skill https://github.com/vamseeachanta/workspace-hub/tree/main/.claude/skills/_archive/business/communication/slack-api/github-actions-integration
SKILL.md
GitHub Actions Integration (+1)
GitHub Actions Integration
# .github/workflows/slack-notify.yml
name: Slack Notifications
on:
push:
branches: [main]
pull_request:
types: [opened, closed, merged]
workflow_run:
workflows: ["CI"]
types: [completed]
jobs:
notify-deployment:
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- name: Notify Slack
uses: slackapi/slack-github-action@v1
with:
payload: |
{
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": ":rocket: Deployment Started"
}
},
{
"type": "section",
"fields": [
{"type": "mrkdwn", "text": "*Repository:*\n${{ github.repository }}"},
{"type": "mrkdwn", "text": "*Branch:*\n${{ github.ref_name }}"},
{"type": "mrkdwn", "text": "*Commit:*\n`${{ github.sha }}`"},
{"type": "mrkdwn", "text": "*Author:*\n${{ github.actor }}"}
]
},
{
"type": "actions",
"elements": [
{
"type": "button",
"text": {"type": "plain_text", "text": "View Commit"},
"url": "${{ github.event.head_commit.url }}"
}
]
}
]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
FastAPI Integration
# api_integration.py
# ABOUTME: FastAPI integration for Slack event handling
# ABOUTME: Webhook endpoint for Slack Events API
from fastapi import FastAPI, Request, HTTPException
from slack_bolt import App
from slack_bolt.adapter.fastapi import SlackRequestHandler
import os
# Initialize Slack app
slack_app = App(
token=os.environ.get("SLACK_BOT_TOKEN"),
signing_secret=os.environ.get("SLACK_SIGNING_SECRET")
)
# Register event handlers
@slack_app.event("message")
def handle_message(event, say):
if "hello" in event.get("text", "").lower():
say(f"Hi <@{event['user']}>!")
@slack_app.command("/api-status")
def handle_status(ack, respond):
ack()
respond("API is healthy!")
# FastAPI setup
app = FastAPI(title="Slack Bot API")
handler = SlackRequestHandler(slack_app)
@app.post("/slack/events")
async def slack_events(request: Request):
"""Handle Slack events"""
return await handler.handle(request)
@app.post("/slack/interactions")
async def slack_interactions(request: Request):
"""Handle Slack interactive components"""
return await handler.handle(request)
@app.get("/health")
async def health():
"""Health check endpoint"""
return {"status": "healthy"}
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
gsd-complete-milestone
Archive completed milestone and prepare for next version
gsd-reapply-patches
Reapply local modifications after a GSD update
gsd-verify-work
Validate built features through conversational UAT
gsd-thread
Manage persistent context threads for cross-session work
clinical-trial-protocol
Generate clinical trial protocols for medical devices or drugs through a modular, waypoint-based architecture with research-only and full protocol modes.
single-cell-rna-qc
Performs quality control on single-cell RNA-seq data (.h5ad or .h5 files) using scverse best practices with MAD-based filtering and comprehensive visualizations.
Didn't find tool you were looking for?