docs(source-granola): align api_key setup text and surface start_date default - #84280
docs(source-granola): align api_key setup text and surface start_date default#84280devin-ai-integration[bot] wants to merge 3 commits into
Conversation
Co-Authored-By: bot_apk <apk@cognition.ai>
Co-Authored-By: bot_apk <apk@cognition.ai>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Co-Authored-By: bot_apk <apk@cognition.ai>
👋 Greetings, Airbyte Team Member!Here are some helpful tips and reminders for your convenience. 💡 Show Tips and TricksPR Slash CommandsAirbyte Maintainers (that's you!) can execute the following slash commands on your PR:
📚 Show Repo GuidanceHelpful Resources
|
|
Note Autopilot progressive rollouts are not enabled for the following modified connector(s):
This is a courtesy heads-up only — it does not block merge or fail any check. |
|
|
Deploy preview for airbyte-docs ready!
Deployed with vercel-action |
What
Fixes the two X-1 certification defects on
source-granolareported in airbytehq/airbyte-internal-issues#16933 (part of the certification epic airbytehq/airbyte-internal-issues#16923).api_keytooltip anddocs/integrations/sources/granola.mddescribed different setup paths and admin-toggle labels (Settings > API+"Allow personal API keys"vsSettings > Connectors > API keys+Allow user-scoped API keys), and both were stale relative to Granola's current documentation. A user following the in-product tooltip landed somewhere different from a user following the docs.start_dategave no indication of its default. The two-year fallback lives only in a manifest interpolation (manifest.yaml:71), so the UI showed an empty optional field with no signal about what happens when it is left blank.Description- and docs-only change. No property was added, removed, renamed, or made required, and no default that changes behaviour was introduced, so this is not a breaking change — patch bump
0.2.11→0.2.12.Vendor documentation used
Both pages read on 2026-08-12:
.../personal-apiand.../enterprise-apiURLs now redirect here, and the docs page's links to them were dead)What changed on Granola's side since the connector's text was written:
grn_.How
manifest.yaml: rewrote theapi_keydescription to describe the current personal-key path, the separate workspace-key page, the plan requirement, thegrn_prefix, and theAPI access for membersadmin control. Kept it self-contained (the criterion requires following it without opening the docs) but short — the docs page carries the longer explanation of key types and scopes.manifest.yaml:start_datedescription now states the two-year fallback explicitly.docs/integrations/sources/granola.md: aligned Prerequisites, the two setup subsections, the note about the admin control, the data-access table (now scope-based), the rate-limit wording, and theapi_keyreference row with the same paths and labels. Replaced the two dead vendor links.metadata.yaml:dockerImageTag0.2.11→0.2.12(progressive rollout is disabled for this connector, so no-rcsuffix), plus the changelog row.start_date: description, not a specdefaultThe fallback is relative (
now_utc() - duration('P730D')), so a static JSON Schemadefaultwould be a fixed date that goes stale and would drift from the interpolation. The interpolation stays the single source of the actual value and the description states the behaviour.Empirically checked what happens when
start_dateis submitted as an empty string rather than omitted, since the manifest usesconfig.get('start_date', <fallback>)(which returns"", not the fallback, when the key is present):""is rejected by the existingpattern:'' does not match '^[0-9]{4}-[0-9]{2}-[0-9]{2}$'. So in practice the platform surfaces a config validation error.ValueError: time data '' does not match format '%Y-%m-%d'.start_dateomitted, the cursor initialises as expected (cursor start: 2024-08-12T00:00:00+00:00, first slice{'start_time': '2024-08-12', 'end_time': '2024-09-10'}).No change was made for the empty-string case: it is already a validation error rather than a silent misbehaviour.
Declarative-First Evaluation
No custom Python component was added or needed — the connector remains manifest-only with no
components.py. This fix is entirely specdescriptiontext plus documentation; no declarative component behaviour changed.Not done:
grn_pattern onapi_keyThe issue makes a non-blocking recommendation to add a
patternenforcing thegrn_prefix. Deliberately not added: a specpatternhard-rejects any key that doesn't match, and there is no runtime evidence covering every key format Granola issues (legacy keys, workspace keys). The prefix is documented in the description instead, which catches a mis-pasted key without risking a config-validation regression.Review guide
airbyte-integrations/connectors/source-granola/manifest.yaml— the twodescriptionchanges.docs/integrations/sources/granola.md— check the paths and labels match the tooltip and the vendor page.airbyte-integrations/connectors/source-granola/metadata.yaml— version bump.Test Coverage
This connector has no
unit_tests/directory and noacceptance-test-config.yml, and this change alters no runtime behaviour (specdescriptionstrings and docs only), so there is no behaviour for a new test to pin. What was run instead:poe test-integration-tests→2 passed, 6 skipped.SECRET_SOURCE-GRANOLA__CREDSwas present, but the acceptance-test scenarios skipped because the connector has noacceptance-test-config.yml, so no live sync against Granola was exercised — this PR does not claim live verification.start_dateempty-string / omitted behaviour above was checked by loading the manifest withYamlDeclarativeSourceand by validating the connection specification with a draft-07 validator.pre-commit run --all-files→ all hooks pass.User Impact
Users setting up the connector see one consistent, current set of Granola UI paths in both the tooltip and the docs, and can tell from the
start_datefield itself that leaving it blank replicates the last two years. No configuration, schema, or sync behaviour changes; existing connections are unaffected.Can this PR be safely reverted and rolled back?
Resolves https://github.com/airbytehq/airbyte-internal-issues/issues/16933:
Requested by Devin Bot via the
/ai-fixworkflow on airbytehq/airbyte-internal-issues#16933.Link to Devin session: https://app.devin.ai/sessions/00f549eee05f40fb8909a4e9801934b3