slack-volt
A Bolt-style framework for building Slack apps in Rust. Provides declarative handler registration, middleware, Block Kit builders, and first-class AWS Lambda support.
Built on top of slack-morphism for Slack API types.
Quick Start
use ;
use LambdaAdapter;
async
async
Features
- Slash commands —
app.command("/name", handler) - Events —
app.event("app_mention", handler) - Actions —
app.action("button_click", handler) - Modal submissions —
app.view_submission("callback_id", handler) - Block Kit DSL —
blocks::section(),blocks::modal(),blocks::button(), etc. - Signature verification — HMAC-SHA256 middleware, enabled automatically when signing secret is set
- AWS Lambda —
slack-volt-lambdacrate wraps your app as a Lambda handler via API Gateway
Crates
| Crate | Description |
|---|---|
slack-volt |
Core framework — handlers, middleware, Block Kit |
slack-volt-lambda |
AWS Lambda adapter via lambda_http |
Installation
Add to your Cargo.toml:
[]
= { = "https://github.com/rajbot/slack-volt-rs" }
= { = "https://github.com/rajbot/slack-volt-rs" }
= { = "1", = ["full"] }
Local Development
# Install cargo-lambda
# Run locally (simulates API Gateway)
# Test with curl
License
Apache-2.0