feat(connectors): add 11 knowledge base connectors#4849
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview Granola workflow tooling gains optional 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. |
Greptile SummaryAdds 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
Confidence Score: 4/5Safe 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
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
Reviews (9): Last reviewed commit: "fix(connectors): grain cache filter wind..." | Re-trigger Greptile |
|
@greptile |
|
@cursor review |
|
@greptile |
|
@cursor review |
…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
01d56ca to
5c9a49e
Compare
…e transcripts are recaptured
|
@greptile |
|
@cursor review |
|
@greptile |
|
@cursor review |
… date window across cursor pages
|
@greptile |
|
@cursor review |
…usign cache from_date across cursor pages
|
@greptile |
|
@cursor review |
…he) for tag consistency
|
@greptile |
|
@cursor review |
…uard NaN page, rootly skip empty incidents
|
@greptile |
|
@cursor review |
…eam/type, granola+greenhouse createdBefore, gitlab milestone, rootly service/team/env), fix incident.io paused category + rootly severity-slug copy
There was a problem hiding this comment.
✅ 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.
Summary
connectors/registry.ts; reused existing iconssupportsRefreshTokenRotationfor DocuSign (wasfalse; DocuSign rotates refresh tokens on every refresh, so the old setting forced re-auth)2024-10→2026-04(the old version is deprecated; verified no query/field breakage)calendar_eventmapping verified against the raw Granola OpenAPI spec — the real field names areevent_title/organiser/calendar_event_id/scheduled_start_time/scheduled_end_time/invitees(an earlier intermediate commit had briefly mis-renamed these totitle/start_time/etc; the final state matches the spec). Also addedwebUrl(web_url) and afolderId(folder_id) list filter — both confirmed real.Type of Change
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