[{"data":1,"prerenderedAt":629},["ShallowReactive",2],{"navigation_docs":3,"-docs-managing-zeeq-configuring-notion":227,"-docs-managing-zeeq-configuring-notion-surround":624},[4,40,73,117,141,156,214],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[10,15,20,25,30,35],{"title":11,"path":12,"stem":13,"icon":14},"Key Features","\u002Fdocs\u002Fgetting-started\u002Fkey-features","docs\u002F1.getting-started\u002F1.key-features","i-lucide-blocks",{"title":16,"path":17,"stem":18,"icon":19},"Why Zeeq?","\u002Fdocs\u002Fgetting-started\u002Fintroduction","docs\u002F1.getting-started\u002F2.introduction","i-lucide-lightbulb",{"title":21,"path":22,"stem":23,"icon":24},"Org Onboarding","\u002Fdocs\u002Fgetting-started\u002Forg-onboarding","docs\u002F1.getting-started\u002F3.org-onboarding","i-lucide-rocket",{"title":26,"path":27,"stem":28,"icon":29},"Connecting Agents","\u002Fdocs\u002Fgetting-started\u002Fconnecting-agents","docs\u002F1.getting-started\u002F4.connecting-agents","i-lucide-plug",{"title":31,"path":32,"stem":33,"icon":34},"Harness Tuning","\u002Fdocs\u002Fgetting-started\u002Fharness-tuning","docs\u002F1.getting-started\u002F5.harness-tuning","i-lucide-wrench",{"title":36,"path":37,"stem":38,"icon":39},"FAQ","\u002Fdocs\u002Fgetting-started\u002Ffaq","docs\u002F1.getting-started\u002F6.faq","i-lucide-circle-question-mark",{"title":41,"icon":6,"path":42,"stem":43,"children":44,"page":6},"Feature Overview","\u002Fdocs\u002Fkey-features","docs\u002F2.key-features",[45,49,53,57,61,65,69],{"title":46,"path":47,"stem":48,"icon":14},"Knowledge Libraries","\u002Fdocs\u002Fkey-features\u002Fknowledge-libraries","docs\u002F2.key-features\u002F1.knowledge-libraries",{"title":50,"path":51,"stem":52,"icon":14},"Code Reviews","\u002Fdocs\u002Fkey-features\u002Fcode-reviews","docs\u002F2.key-features\u002F2.code-reviews",{"title":54,"path":55,"stem":56,"icon":14},"Code Review as Agent Tool","\u002Fdocs\u002Fkey-features\u002Fcode-review-tool","docs\u002F2.key-features\u002F3.code-review-tool",{"title":58,"path":59,"stem":60,"icon":14},"Zeeq Tools Telemetry","\u002Fdocs\u002Fkey-features\u002Ftool-and-docs-telemetry","docs\u002F2.key-features\u002F4.tool-and-docs-telemetry",{"title":62,"path":63,"stem":64,"icon":14},"Session Telemetry","\u002Fdocs\u002Fkey-features\u002Fsession-telemetry","docs\u002F2.key-features\u002F5.session-telemetry",{"title":66,"path":67,"stem":68,"icon":14},"Dynamic Skills","\u002Fdocs\u002Fkey-features\u002Fdynamic-skills","docs\u002F2.key-features\u002F6.dynamic-skills",{"title":70,"path":71,"stem":72,"icon":14},"World Model (2026 Q3)","\u002Fdocs\u002Fkey-features\u002Fworld-model","docs\u002F2.key-features\u002F7.world-model",{"title":74,"path":75,"stem":76,"children":77,"page":6},"Managing Zeeq","\u002Fdocs\u002Fmanaging-zeeq","docs\u002F3.managing-zeeq",[78,83,88,93,97,102,107,112],{"title":79,"path":80,"stem":81,"icon":82},"Local Development","\u002Fdocs\u002Fmanaging-zeeq\u002Flocal-development","docs\u002F3.managing-zeeq\u002F0.local-development","i-lucide-square-terminal",{"title":84,"path":85,"stem":86,"icon":87},"GitHub Configuration","\u002Fdocs\u002Fmanaging-zeeq\u002Fgithub-configuration","docs\u002F3.managing-zeeq\u002F1.github-configuration","i-lucide-github",{"title":89,"path":90,"stem":91,"icon":92},"Organizations and Membership","\u002Fdocs\u002Fmanaging-zeeq\u002Forgs-membership-invitations","docs\u002F3.managing-zeeq\u002F2.orgs-membership-invitations","i-hugeicons-cube",{"title":46,"path":94,"stem":95,"icon":96},"\u002Fdocs\u002Fmanaging-zeeq\u002Fdocument-libraries","docs\u002F3.managing-zeeq\u002F3.document-libraries","i-lucide-library-big",{"title":98,"path":99,"stem":100,"icon":101},"Notion Integration","\u002Fdocs\u002Fmanaging-zeeq\u002Fconfiguring-notion","docs\u002F3.managing-zeeq\u002F4.configuring-notion","i-ri-notion-line",{"title":103,"path":104,"stem":105,"icon":106},"Agent Code Review","\u002Fdocs\u002Fmanaging-zeeq\u002Fagent-code-reviews","docs\u002F3.managing-zeeq\u002F5.agent-code-reviews","i-hugeicons-chat-spark-01",{"title":108,"path":109,"stem":110,"icon":111},"Credentials & API Tokens","\u002Fdocs\u002Fmanaging-zeeq\u002Fcredentials","docs\u002F3.managing-zeeq\u002F6.credentials","i-hugeicons-key-01",{"title":113,"path":114,"stem":115,"icon":116},"LLM Settings Configuration","\u002Fdocs\u002Fmanaging-zeeq\u002Fllm-settings-configuration","docs\u002F3.managing-zeeq\u002F7.llm-settings-configuration","i-hugeicons-ai-magic",{"title":118,"path":119,"stem":120,"children":121,"page":6},"Runtime Configuration","\u002Fdocs\u002Fconfiguration","docs\u002F5.configuration",[122,127,131,136],{"title":123,"path":124,"stem":125,"icon":126},"Google Cloud Configuration","\u002Fdocs\u002Fconfiguration\u002Fgcp-runtime","docs\u002F5.configuration\u002F1.gcp-runtime","i-hugeicons-google",{"title":84,"path":128,"stem":129,"icon":130},"\u002Fdocs\u002Fconfiguration\u002Fgithub-configuration","docs\u002F5.configuration\u002F2.github-configuration","i-hugeicons-github",{"title":132,"path":133,"stem":134,"icon":135},"Local OpenIddict Certificates","\u002Fdocs\u002Fconfiguration\u002Flocal-openiddict-certificates","docs\u002F5.configuration\u002F3.local-openiddict-certificates","i-lucide-file-lock",{"title":137,"path":138,"stem":139,"icon":140},"System Admin Access","\u002Fdocs\u002Fconfiguration\u002Fsystem-admin-access","docs\u002F5.configuration\u002F4.system-admin-access","i-hugeicons-shield-01",{"title":142,"path":143,"stem":144,"children":145,"page":6},"Metrics","\u002Fdocs\u002Fmetrics","docs\u002F6.metrics",[146,151],{"title":147,"path":148,"stem":149,"icon":150},"Metrics Dashboard","\u002Fdocs\u002Fmetrics\u002Fmetrics-dashboard","docs\u002F6.metrics\u002F1.metrics-dashboard","i-hugeicons-analytics-01",{"title":152,"path":153,"stem":154,"icon":155},"Metrics Pipeline","\u002Fdocs\u002Fmetrics\u002Fmetrics-pipeline","docs\u002F6.metrics\u002F2.metrics-pipeline","i-hugeicons-database-02",{"title":157,"path":158,"stem":159,"children":160,"page":6},"Design and Architecture","\u002Fdocs\u002Farchitecture","docs\u002F8.architecture",[161,166,171,176,181,185,189,194,199,204,209],{"title":162,"path":163,"stem":164,"icon":165},"Key Architecture Principles","\u002Fdocs\u002Farchitecture\u002Fkey-principles","docs\u002F8.architecture\u002F0.key-principles","i-lucide-pencil-ruler",{"title":167,"path":168,"stem":169,"icon":170},"MCP Tools Inventory","\u002Fdocs\u002Farchitecture\u002Ftools-inventory","docs\u002F8.architecture\u002F1.tools-inventory","i-lucide-hammer",{"title":172,"path":173,"stem":174,"icon":175},"Caching","\u002Fdocs\u002Farchitecture\u002Fcaching","docs\u002F8.architecture\u002F2.caching","i-lucide-database",{"title":177,"path":178,"stem":179,"icon":180},"Messaging and Queueing","\u002Fdocs\u002Farchitecture\u002Fmessaging-and-queueing","docs\u002F8.architecture\u002F3.messaging-and-queueing","i-lucide-message-square",{"title":182,"path":183,"stem":184,"icon":87},"GitHub Comment Rendering","\u002Fdocs\u002Farchitecture\u002Fgithub-comment-rendering","docs\u002F8.architecture\u002F4.github-comment-rendering",{"title":186,"path":187,"stem":188,"icon":87},"GitHub Integration","\u002Fdocs\u002Farchitecture\u002Fgithub-integration","docs\u002F8.architecture\u002F5.github-integration",{"title":190,"path":191,"stem":192,"icon":193},"LLM Settings and Secret Storage","\u002Fdocs\u002Farchitecture\u002Fllm-settings-and-secret-storage","docs\u002F8.architecture\u002F6.llm-settings-and-secret-storage","i-lucide-key",{"title":195,"path":196,"stem":197,"icon":198},"Organization Activation and Routes","\u002Fdocs\u002Farchitecture\u002Forganization-activation-and-routes","docs\u002F8.architecture\u002F7.organization-activation-and-routes","i-lucide-door-open",{"title":200,"path":201,"stem":202,"icon":203},"MCP Uploaded-Diff Code Reviews","\u002Fdocs\u002Farchitecture\u002Fmcp-uploaded-diff-code-reviews","docs\u002F8.architecture\u002F8.mcp-uploaded-diff-code-reviews","i-lucide-file-search",{"title":205,"path":206,"stem":207,"icon":208},"Repository Content Ingest","\u002Fdocs\u002Farchitecture\u002Frepository-content-ingest","docs\u002F8.architecture\u002F9.repository-content-ingest","i-lucide-file-stack",{"title":210,"path":211,"stem":212,"icon":213},"Telemetry Ingest","\u002Fdocs\u002Farchitecture\u002Ftelemetry-ingest","docs\u002F8.architecture\u002F9.telemetry-ingest","i-lucide-signal",{"title":215,"path":216,"stem":217,"children":218,"page":6},"Policies","\u002Fdocs\u002Fpolicy","docs\u002F9.policy",[219,223],{"title":220,"path":221,"stem":222},"Terms of Service","\u002Fdocs\u002Fpolicy\u002Fterms-of-service","docs\u002F9.policy\u002F0.terms-of-service",{"title":224,"path":225,"stem":226},"Privacy Policy","\u002Fdocs\u002Fpolicy\u002Fprivacy-policy","docs\u002F9.policy\u002F1.privacy-policy",{"id":228,"title":98,"body":229,"description":617,"extension":618,"links":619,"meta":620,"navigation":621,"path":99,"seo":622,"stem":100,"__hash__":623},"docs\u002Fdocs\u002F3.managing-zeeq\u002F4.configuring-notion.md",{"type":230,"value":231,"toc":606},"minimark",[232,237,241,244,310,314,322,325,330,339,342,353,505,509,512,515,600,603],[233,234,236],"h2",{"id":235},"summary","Summary",[238,239,240],"p",{},"Zeeq can ingest and index documents from a Notion workspace as the source for a knowledge library.",[238,242,243],{},"Using this approach yield several benefits over giving agents direct access to your Notion:",[245,246,247,264],"table",{},[248,249,250],"thead",{},[251,252,253,257,261],"tr",{},[254,255,256],"th",{},"Capability",[254,258,260],{"align":259},"center","Notion MCP",[254,262,263],{"align":259},"Zeeq Ingestion",[265,266,267,279,292,301],"tbody",{},[251,268,269,273,276],{},[270,271,272],"td",{},"Visibility and telemetry into which documents are referenced",[270,274,275],{"align":259},"❌",[270,277,278],{"align":259},"✅",[251,280,281,288,290],{},[270,282,283,284],{},"Indexed search of each Notion document ",[285,286,287],"em",{},"by section and by code snippets",[270,289,275],{"align":259},[270,291,278],{"align":259},[251,293,294,297,299],{},[270,295,296],{},"Easily plugs into all surfaces your agents interact with: local coding, code reviews, etc.",[270,298,275],{"align":259},[270,300,278],{"align":259},[251,302,303,306,308],{},[270,304,305],{},"Virtualized, composable, and reusable partitions of documents across projects",[270,307,275],{"align":259},[270,309,278],{"align":259},[233,311,313],{"id":312},"setting-up-a-notion-backed-library","Setting up a Notion backed library",[315,316,317,318],"tip",{},"Time to complete: ",[319,320,321],"strong",{},"5 minutes",[238,323,324],{},"Zeeq synchronizes content from Notion workspaces into a Zeeq knowledge library and agents interact with the Zeeq toolset to retrieve content.",[326,327],"z-svg-diagram",{"alt":328,"src":329},"How agents interact with knowledge sourced from Notion in Zeeq","\u002Fdiagrams\u002Fnotion-library.svg",[238,331,332,333,338],{},"Notion uses the concept of a ",[285,334,335],{},[319,336,337],{},"connection"," which is configured in a workspace and then associated with a page.  When the page is connected, the connection can read the page and all child pages.",[238,340,341],{},"If you have specification documents in Notion, then you can connect the root page which will allow Zeeq to ingest and index all of the child pages.",[343,344,350],"pre",{"className":345,"code":347,"language":348,"meta":349},[346],"language-text","\u002FSpecifications  \u003C-- Connect here\n  \u002FFeature A     \u003C-- Zeeq can access\n  \u002FFeature B     \u003C-|\n  \u002FFeature C     \u003C-|\n\u002FOther Docs\n  \u002FFeature D\n  \u002FFeature E\n","text","",[351,352,347],"code",{"__ignoreMap":349},[354,355,357,362,365,413,418,422,443,446,450,454,457,499,502],"steps",{"level":356},"3",[358,359,361],"h3",{"id":360},"create-a-notion-connection","Create a Notion connection",[238,363,364],{},"First step is to set up a connection in Notion that Zeeq can use to access pages in the workspace.",[366,367,368,384,397,404],"ol",{},[369,370,371,372,379,380,383],"li",{},"From ",[373,374,378],"a",{"href":375,"rel":376},"https:\u002F\u002Fapp.notion.com\u002Fdevelopers\u002Fconnections",[377],"nofollow","the Notion developer portal",", click on ",[319,381,382],{},"Connections"," on the left.",[369,385,386,387,390,391,396],{},"Click ",[319,388,389],{},"+ New connection"," and give it a name.  Choose a name that represents the purpose of the ",[285,392,393],{},[319,394,395],{},"library"," since pages are individually associated to this connection and each connection represents a single library in Zeeq.",[369,398,399,400,403],{},"Use the default ",[319,401,402],{},"Access token"," authentication method",[369,405,386,406,409,410,412],{},[319,407,408],{},"Create connection"," and copy the ",[319,411,402],{}," on the next screen.",[414,415],"video",{":controls":416,"src":417},"true","\u002Fvideos\u002Fnotion-setup-connection.mp4",[358,419,421],{"id":420},"share-pages-with-the-connection","Share pages with the connection",[366,423,424,427,436],{},[369,425,426],{},"In your Notion workspace, select a root level page and click the \"...\" menu at the top right.",[369,428,429,430,432,433],{},"Scroll down to ",[319,431,382],{}," and click ",[319,434,435],{},"Add connection",[369,437,438,439,442],{},"Select the connection you created in the previous step and click ",[319,440,441],{},"Add to page"," to allow Zeeq to read the page and all child pages.",[414,444],{":controls":416,"src":445},"\u002Fvideos\u002Fnotion-add-page.mp4",[447,448,449],"note",{},"You can also do this step later, but the initial sync will be empty unless a page has already been added to the connection.",[358,451,453],{"id":452},"setup-the-zeeq-library","Setup the Zeeq library",[238,455,456],{},"Next is to create a library in Zeeq that uses the connection:",[366,458,459,466,473,480,490,493],{},[369,460,461,462,465],{},"Click on the ",[319,463,464],{},"Libraries"," menu item in Zeeq",[369,467,468,469,472],{},"Click the ",[319,470,471],{},"+ New"," at the top right and enter a name for the library",[369,474,475,476,479],{},"Select ",[319,477,478],{},"Notion"," as the source type",[369,481,482,483,485,486,489],{},"Enter the ",[319,484,402],{}," copied from Notion into the ",[319,487,488],{},"Notion access token"," field",[369,491,492],{},"Apply inclusion\u002Fexclusion paths as needed to limit the pages that are ingested into the library.",[369,494,386,495,498],{},[319,496,497],{},"Create"," to provision the library and immediately start the initial sync",[414,500],{":controls":416,"src":501},"\u002Fvideos\u002Fnotion-zeeq-library.mp4",[447,503,504],{},"The initial sync will be empty unless a page has already been added to the connection.",[233,506,508],{"id":507},"setting-up-the-webhook-optional","Setting up the webhook (Optional)",[238,510,511],{},"If you do not set up the webhook, then Zeeq will only sync on demand when a user requests a full or incremental sync manually.",[238,513,514],{},"The webhook setup requires Notion sending a webhook with a validation token to Zeeq that needs to be copied out and pasted back into Notion.",[366,516,517,524,534,541,547,553,566,576,583,590],{},[369,518,519,520,523],{},"From the Zeeq library, click ",[319,521,522],{},"Manage"," button at the top right",[369,525,526,527,530,531],{},"In the panel, click ",[319,528,529],{},"Manage..."," and select ",[319,532,533],{},"Notion webhook",[369,535,536,537,540],{},"Copy the ",[319,538,539],{},"Callback URL"," which contains an encrypted validation token",[369,542,371,543,546],{},[373,544,378],{"href":375,"rel":545},[377],", select the connection created previously",[369,548,468,549,552],{},[319,550,551],{},"Webhooks"," tab at the top",[369,554,468,555,558,559,561,562,565],{},[319,556,557],{},"Create a subscription"," button and paste the copied ",[319,560,539],{}," into the ",[319,563,564],{},"Webhook URL"," field in Notion",[369,567,568,569,572,573],{},"Leave only ",[319,570,571],{},"Page"," selected and click ",[319,574,575],{},"Create subscription",[369,577,578,579,582],{},"At the bottom, click the ",[319,580,581],{},"Verify"," button which will pop up a dialog and send a verification token to Zeeq.",[369,584,585,586,589],{},"In the Zeeq UI, still on the panel, click ",[319,587,588],{},"Refresh"," to recover this verification token (it may take a few seconds to arrive)",[369,591,536,592,595,596,599],{},[319,593,594],{},"Verification token"," from Zeeq and back in the Notion developer portal, paste the token into the UI and click ",[319,597,598],{},"Verify subscription"," to complete the verification loop",[414,601],{":controls":416,"src":602},"\u002Fvideos\u002Fnotion-webhook.mp4",[447,604,605],{},"Notion sends webhooks up to a minute (or more) after the page is updated.  You may need to wait until for a few minutes and run an incremental sync to verify the webhook setup.",{"title":349,"searchDepth":607,"depth":607,"links":608},2,[609,610,616],{"id":235,"depth":607,"text":236},{"id":312,"depth":607,"text":313,"children":611},[612,614,615],{"id":360,"depth":613,"text":361},3,{"id":420,"depth":613,"text":421},{"id":452,"depth":613,"text":453},{"id":507,"depth":607,"text":508},"How to connect a Notion workspace to Zeeq for knowledge library ingestion and indexing.","md",null,{},{"icon":101},{"title":98,"description":617},"-MhJJhmQvWiSK33-j-76IynrkiySSp1fUc0Y4LMwqoQ",[625,627],{"title":46,"path":94,"stem":95,"description":626,"icon":96,"children":-1},"How teams create, manage, search, and read manually knowledge libraries.",{"title":103,"path":104,"stem":105,"description":628,"icon":106,"children":-1},"How Zeeq loads and displays detailed automated code review findings.",1786305983318]