Skip to content

Granola#355

Merged
Selinali01 merged 2 commits intomainfrom
granola
Apr 11, 2026
Merged

Granola#355
Selinali01 merged 2 commits intomainfrom
granola

Conversation

@Selinali01
Copy link
Copy Markdown
Contributor

@Selinali01 Selinali01 commented Apr 11, 2026

Summary

Related Issues

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Refactor
  • New Bubble Integration
  • Other (please describe):

Checklist

  • My code follows the code style of this project
  • I have added appropriate tests for my changes
  • I have run pnpm check and all tests pass
  • I have tested my changes locally
  • I have linked relevant issues

Screenshots (Required)

For New Bubble Integrations

📋 Integration Flow Tests: When creating a new bubble, you must write an integration flow test that exercises all operations end-to-end in realistic scenarios—including edge cases. This flow should be runnable in bubble studio and return structured results tracking each operation's success/failure with details. See packages/bubble-core/src/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.ts for a complete reference implementation.

⚠️ If your integration requires API credits for testing, please reach out to the team for test credentials.

  • Integration flow test (.integration.flow.ts) covers all operations
  • Screenshots showing full test results in Bubble Studio attached above

Additional Context

Summary by CodeRabbit

  • New Features

    • Added Granola service integration to access meeting notes
    • List notes with filtering, pagination, and cursor navigation
    • Retrieve individual notes with optional transcript inclusion
    • Added Granola API key credential support and a Granola assistant capability
  • Chores

    • Version bumped to 0.1.291 across packages

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 11, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 661e32ee-ae0d-4ccf-bcc5-8c3a68fb1b06

📥 Commits

Reviewing files that changed from the base of the PR and between b71868b and 65b18a8.

📒 Files selected for processing (8)
  • packages/bubble-core/package.json
  • packages/bubble-core/src/bubbles/service-bubble/granola/granola.integration.flow.ts
  • packages/bubble-runtime/package.json
  • packages/bubble-scope-manager/package.json
  • packages/bubble-shared-schemas/package.json
  • packages/create-bubblelab-app/package.json
  • packages/create-bubblelab-app/templates/basic/package.json
  • packages/create-bubblelab-app/templates/reddit-scraper/package.json

📝 Walkthrough

Walkthrough

Adds a new Granola service-bubble integration (list/get note operations), Zod schemas and types, credential registration and UI mapping, factory registration and exports, plus package/version bumps to 0.1.291 across packages and templates.

Changes

Cohort / File(s) Summary
Granola Service Bubble Core
packages/bubble-core/src/bubbles/service-bubble/granola/granola.ts, packages/bubble-core/src/bubbles/service-bubble/granola/granola.schema.ts, packages/bubble-core/src/bubbles/service-bubble/granola/granola.integration.flow.ts
New GranolaBubble implementing list_notes/get_note, request/response Zod schemas and types, and an integration flow exercising operations including error cases.
Granola Entrypoint & Exports
packages/bubble-core/src/bubbles/service-bubble/granola/index.ts, packages/bubble-core/src/index.ts
Added module-level re-exports for Granola bubble, schemas and types; package-level export surface extended to include Granola types and bubble.
Factory Registration
packages/bubble-core/src/bubble-factory.ts
Registered 'granola' in bubble name list and dynamic default registration for GranolaBubble to include it in codegen/registry.
Shared Schemas & Types
packages/bubble-shared-schemas/src/types.ts, .../credential-schema.ts, .../bubble-definition-schema.ts, .../capability-schema.ts
Added CredentialType.GRANOLA_API_KEY, added 'granola' to BubbleName, registered credential config/env mapping and bubble credential options, and added granola-assistant capability ID.
UI Credential Mapping
apps/bubble-studio/src/pages/CredentialsPage.tsx
Added mapping so CredentialType.GRANOLA_API_KEY resolves to service name "Granola" for UI/logo resolution.
Package/version bumps
packages/bubble-core/package.json, packages/bubble-runtime/package.json, packages/bubble-scope-manager/package.json, packages/bubble-shared-schemas/package.json, packages/create-bubblelab-app/package.json, packages/create-bubblelab-app/templates/basic/package.json, packages/create-bubblelab-app/templates/reddit-scraper/package.json
Bumped package versions and template dependency ranges to 0.1.291.

Sequence Diagram

sequenceDiagram
    participant Client as Client
    participant Bubble as GranolaBubble
    participant API as Granola API

    Client->>Bubble: performAction({operation: 'list_notes', page_size:5})
    Bubble->>API: GET /v1/notes?page_size=5 (with API key)
    API-->>Bubble: 200 {notes:[...], hasMore, cursor}
    Bubble-->>Client: {operation:'list_notes', notes, hasMore, cursor}

    Client->>Bubble: performAction({operation: 'get_note', note_id:'id', include_transcript:true})
    Bubble->>API: GET /v1/notes/id?include=transcript
    API-->>Bubble: 200 {note:{...}}
    Bubble-->>Client: {operation:'get_note', note}

    Client->>Bubble: testCredential()
    Bubble->>API: GET /v1/notes?page_size=1
    API-->>Bubble: 200 OK
    Bubble-->>Client: true
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

  • PR #323 — Adds a service-bubble integration with matching patterns (credential UI mapping, factory registration, shared schema updates).
  • PR #324 — Adds a new service bubble and updates the same surfaces (CredentialsPage mapping and bubble registration).
  • PR #320 — Modifies the same CredentialsPage helper to add a credential→service-name mapping for a new service.

Poem

🐰
I nibbled through schemas, hopped past a bug,
Granola notes now dance with each API hug,
Pagination hops, credentials align,
Bubbles and exports stitched fine as twine,
Happy rabbit—integration's done, so snug!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title "Granola" is overly vague and generic. It refers to the feature being added but lacks clarity and specificity about what the change accomplishes. Use a more descriptive title that clearly states the primary change, such as "Add Granola service bubble integration" or "Integrate Granola meeting notes API".
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch granola

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying bubblelab-documentation with  Cloudflare Pages  Cloudflare Pages

Latest commit: b71868b
Status: ✅  Deploy successful!
Preview URL: https://e6798011.bubblelab-documentation.pages.dev
Branch Preview URL: https://granola.bubblelab-documentation.pages.dev

View logs

@Selinali01 Selinali01 merged commit ee7065d into main Apr 11, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant