meetbot / docs
SDKs

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.

The Go SDK is on the public roadmap for Q3 2026.

While we ship it, you have two viable paths:

  1. Use the OpenAPI spec directly with oapi-codegen:

    go install github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen@latest
    curl https://meetbot.dev/openapi.yaml -o meetbot.yaml
    oapi-codegen -package meetbot meetbot.yaml > meetbot/client.go

    This gives you typed structs + a low-level client that mirrors every endpoint. We do exactly this internally — the official SDK adds an ergonomic facade on top.

  2. Use the CLI via os/exec for one-shot ops. Single static binary, zero Go deps, JSON output via --json pipes cleanly into your code.

Planned API shape

When the official Go SDK lands it will look like this — copy this into your design docs as the authoritative future surface:

package main

import (
    "context"
    "fmt"
    "os"

    "github.com/meetbot-dev/meetbot/sdk-go/meetbot"
)

func main() {
    mb, err := meetbot.NewClient(meetbot.Config{
        APIKey: os.Getenv("MEETBOT_API_KEY"),
    })
    if err != nil { panic(err) }

    job, err := mb.DispatchBot(context.Background(), meetbot.DispatchBotInput{
        ExternalID:  "lesson-2026-05-09-pavel",
        MeetingURL:  "https://meet.google.com/abc-defg-hij",
        DisplayName: "Acme Notetaker",
    })
    if err != nil { panic(err) }

    fmt.Printf("dispatched %s%s\n", job.ID, job.Status)
}

Webhook verification:

import "github.com/meetbot-dev/meetbot/sdk-go/meetbot"

func handler(w http.ResponseWriter, r *http.Request) {
    raw, _ := io.ReadAll(r.Body)
    if !meetbot.VerifyWebhookSignature(
        raw,
        r.Header.Get("X-Meetbot-Signature"),
        os.Getenv("MEETBOT_WEBHOOK_SECRET"),
    ) {
        http.Error(w, "invalid signature", http.StatusUnauthorized)
        return
    }
    // parse + handle
}

Distribution

  • Module path: github.com/meetbot-dev/meetbot/sdk-go
  • Versioned via Go module subdirectory tags (sdk-go/v0.1.0, etc.)
  • Published via git tag push; go get resolves through the default GOPROXY automatically.
  • Min Go version: 1.22 (decided at ship time; locked here for customer planning).

Status

🚧 In design. The package skeleton lives at packages/sdk-go/ in the monorepo. Track the milestone at github.com/meetbot-dev/meetbot/milestones.

For build philosophy and the codegen-vs-handwritten tradeoffs, see docs/sdk-shipping-strategy.md.

See also

On this page