Repository navigation
fix(grain): Grain API v2 (v1 retired, index stopped Sep 30) + service key for Supabase MCPs - #566
Merged
Merged
Conversation
…stopped on Sep 30 - Client on /_/public-api/v2 with Public-Api-Version; recordings via POST, hooks are one per type (recording_added / recording_updated) with include. - Webhook payloads only say which recording changed (v2 hooks are unsigned): the indexed row is always re-fetched from Grain by id, never trusted from the POST body. GRAIN_API_KEY keeps the webhook working after a restart (onChange only runs when the connection is saved). - Tools keep their contract (owners = recorders, notes = ai_summary). - Backfill script on v2, with --since and full rows. - grain, slack-mcp, discord-read, discord, registry prefer SUPABASE_SERVICE_ROLE_KEY: the shared Supabase is moving to RLS on and no anon access (tokens and private data were readable/writable with the public anon key). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/blog-generator
October 26, 2026 00:55
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/content-scraper
October 26, 2026 00:55
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/deco-news-weekly-digest
October 26, 2026 00:55
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/discord-read
October 26, 2026 00:55
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/google-analytics
October 26, 2026 00:55
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/google-big-query
October 26, 2026 00:55
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/google-calendar
October 26, 2026 00:56
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/google-calendar-sa
October 26, 2026 00:56
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/google-drive
October 26, 2026 00:56
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/google-meet
October 26, 2026 00:56
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/google-search-console
October 26, 2026 00:56
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/google-sheets
October 26, 2026 00:56
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/google-slides
October 26, 2026 00:56
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/google-tag-manager
October 26, 2026 00:56
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/google-workspace
October 26, 2026 00:56
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/object-storage
October 26, 2026 00:57
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/whatsappagent
October 26, 2026 00:57
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/youtube-channel-admin
October 26, 2026 00:57
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-566/youtube-search
October 26, 2026 00:57
Destroyed
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
/_/public-api/...→410 gone: The v1 API has been retired). The grain MCP only spoke v1, so the webhook died and every tool (LIST_RECORDINGS,GET_RECORDING,GET_SUMMARY,GET_TRANSCRIPT) fails.grain_meeting_recordingshas nothing after Sep 30.discord_connections/slack_connections(bot tokens, signing secrets, mesh tokens), trigger callback tokens, 241k Discord messages incl. DMs, and every Grain meeting summary. We're turning RLS on with no anon access; the MCPs must use the service-role key server-side.What
grain
/_/public-api/v2+Public-Api-Version: 2026-10-01; recordings viaPOST; plain dates accepted (normalized to ISO date-times).recording_added+recording_updated(withinclude: participants, ai_summary), drops stale ones.GRAIN_API_KEYenv fallback:onChangeonly runs when the connection is saved, so the in-memory client was lost on every restart and webhooks skipped enrichment.owners= recorders' emails, notes =ai_summary).scripts/backfill.tson v2 with--since, full rows (participants, summary).slack-mcp, discord-read, discord, registry, grain
SUPABASE_SERVICE_ROLE_KEY ?? SUPABASE_ANON_KEY— deploy-compatible: nothing changes until the secret is set.Rollout
SUPABASE_SERVICE_ROLE_KEY(+GRAIN_API_KEYon grain) via the control plane.--since 2026-09-30.Tested
Live against Grain v2: list (date filter, cursor), get (participants, owners, summary), transcript json/txt, template sections, hooks list. Webhook end-to-end on a local server writing to the real index.
🤖 Generated with Claude Code