Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions automations/catalog/github-repo-monitor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"id": "github-repo-monitor",
"name": "GitHub repository monitor",
"category": "Developer tools",
"description": "Watch a repository for @OpenHands mentions in issues and PR comments, start a conversation, and post the agent's reply back to GitHub.",
"requiredMcpIds": ["github"],
"popularityRank": 98,
"estimatedSetupMinutes": 5,
"prompt": "Set up a GitHub repository monitor automation that polls a repository for comments containing a trigger phrase (default: @OpenHands) and starts an OpenHands conversation in response, then posts the agent's reply back to GitHub. Walk me through the setup.",
"exampleImplementation": "Trigger: cron, every minute (configurable)\nRequired secret: GITHUB_TOKEN\n\n1. Poll GitHub for new issue and PR comments since the last run.\n2. Match comments containing the trigger phrase (case-insensitive, default: @OpenHands).\n3. Post an acknowledgment comment with a link to the new OpenHands conversation.\n4. Forward follow-up replies in the same thread to the running conversation.\n5. Post the agent's final response back to GitHub when the conversation completes."
}
11 changes: 11 additions & 0 deletions automations/catalog/slack-channel-monitor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"id": "slack-channel-monitor",
"name": "Slack channel monitor",
"category": "Team communication",
"description": "Watch Slack channels for @openhands mentions, open a conversation with the message context, and reply in the thread when the agent finishes.",
"requiredMcpIds": ["slack"],
"popularityRank": 92,
"estimatedSetupMinutes": 7,
"prompt": "Set up a Slack channel monitor automation that polls Slack channels for messages containing a trigger phrase (default: @openhands) and starts an OpenHands conversation in response, then posts the agent's reply back to the Slack thread. Walk me through the setup — ask me which channels to monitor and what trigger phrase to use.",
"exampleImplementation": "Trigger: cron, every minute\nRequired secret: SLACK_BOT_TOKEN or SLACK_USER_TOKEN\n\n1. Poll up to 10 configured Slack channels for new messages since the last run.\n2. Match messages containing the trigger phrase (default: @openhands).\n3. React with 👀 and start an OpenHands conversation with the message and recent channel context.\n4. Post a thread reply with a link to the conversation.\n5. Forward subsequent thread replies to the running conversation and post the agent's response when done."
}
4 changes: 4 additions & 0 deletions automations/index.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
import github_pr_reviewer from "./catalog/github-pr-reviewer.json" with { type: "json" };
import github_repo_monitor from "./catalog/github-repo-monitor.json" with { type: "json" };
import slack_standup_digest from "./catalog/slack-standup-digest.json" with { type: "json" };
import slack_channel_monitor from "./catalog/slack-channel-monitor.json" with { type: "json" };
import linear_triage_assistant from "./catalog/linear-triage-assistant.json" with { type: "json" };
import research_brief_writer from "./catalog/research-brief-writer.json" with { type: "json" };
import incident_retrospective_drafter from "./catalog/incident-retrospective-drafter.json" with { type: "json" };

export const AUTOMATION_CATALOG = [
github_pr_reviewer,
github_repo_monitor,
slack_standup_digest,
slack_channel_monitor,
linear_triage_assistant,
research_brief_writer,
incident_retrospective_drafter,
Expand Down
Loading