Rust SDK (shipping Q4 2026)
Official meetbot crate. Async-first via tokio + reqwest, hand-written ergonomic facade over a progenitor-generated transport.
The Rust SDK is on the public roadmap for Q4 2026, after the Python (M6) and Go (Q3) SDKs land.
While we ship it, you have two viable paths:
- Use the OpenAPI spec directly with
progenitor:[build-dependencies] progenitor = "0.7"// build.rs let spec = std::fs::read_to_string("meetbot.yaml")?; let mut generator = progenitor::Generator::default(); let tokens = generator.generate_tokens(&serde_yaml::from_str(&spec)?)?; std::fs::write("src/generated.rs", prettyplease::unparse(&tokens.into()))?; - Use the CLI via
std::process::Commandfor one-shot ops.
Planned API shape
When the official Rust SDK lands, the surface will look like:
use meetbot::{Client, DispatchBotInput};
#[tokio::main]
async fn main() -> Result<(), meetbot::Error> {
let mb = Client::builder()
.api_key(std::env::var("MEETBOT_API_KEY")?)
.build()?;
let job = mb.dispatch_bot(DispatchBotInput {
external_id: "lesson-2026-05-09-pavel".into(),
meeting_url: "https://meet.google.com/abc-defg-hij".into(),
display_name: Some("Acme Notetaker".into()),
..Default::default()
}).await?;
println!("dispatched {} → {:?}", job.id, job.status);
Ok(())
}Webhook verification:
use meetbot::verify_webhook_signature;
async fn handler(headers: HeaderMap, body: Bytes) -> StatusCode {
let header = headers.get("x-meetbot-signature").and_then(|h| h.to_str().ok());
let secret = std::env::var("MEETBOT_WEBHOOK_SECRET").unwrap();
if !verify_webhook_signature(&body, header, &secret) {
return StatusCode::UNAUTHORIZED;
}
// parse + handle
StatusCode::OK
}Distribution
- crates.io name:
meetbot(we'll reserve before Q4) - MSRV (minimum supported Rust version): 1.78, locked at ship.
- Async-first via
tokio+reqwest. Sync facade viatokio::runtime::Runtime::block_onif customer demand emerges. serde+serde_jsonfor models; nopydantic-style runtime validation — Rust's type system does that statically.
Status
🚧 In design. The crate skeleton lives at packages/sdk-rust/
in the monorepo. Tracked in
github.com/meetbot-dev/meetbot/milestones.
For build philosophy + codegen-vs-handwritten tradeoffs, see
docs/sdk-shipping-strategy.md.
See also
- TypeScript SDK
- Python SDK
- Go SDK — ships Q3 2026
Go SDK (shipping Q3 2026)
Official meetbot SDK for Go. Hand-written ergonomic facade over an oapi-codegen-generated transport. Importable as github.com/meetbot-dev/meetbot/sdk-go.
CLI (npm + Claude Skill)
Install @meetbot/cli to dispatch bots, fetch recordings, manage keys, and forward webhooks from the terminal. Also distributable as an Anthropic Claude Skill so Claude.ai can drive the same operations from natural language.