Skip to content

feat(connectors): add 11 knowledge base connectors#4849

Merged
waleedlatif1 merged 14 commits into
stagingfrom
waleedlatif1/add-integration-connectors
Jun 2, 2026
Merged

feat(connectors): add 11 knowledge base connectors#4849
waleedlatif1 merged 14 commits into
stagingfrom
waleedlatif1/add-integration-connectors

Conversation

@waleedlatif1
Copy link
Copy Markdown
Collaborator

@waleedlatif1 waleedlatif1 commented Jun 2, 2026

Summary

  • adds 11 knowledge base connectors that sync content into the vector store: Gong, Grain, Fathom, Granola (meeting transcripts), incident.io, Rootly (incidents/postmortems), Ashby, Greenhouse (recruiting), DocuSign (envelopes), Monday (boards/items), GitLab (wikis/issues)
  • all built on the existing connector pattern (contentDeferred where a per-doc fetch is needed, metadata-based contentHash, incremental sync where the API supports it, per-connector tag definitions within slot pools)
  • registered all 11 in connectors/registry.ts; reused existing icons
  • fixes supportsRefreshTokenRotation for DocuSign (was false; DocuSign rotates refresh tokens on every refresh, so the old setting forced re-auth)
  • bumps the Monday tools API version 2024-102026-04 (the old version is deprecated; verified no query/field breakage)
  • Granola calendar_event mapping verified against the raw Granola OpenAPI spec — the real field names are event_title/organiser/calendar_event_id/scheduled_start_time/scheduled_end_time/invitees (an earlier intermediate commit had briefly mis-renamed these to title/start_time/etc; the final state matches the spec). Also added webUrl (web_url) and a folderId (folder_id) list filter — both confirmed real.

Type of Change

  • New feature
  • Bug fix

Testing

Validated each connector from scratch against its provider's live API docs (multiple rounds incl. an adversarial final pass). Type-check clean, lint clean, 392 tests passing (connectors, sync-engine, oauth, block/tool registries). No live sync run — recommend a per-connector smoke test with real credentials before wider rollout.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 2, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Skipped Skipped Jun 2, 2026 11:40pm

Request Review

@cursor
Copy link
Copy Markdown

cursor Bot commented Jun 2, 2026

PR Summary

Medium Risk
Large additive surface area with many third-party APIs and credentials (including DocuSign OAuth); behavior is mostly isolated to new connector modules but warrants credential smoke tests before rollout.

Overview
Adds eleven knowledge-base connectors (Gong, Grain, Fathom, Granola, incident.io, Rootly, Ashby, Greenhouse, DocuSign, Monday, GitLab) that list external items as deferred stubs, hydrate content on change, expose filterable tags, and register in the connector registry. Coverage spans meeting transcripts/notes, incidents, recruiting (candidates + feedback/scorecards), envelope metadata, boards, and GitLab wikis/issues—with incremental sync where each API supports it.

Granola workflow tooling gains optional folderId on list notes and webUrl on get note (block inputs/outputs and docs). The new Granola connector syncs summaries into the KB with folder/created_after scoping and calendar fields aligned to the public API.

Related fixes called out in the PR (registry/OAuth/Monday API version) sit outside the large connector file additions in the diff snippet but ship with the same change set.

Reviewed by Cursor Bugbot for commit dc711cb. Configure here.

Comment thread apps/sim/connectors/docusign/docusign.ts
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Jun 2, 2026

Greptile Summary

Adds 11 knowledge-base connectors (Gong, Grain, Fathom, Granola, incident.io, Rootly, Ashby, Greenhouse, DocuSign, Monday, GitLab), all following the existing deferred-content / metadata-hash / incremental-sync pattern. Also fixes supportsRefreshTokenRotation for DocuSign and bumps the Monday API version from the deprecated 2024-10 to 2026-04.

  • Meeting transcript connectors (Gong, Grain, Fathom, Granola): deferred content with transcript-readiness guarded by null return; Fathom uniquely caches meeting headers in syncContext to avoid a redundant re-fetch in getDocument.
  • Incident connectors (incident.io, Rootly): metadata-hash from updated_at, per-document update/timeline fetch bounded by MAX_UPDATES_PER_INCIDENT/MAX_TIMELINE_EVENTS.
  • Recruiting connectors (Ashby, Greenhouse): application scorecard fetches capped at 10 per candidate, consistent with the MAX_APPLICATIONS_FOR_FEEDBACK / MAX_APPLICATIONS_FOR_SCORECARDS pattern.
  • GitLab: wiki listing omits per_page=100, silently capping results at GitLab's 20-item default for the wiki phase; the issues phase correctly sets per_page: 100.

Confidence Score: 4/5

Safe to merge for all connectors except GitLab; the wiki listing silently caps at 20 pages which causes content loss for larger wikis.

The GitLab connector's wiki listing makes a single request without per_page=100, capping results at GitLab's 20-item default. Any project with more than 20 wiki pages will silently have those extra pages missing from the knowledge base — no error is surfaced, and no pagination retry occurs (unlike the issues phase, which correctly paginates). All other connectors are well-implemented and follow established patterns.

apps/sim/connectors/gitlab/gitlab.ts — specifically the wiki listing URL at line 412.

Important Files Changed

Filename Overview
apps/sim/connectors/gitlab/gitlab.ts New GitLab connector syncing wiki pages and issues; wiki listing omits per_page, silently capping results at GitLab's 20-item default with no pagination loop for wikis.
apps/sim/connectors/gong/gong.ts New Gong connector; fetches call metadata and transcripts with Basic auth, deferred content, INCREMENTAL_OVERLAP_DAYS=14. No issues found.
apps/sim/connectors/granola/granola.ts New Granola connector; syncs meeting note summaries with deferred content, updated_at-based hash, and folder/date-scoped filtering. Well-structured.
apps/sim/connectors/fathom/fathom.ts New Fathom connector; caches meeting headers in syncContext during listDocuments and reads them in getDocument to avoid a second API call. No issues found.
apps/sim/connectors/grain/grain.ts New Grain connector; deferred transcript fetch, hash from end_datetime+duration_ms, filter cached in syncContext per-page for consistency. No issues found.
apps/sim/connectors/monday/monday.ts New Monday connector; multi-board cursor encoded as base64url JSON, full items fetched inline. API version bumped to 2026-04. No issues found.
apps/sim/connectors/docusign/docusign.ts New DocuSign connector (sandbox); supportsRefreshTokenRotation fixed to true, source URL corrected to appdemo.docusign.com. No issues found.
apps/sim/connectors/greenhouse/greenhouse.ts New Greenhouse connector; fetchScorecards capped at MAX_APPLICATIONS_FOR_SCORECARDS=10 per getDocument call. No issues found.
apps/sim/connectors/ashby/ashby.ts New Ashby connector; RPC-style POST API, Basic auth, feedback capped at MAX_APPLICATIONS_FOR_FEEDBACK=10. No issues found.
apps/sim/connectors/incidentio/incidentio.ts New incident.io connector; handles ActorV2 union type for update authors, updated_at-based hash, bounded per-incident update fetches. No issues found.
apps/sim/connectors/rootly/rootly.ts New Rootly connector; JSON:API format with embedded relationships, timeline events capped at 200. No issues found.
apps/sim/connectors/registry.ts All 11 new connectors registered correctly.
apps/sim/lib/oauth/oauth.ts One-line fix: supportsRefreshTokenRotation for DocuSign corrected from false to true.
apps/sim/tools/monday/utils.ts Monday API version bumped from deprecated 2024-10 to 2026-04.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    LS[listDocuments] -->|stub: contentDeferred=true| SE[Sync Engine]
    SE -->|hash unchanged| SKIP[Skip - no fetch]
    SE -->|hash changed or new| GD[getDocument]
    GD -->|null: content not ready| RETRY[Re-listed next sync]
    GD -->|ExternalDocument| STORE[Persist to KB]

    subgraph MeetingConnectors["Meeting Connectors"]
        GONG[Gong]
        GRAIN[Grain]
        FATHOM[Fathom]
        GRANOLA[Granola]
    end

    subgraph IncidentConnectors["Incident Connectors"]
        INCIO[incident.io]
        ROOTLY[Rootly]
    end

    subgraph RecruitingConnectors["Recruiting Connectors"]
        ASHBY[Ashby]
        GH[Greenhouse]
    end

    subgraph DocConnectors["Document and Board"]
        DOCU[DocuSign]
        MON[Monday]
        GITLAB[GitLab]
    end

    LS --> MeetingConnectors
    LS --> IncidentConnectors
    LS --> RecruitingConnectors
    LS --> DocConnectors
Loading

Reviews (9): Last reviewed commit: "fix(connectors): grain cache filter wind..." | Re-trigger Greptile

Comment thread apps/sim/connectors/docusign/docusign.ts
Comment thread apps/sim/connectors/greenhouse/greenhouse.ts
Comment thread apps/sim/connectors/gong/gong.ts
@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@cursor review

Comment thread apps/sim/connectors/granola/granola.ts
Comment thread apps/sim/connectors/monday/monday.ts
@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@cursor review

Comment thread apps/sim/connectors/fathom/fathom.ts Outdated
…om, Granola, incident.io, Rootly, Ashby, Greenhouse, DocuSign, Monday, GitLab)
…/organiser/calendar_event_id/scheduled_start_time/scheduled_end_time/invitees)
… timestamp value shape (verified vs raw API specs)
…meeting type/domain), Granola (folder/created-after)
… Greenhouse, DocuSign, GitLab) + clarify Monday board scope
…p, gong overlap; add incident.io status/mode filters
@waleedlatif1 waleedlatif1 force-pushed the waleedlatif1/add-integration-connectors branch from 01d56ca to 5c9a49e Compare June 2, 2026 20:12
@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@cursor review

@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@cursor review

Comment thread apps/sim/connectors/grain/grain.ts
Comment thread apps/sim/connectors/gong/gong.ts
@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@cursor review

Comment thread apps/sim/connectors/fathom/fathom.ts
Comment thread apps/sim/connectors/docusign/docusign.ts Outdated
@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@cursor review

Comment thread apps/sim/connectors/fathom/fathom.ts
@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@cursor review

Comment thread apps/sim/connectors/grain/grain.ts
Comment thread apps/sim/connectors/greenhouse/greenhouse.ts
Comment thread apps/sim/connectors/rootly/rootly.ts
@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@cursor review

…eam/type, granola+greenhouse createdBefore, gitlab milestone, rootly service/team/env), fix incident.io paused category + rootly severity-slug copy
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit dc711cb. Configure here.

@waleedlatif1 waleedlatif1 merged commit 12db7da into staging Jun 2, 2026
13 checks passed
@waleedlatif1 waleedlatif1 deleted the waleedlatif1/add-integration-connectors branch June 2, 2026 23:57
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