How it works
How Bobbin investigates — inside your own project.
Bobbin does not pull your logs and metrics into a platform of its own. When one of your Cloud Monitoring alerts fires, it reaches into your Google Cloud project — through APIs, using roles you grant and can revoke — reads what it needs to answer one question, and leaves. Everything below is that reach-in model, in the order it actually runs.
The reach-in model
One boundary, one truth.
Alert to Pub/Sub to an investigation that runs inside your own project, read-only, to a report in Slack. The dashed line is not decoration — it is the one thing this page exists to show.
Getting in
Three paths, the same four roles.
However you grant access, Bobbin ends up with the same identity and the same four viewer roles — no path buys it more, and none of them buys you less transparency.
The console wizard
Gated on Google OAuth verificationSign in with Google and the wizard grants the same four roles for you through a transient OAuth consent — no gcloud to run. It is not available today: Google's sensitive-scope verification is a weeks-long process we cannot skip, and this page will not pretend otherwise.
The auditable script
Plain, commented bash wrapping the same gcloud steps 1:1 — readable before you run it, nothing hidden in a binary. It is what we run live on the onboarding call.
The Terraform module
The same grants again, wired for teams that provision Google Cloud by pull request rather than by hand.
All three come from one manual doc — the spec and the transparency artefact. An IAM change edits that doc first, then both implementations, in the same change.
Coalescing
One incident, one thread.
An alert storm is still one incident. Bobbin folds it before it reaches Slack, so a bad rollout does not turn into six competing conversations.
Before — six alerts, six channel posts
checkout-api-00042-abcdrevision_namecheckout-api-00042-efghrevision_namei-4f19a2instance_idi-88b3c7instance_idcheckout-api-7f3a-x9k2pod_nametask-3task_id
After — one open investigation
checkout-api · 5xx threshold1 coalescing key, 1 thread
The fold is service-level: it strips revision_name, instance_id,pod_name, task_id and version_id — a real coalescing key, not a "similar alerts" guess. A storm counts once against your plan's investigation cap.
Fair use
Included investigations, plain numbers.
Every tier includes a monthly allowance of investigations, and coalescing decides what actually counts as one.
An alert storm counts once — coalescing folds it into a single investigation. If you hit the cap two months running we will suggest the next tier; nothing switches off mid-incident.
What it can read
Four roles, checkable at the verb level.
The same four viewer roles shown on the homepage and on /security.
roles/logging.viewerwhat the service saidentries.listroles/monitoring.viewerwhat the metrics didtimeSeries.list · alertPolicies.getroles/errorreporting.viewerwhat is failing, and since whengroupStats.listroles/run.viewerwhat changed in a deployrevisions.get · services.list