
Security News
Ruby's Bundler 4.0.18 Extends Cooldown to bundle lock and bundle cache
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.
@agentkitai/agentgate-slack
Advanced tools
Slack bot integration for AgentGate human approvals.
pnpm add @agentkitai/agentgate-slack
Navigate to OAuth & Permissions and add these Bot Token Scopes:
chat:write - Send messageschat:write.public - Send to channels the bot isn't a member ofcommands - (Optional) For future slash commandsNavigate to Interactivity & Shortcuts:
https://your-ngrok-url.ngrok.io/slack/eventshttps://your-server.com/slack/eventsAfter installation, you'll need:
xoxb-...) - Found in OAuth & Permissionsimport { createSlackBot } from '@agentkitai/agentgate-slack';
const bot = createSlackBot({
token: process.env.SLACK_BOT_TOKEN!,
signingSecret: process.env.SLACK_SIGNING_SECRET!,
agentgateUrl: 'http://localhost:3000',
defaultChannel: '#approvals',
port: 3001,
});
await bot.start();
// Send an approval request
await bot.sendApprovalRequest(request, '#approvals');
Set environment variables and run:
# Required
export SLACK_BOT_TOKEN=xoxb-your-token
export SLACK_SIGNING_SECRET=your-signing-secret
# Optional
export AGENTGATE_URL=http://localhost:3000 # default
export AGENTGATE_API_KEY=your-api-key # recommended for authenticated API calls
export SLACK_BOT_PORT=3001 # default
export SLACK_DEFAULT_CHANNEL=#approvals
# Run
pnpm start
Or with a .env file:
SLACK_BOT_TOKEN=xoxb-your-token
SLACK_SIGNING_SECRET=your-signing-secret
AGENTGATE_URL=http://localhost:3000
AGENTGATE_API_KEY=your-api-key
SLACK_BOT_PORT=3001
SLACK_DEFAULT_CHANNEL=#approvals
| Variable | Required | Default | Description |
|---|---|---|---|
SLACK_BOT_TOKEN | Yes | - | Slack bot token (xoxb-...) |
SLACK_SIGNING_SECRET | Yes | - | Slack app signing secret |
AGENTGATE_URL | No | http://localhost:3000 | AgentGate server URL |
AGENTGATE_API_KEY | Recommended | - | API key for AgentGate API authentication |
SLACK_BOT_PORT | No | 3001 | Port for the bot to listen on |
SLACK_DEFAULT_CHANNEL | No | - | Default channel for notifications |
Approval requests are formatted using Slack Block Kit:
🔔 Approval Request
━━━━━━━━━━━━━━━━━━━━
Action: send_email
Urgency: 🟡 normal
Request ID: req_123abc
Created: 2024-01-15T10:30:00Z
Parameters:
{
"to": "user@example.com",
"subject": "Hello"
}
📋 Context: {"agent": "email-agent"}
━━━━━━━━━━━━━━━━━━━━
[✅ Approve] [❌ Deny]
[🔗 Approve (one-click)] [🔗 Deny (one-click)]
⏰ One-click links expire: 2024-01-16T10:30:00Z
The message includes two types of buttons:
After a decision, the message updates to show:
✅ Request Approved
━━━━━━━━━━━━━━━━━━━━
Action: send_email
Decision: Approved by @username
The bot communicates with AgentGate server via:
POST /api/requests/:id/decide
{
"decision": "approved" | "denied",
"decidedBy": "slack_user_id"
}
For local development, use ngrok to expose your bot:
# Terminal 1: Start the bot
pnpm dev
# Terminal 2: Expose with ngrok
ngrok http 3001
Then update your Slack app's Request URL with the ngrok URL.
MIT
FAQs
Slack bot integration for AgentGate human approvals.
We found that @agentkitai/agentgate-slack demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.

Company News
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.