Install Nimble’s Snowflake Native Apps — Search and Agents (Extract Templates) — connect your API key inside Snowflake, and call live web data from SQL.
Nimble ships two Native Apps on the Snowflake Marketplace. Both run inside your account, call live web data from any worksheet, pipeline, or Snowflake Intelligence agent, and read your Nimble API key from a Snowflake Secret you control. They share the same one-time account setup, so connect your key once and use whichever app you install.
Live web search and AI-synthesized answers. Procedures: NIMBLE_SEARCH, NIMBLE_ANSWER.
Agent
Site-specific extraction with Extract Templates (Amazon, Google, Walmart, Maps, and hundreds more). Procedures: NIMBLE_AGENT_RUN, LIST_AGENTS, DESCRIBE_AGENT.
Both apps install in one click from the Marketplace, ship a guided Streamlit setup screen, and keep your key inside your account — the app reads it from a Snowflake Secret at call time, and only authorized outbound calls reach Nimble.
Both apps read your key from a Snowflake Secret and reach Nimble through an External Access Integration. These are account-level objects shared by either app, so create them once. The per-app sections below just bind to them.
1
Store your key as a Secret
Run this in a worksheet, in any database and schema you own (outside the app). Paste your Nimble API key in place of the placeholder.
CREATE DATABASE IF NOT EXISTS nimble_integration;CREATE SCHEMA IF NOT EXISTS nimble_integration.tools;CREATE OR REPLACE SECRET nimble_integration.tools.nimble_api_key TYPE = GENERIC_STRING SECRET_STRING = 'YOUR_NIMBLE_API_KEY';
2
Authorize outbound access to Nimble
Create a network rule and an External Access Integration so an app can reach sdk.nimbleway.com.
CREATE OR REPLACE NETWORK RULE nimble_integration.tools.nimble_api_rule MODE = EGRESS TYPE = HOST_PORT VALUE_LIST = ('sdk.nimbleway.com');CREATE OR REPLACE EXTERNAL ACCESS INTEGRATION nimble_api_access ALLOWED_NETWORK_RULES = (nimble_integration.tools.nimble_api_rule) ALLOWED_AUTHENTICATION_SECRETS = (nimble_integration.tools.nimble_api_key) ENABLED = TRUE;
The Nimble Search listing on the Snowflake Marketplace
1
Open the listing
In Snowsight, go to Data Products → Marketplace and search for Nimble Search, or open the listing directly.
2
Get the app
Click Get. Choose the database name the app installs into (the default is fine) and the role allowed to use it, then confirm. Snowflake installs the application into your account.
3
Open the setup app
From Data Products → Apps, open Nimble Search. The setup screen lists three steps: connect your API key, approve external access, and create the procedures.
The Secret and External Access Integration already exist from Set up account access. Bind both to the app, then create the procedures.
1
Bind both references in the setup app
In the Nimble Search setup app:
Click Bind API key secret and select nimble_integration.tools.nimble_api_key.
Click Approve external access and select nimble_api_access.
Each opens a Snowflake dialog that grants the app scoped access to that one object.
2
Create the procedures
Click Create / refresh procedures. This creates CORE.NIMBLE_SEARCH and CORE.NIMBLE_ANSWER with the references you just bound. When it returns ok, the app is ready.
Prefer SQL over the setup screen? See Set up with SQL below for the equivalent statements.
NIMBLE_SEARCH returns a VARIANT with results, request_id, and total_results. The arguments are the query, the maximum number of results, and the search depth ('lite' or 'deep').
CALL nimble_search.core.nimble_search('latest AI news', 5, 'lite');
CORE.NIMBLE_ANSWER(VARCHAR) returns a single STRING, so it registers cleanly as a Cortex Agent tool. In Snowsight, go to AI & ML → Agents → your agent → Tools → Add tool and point it at nimble_search.core.nimble_answer. The agent can then pull live web context into its answers.
The setup screen is the fastest path, but every step has a SQL equivalent. After setting up account access, bind the references and create the procedures directly.
Run Extract Templates — site-specific extraction for Amazon, Google, Walmart, Maps, social platforms, and hundreds of community templates — directly from SQL. The app also exposes template discovery in-warehouse, so you can find templates and inspect their inputs without leaving Snowflake. Despite the app and procedure names (NIMBLE_AGENT_RUN, LIST_AGENTS, DESCRIBE_AGENT), they operate on Extract Templates, not Nimble Agents.
In Snowsight, go to Data Products → Marketplace and search for Nimble Agents, or open the listing directly. Click Get.
2
Grant a warehouse
On the app’s page, grant it USAGE on a warehouse when prompted (or from the setup app). The app needs compute to run its setup screen and procedures.
3
Open the setup app
From Data Products → Apps, open Nimble Agents. The setup screen covers connecting your API key, approving external access, and creating the procedures.
The Extract Template catalog is large, so the app exposes discovery directly in SQL — no hunting through docs. Replace nimble_agents with the database name you chose at install if it differs.
-- Search the catalog (keyword, domain, or vertical)CALL nimble_agents.core.list_agents('amazon');-- Flatten the matches into rowsSELECT a.value:name::STRING AS agent, a.value:display_name::STRING AS title, a.value:vertical::STRING AS vertical, a.value:description::STRING AS descriptionFROM TABLE(RESULT_SCAN(LAST_QUERY_ID())), LATERAL FLATTEN(input => $1) a;-- Inspect one template's inputs before calling itCALL nimble_agents.core.describe_agent('amazon_best_sellers');-- returns input_properties (name, type, required, examples) + output_schema
The setup app’s Explore agents section does the same visually, and links to the Extract Template Gallery.
NIMBLE_AGENT_RUN returns a VARIANT with status, task_id, url, and a data payload. There are two forms — short (agent, params) and full (with optional country, locale).
-- Short formCALL nimble_agents.core.nimble_agent_run( 'amazon_best_sellers', OBJECT_CONSTRUCT('category', 'appliances'));-- Full form, with localizationCALL nimble_agents.core.nimble_agent_run( 'google_search', OBJECT_CONSTRUCT('query', 'best espresso machine 2026'), 'us', 'en-US');-- Read the parsed payloadSELECT $1:status::STRING AS status, $1:data:parsing AS parsedFROM TABLE(RESULT_SCAN(LAST_QUERY_ID()));
agent is the Extract Template identifier from list_agents (e.g. google_search, amazon_pdp). params is the template-specific input object — use describe_agent to see exactly what each template expects.
Every procedure returns a VARIANT. On failure — an unknown template, a missing required parameter, or a transient upstream error — the procedure returns a structured error object instead of raising, so you can branch on it in SQL.
CALL nimble_agents.core.describe_agent('does_not_exist');SELECT $1:status::STRING AS status, -- 'error' when the call failed $1:error:code::STRING AS code, -- e.g. not_found, invalid_input $1:error:message::STRING AS messageFROM TABLE(RESULT_SCAN(LAST_QUERY_ID()));
list_agents, describe_agent, and nimble_agent_run register cleanly as Cortex Agent tools, so a Snowflake Intelligence chat can discover the right Extract Template and run it without the user knowing template names. Wire them in AI & ML → Agents, pointing each tool at the matching core procedure.
Request shape, parameters, and response schema behind NIMBLE_SEARCH
Extract Template
Template identifiers, parameters, and execution models behind NIMBLE_AGENT_RUN
Extract Template Gallery
Browse every pre-built and community template
Cortex Agents on Snowflake
Wire Nimble tools into a Cortex Agent for Snowflake Intelligence
Snowflake Native Apps
How Snowflake installs and runs apps inside a consumer account
Snowflake External Access Integration
How Snowflake gates outbound HTTPS from app procedures
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Nimble Docs","colors":{"primary":"#edc602","light":"#edc602","dark":"#edc602"},"logo":{"light":"https://mintcdn.com/nimble-f5a8283f/o--9pIuMkGtkmWwc/images/light.svg?fit=max\u0026auto=format\u0026n=o--9pIuMkGtkmWwc\u0026q=85\u0026s=4f01d3ff0f6702dfa400db4d8d46d71a","dark":"https://mintcdn.com/nimble-f5a8283f/o--9pIuMkGtkmWwc/images/dark.svg?fit=max\u0026auto=format\u0026n=o--9pIuMkGtkmWwc\u0026q=85\u0026s=884461c581a8cd728bd01f0887180dc4","href":"https://www.nimbleway.com"},"favicon":"https://mintcdn.com/nimble-f5a8283f/p44s6zCqqsFm92lY/images/favicon.png?fit=max\u0026auto=format\u0026n=p44s6zCqqsFm92lY\u0026q=85\u0026s=2c068e67e4853cc4e392c1f9e65d8766","api":{"playground":{"display":"interactive","proxy":true}},"appearance":{"default":"dark","strict":true},"navbar":{"links":[{"href":"https://portal.usepylon.com/nimble","label":"Support"},{"href":"https://nimbleway.com/contact-general/","label":"Book a Demo"}],"primary":{"type":"button","label":"Ask Nimble","href":"https://online.nimbleway.com/workflow-builder"}},"footer":{"socials":{"website":"https://www.nimbleway.com/","linkedin":"https://www.linkedin.com/company/nimbledata","x":"https://x.com/nimble_search"}},"seo":{"indexing":"navigable"},"styling":{"eyebrows":"breadcrumbs","codeblocks":"system","latex":true},"integrations":{"posthog":{"apiKey":"phc_WSssX85HFXGf9WkKvKgjHR80zijmy5KLO3HdyiSMY3S","apiHost":"https://x.nimbleway.com","sessionRecording":false}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","grok","mcp","add-mcp","cursor","vscode"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Ask Nimble","icon":"wand-magic-sparkles","color":{"light":"#edc602","dark":"#edc602"},"href":"https://online.nimbleway.com/workflow-builder"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"nimble-f5a8283f","hasAudioNarration":false,"actualSubdomain":"nimble-f5a8283f","customDomains":["docs.nimbleway.com"],"gitSource":{"type":"github","owner":"nimbleway","repo":"public-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aec6808f73278e025986da5","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Integrations","count":72},{"language":"default","tag":"Documentation","count":64},{"language":"default","tag":"API Reference","count":60},{"language":"default","tag":"Proxy","count":22},{"language":"default","tag":"Connectors","count":16},{"language":"default","tag":"Agent","count":16},{"language":"default","tag":"Extraction Tools","count":16},{"language":"default","tag":"Partnerships","count":13},{"language":"default","tag":"Extract","count":13},{"language":"default","tag":"Jobs API","count":13}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"email":"[email protected]","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"integrations/partnerships/snowflake/native-app","slug":"/integrations/partnerships/snowflake/native-app","pageMetadata":{"title":"Nimble Native App","description":"Install Nimble's Snowflake Native Apps — Search and Agents (Extract Templates) — connect your API key inside Snowflake, and call live web data from SQL.","icon":"/images/icons/snowflake.svg","href":"/integrations/partnerships/snowflake/native-app"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Install Nimble’s Snowflake Native Apps — Search and Agents (Extract Templates) — connect your API key inside Snowflake, and call live web data from SQL.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,Frame,Heading,Note,OptimizedImage,Step,Steps}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Nimble ships two Native Apps on the Snowflake Marketplace. Both run inside your account, call live web data from any worksheet, pipeline, or Snowflake Intelligence agent, and read your Nimble API key from a Snowflake Secret you control. They share the same one-time account setup, so connect your key once and use whichever app you install.`}),`\n`,_jsx(Heading,{level:`2`,id:`choose-your-app`,children:`Choose your app`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Nimble Search`,icon:`magnifying-glass`,href:`#nimble-search`,children:_jsxs(_components.p,{children:[`Live web search and AI-synthesized answers. Procedures: `,_jsx(_components.code,{children:`NIMBLE_SEARCH`}),`, `,_jsx(_components.code,{children:`NIMBLE_ANSWER`}),`.`]})}),_jsx(Card,{title:`Agent`,icon:`robot`,href:`#nimble-agents`,children:_jsxs(_components.p,{children:[`Site-specific extraction with Extract Templates (Amazon, Google, Walmart, Maps, and hundreds more). Procedures: `,_jsx(_components.code,{children:`NIMBLE_AGENT_RUN`}),`, `,_jsx(_components.code,{children:`LIST_AGENTS`}),`, `,_jsx(_components.code,{children:`DESCRIBE_AGENT`}),`.`]})})]}),`\n`,_jsx(_components.p,{children:`Both apps install in one click from the Marketplace, ship a guided Streamlit setup screen, and keep your key inside your account — the app reads it from a Snowflake Secret at call time, and only authorized outbound calls reach Nimble.`}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`ACCOUNTADMIN`}),` role (or a role that can create applications, secrets, network rules, and external access integrations)`]}),`\n`,_jsxs(_components.li,{children:[`A warehouse to run statements (any size; `,_jsx(_components.code,{children:`XSMALL`}),` is fine)`]}),`\n`,_jsxs(_components.li,{children:[`A Nimble API key (`,_jsx(_components.a,{href:`https://online.nimbleway.com/signup`,children:`sign up free`}),`, then copy it from `,_jsx(_components.a,{href:`https://online.nimbleway.com/settings/api-keys`,children:`API keys`}),`)`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`set-up-account-access`,children:`Set up account access`}),`\n`,_jsxs(_components.p,{children:[`Both apps read your key from a Snowflake `,_jsx(_components.strong,{children:`Secret`}),` and reach Nimble through an `,_jsx(_components.strong,{children:`External Access Integration`}),`. These are account-level objects shared by either app, so create them once. The per-app sections below just bind to them.`]}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Store your key as a Secret`,children:[_jsx(_components.p,{children:`Run this in a worksheet, in any database and schema you own (outside the app). Paste your Nimble API key in place of the placeholder.`}),_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CREATE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` DATABASE`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` IF`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` NOT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` EXISTS`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` nimble_integration;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CREATE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` SCHEMA`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` IF`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` NOT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` EXISTS`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` nimble_integration`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`tools`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CREATE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` OR`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` REPLACE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` SECRET`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` nimble_integration`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`tools`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.nimble_api_key`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TYPE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` GENERIC_STRING`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` SECRET_STRING `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'YOUR_NIMBLE_API_KEY'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`]})})})]}),_jsxs(Step,{title:`Authorize outbound access to Nimble`,children:[_jsxs(_components.p,{children:[`Create a network rule and an External Access Integration so an app can reach `,_jsx(_components.code,{children:`sdk.nimbleway.com`}),`.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CREATE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` OR`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` REPLACE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` NETWORK RULE `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`nimble_integration`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`tools`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.nimble_api_rule`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` MODE `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` EGRESS`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TYPE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` HOST_PORT`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` VALUE_LIST `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'sdk.nimbleway.com'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CREATE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` OR`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` REPLACE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` EXTERNAL`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ACCESS INTEGRATION nimble_api_access`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ALLOWED_NETWORK_RULES `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`nimble_integration`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`tools`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.nimble_api_rule)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ALLOWED_AUTHENTICATION_SECRETS `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`nimble_integration`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`tools`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.nimble_api_key)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ENABLED`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` TRUE;`})]}),`\n`]})})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`nimble-search`,children:`Nimble Search`}),`\n`,_jsxs(_components.p,{children:[`Live web search and AI-synthesized answers as stored procedures: ranked web results as a `,_jsx(_components.code,{children:`VARIANT`}),`, or a single sourced answer string.`]}),`\n`,_jsx(Heading,{level:`3`,id:`install-from-marketplace`,children:`Install from Marketplace`}),`\n`,_jsxs(_components.p,{children:[`Open the `,_jsx(_components.a,{href:`https://app.snowflake.com/marketplace/listing/GZTSZ2BEO2R/nimble-nimble-search`,children:`Nimble Search listing on the Snowflake Marketplace`}),`.`]}),`\n`,_jsx(Frame,{caption:`The Nimble Search listing on the Snowflake Marketplace`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/nimble-f5a8283f/ba1gMWUZbJNSZmCm/images/partnerships/snowflake-native-app-marketplace.png?fit=max\u0026auto=format\u0026n=ba1gMWUZbJNSZmCm\u0026q=85\u0026s=5b72f3fbe73c19f1f94cfe845d46c60f`,alt:`Nimble Search listing on the Snowflake Marketplace`,\"data-og-width\":`1298`,width:`1298`,\"data-og-height\":`198`,height:`198`,\"data-path\":`images/partnerships/snowflake-native-app-marketplace.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/nimble-f5a8283f/ba1gMWUZbJNSZmCm/images/partnerships/snowflake-native-app-marketplace.png?w=280\u0026fit=max\u0026auto=format\u0026n=ba1gMWUZbJNSZmCm\u0026q=85\u0026s=c7e3a5c978b18041fb7f6cb2c3606f92 280w, https://mintcdn.com/nimble-f5a8283f/ba1gMWUZbJNSZmCm/images/partnerships/snowflake-native-app-marketplace.png?w=560\u0026fit=max\u0026auto=format\u0026n=ba1gMWUZbJNSZmCm\u0026q=85\u0026s=93b6449d68f602cdd2fea71511548f43 560w, https://mintcdn.com/nimble-f5a8283f/ba1gMWUZbJNSZmCm/images/partnerships/snowflake-native-app-marketplace.png?w=840\u0026fit=max\u0026auto=format\u0026n=ba1gMWUZbJNSZmCm\u0026q=85\u0026s=fac72e10b51d0b4c1d33008a505f4e33 840w, https://mintcdn.com/nimble-f5a8283f/ba1gMWUZbJNSZmCm/images/partnerships/snowflake-native-app-marketplace.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ba1gMWUZbJNSZmCm\u0026q=85\u0026s=d59be4e4e767498e447f73182cd6d2c9 1100w, https://mintcdn.com/nimble-f5a8283f/ba1gMWUZbJNSZmCm/images/partnerships/snowflake-native-app-marketplace.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ba1gMWUZbJNSZmCm\u0026q=85\u0026s=d2942631195383ccbf4c2e789d3494e7 1650w, https://mintcdn.com/nimble-f5a8283f/ba1gMWUZbJNSZmCm/images/partnerships/snowflake-native-app-marketplace.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ba1gMWUZbJNSZmCm\u0026q=85\u0026s=1246b3ac65cdc4ca075b83202473124a 2500w`})}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the listing`,children:_jsxs(_components.p,{children:[`In Snowsight, go to `,_jsx(_components.strong,{children:`Data Products → Marketplace`}),` and search for `,_jsx(_components.strong,{children:`Nimble Search`}),`, or open the `,_jsx(_components.a,{href:`https://app.snowflake.com/marketplace/listing/GZTSZ2BEO2R/nimble-nimble-search`,children:`listing`}),` directly.`]})}),_jsx(Step,{title:`Get the app`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Get`}),`. Choose the database name the app installs into (the default is fine) and the role allowed to use it, then confirm. Snowflake installs the application into your account.`]})}),_jsxs(Step,{title:`Open the setup app`,children:[_jsxs(_components.p,{children:[`From `,_jsx(_components.strong,{children:`Data Products → Apps`}),`, open `,_jsx(_components.strong,{children:`Nimble Search`}),`. The setup screen lists three steps: connect your API key, approve external access, and create the procedures.`]}),_jsx(Frame,{caption:`The Nimble Search setup app`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/nimble-f5a8283f/ba1gMWUZbJNSZmCm/images/partnerships/snowflake-native-app-setup.png?fit=max\u0026auto=format\u0026n=ba1gMWUZbJNSZmCm\u0026q=85\u0026s=2b40debd1d32f978850fe4d022330892`,alt:`The Nimble Search setup screen with steps to bind the API key, approve external access, and create the procedures`,\"data-og-width\":`624`,width:`624`,\"data-og-height\":`701`,height:`701`,\"data-path\":`images/partnerships/snowflake-native-app-setup.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/nimble-f5a8283f/ba1gMWUZbJNSZmCm/images/partnerships/snowflake-native-app-setup.png?w=280\u0026fit=max\u0026auto=format\u0026n=ba1gMWUZbJNSZmCm\u0026q=85\u0026s=99e3c808e3a777554c1c60e7c846addf 280w, https://mintcdn.com/nimble-f5a8283f/ba1gMWUZbJNSZmCm/images/partnerships/snowflake-native-app-setup.png?w=560\u0026fit=max\u0026auto=format\u0026n=ba1gMWUZbJNSZmCm\u0026q=85\u0026s=e0e94b6bee62b40b58bdb044e9066f9a 560w, https://mintcdn.com/nimble-f5a8283f/ba1gMWUZbJNSZmCm/images/partnerships/snowflake-native-app-setup.png?w=840\u0026fit=max\u0026auto=format\u0026n=ba1gMWUZbJNSZmCm\u0026q=85\u0026s=244dbfdad515f1df275fb436f773b1bf 840w, https://mintcdn.com/nimble-f5a8283f/ba1gMWUZbJNSZmCm/images/partnerships/snowflake-native-app-setup.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ba1gMWUZbJNSZmCm\u0026q=85\u0026s=1aea56bb08940c0fb74b344489815830 1100w, https://mintcdn.com/nimble-f5a8283f/ba1gMWUZbJNSZmCm/images/partnerships/snowflake-native-app-setup.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ba1gMWUZbJNSZmCm\u0026q=85\u0026s=1fdb9981bececdd88b5f184c2f9ccddd 1650w, https://mintcdn.com/nimble-f5a8283f/ba1gMWUZbJNSZmCm/images/partnerships/snowflake-native-app-setup.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ba1gMWUZbJNSZmCm\u0026q=85\u0026s=49d6d8c371843257703e04e4387ed397 2500w`})})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`connect-the-app`,children:`Connect the app`}),`\n`,_jsxs(_components.p,{children:[`The Secret and External Access Integration already exist from `,_jsx(_components.a,{href:`#set-up-account-access`,children:`Set up account access`}),`. Bind both to the app, then create the procedures.`]}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Bind both references in the setup app`,children:[_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Nimble Search`}),` setup app:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Bind API key secret`}),` and select `,_jsx(_components.code,{children:`nimble_integration.tools.nimble_api_key`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Approve external access`}),` and select `,_jsx(_components.code,{children:`nimble_api_access`}),`.`]}),`\n`]}),_jsx(_components.p,{children:`Each opens a Snowflake dialog that grants the app scoped access to that one object.`})]}),_jsx(Step,{title:`Create the procedures`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create / refresh procedures`}),`. This creates `,_jsx(_components.code,{children:`CORE.NIMBLE_SEARCH`}),` and `,_jsx(_components.code,{children:`CORE.NIMBLE_ANSWER`}),` with the references you just bound. When it returns `,_jsx(_components.code,{children:`ok`}),`, the app is ready.`]})})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Prefer SQL over the setup screen? See `,_jsx(_components.a,{href:`#set-up-with-sql`,children:`Set up with SQL`}),` below for the equivalent statements.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`run-it`,children:`Run it`}),`\n`,_jsxs(_components.p,{children:[`Replace `,_jsx(_components.code,{children:`nimble_search`}),` with the database name you chose at install if it differs.`]}),`\n`,_jsx(Heading,{level:`4`,id:`get-a-direct-answer`,children:`Get a direct answer`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`NIMBLE_ANSWER`}),` returns a single sourced answer string. It is the right shape for a Snowflake Intelligence agent tool.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CALL`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` nimble_search`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`core`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.nimble_answer(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'what is the capital of France?'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`search-the-web`,children:`Search the web`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`NIMBLE_SEARCH`}),` returns a `,_jsx(_components.code,{children:`VARIANT`}),` with `,_jsx(_components.code,{children:`results`}),`, `,_jsx(_components.code,{children:`request_id`}),`, and `,_jsx(_components.code,{children:`total_results`}),`. The arguments are the query, the maximum number of results, and the search depth (`,_jsx(_components.code,{children:`'lite'`}),` or `,_jsx(_components.code,{children:`'deep'`}),`).`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CALL`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` nimble_search`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`core`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.nimble_search(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'latest AI news'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'lite'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`flatten-results-into-rows`,children:`Flatten results into rows`}),`\n`,_jsxs(_components.p,{children:[`Run the search, then read its output with `,_jsx(_components.code,{children:`RESULT_SCAN`}),` and `,_jsx(_components.code,{children:`FLATTEN`}),` to get one row per result.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CALL`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` nimble_search`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`core`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.nimble_search(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'best espresso machine 2026'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'lite'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` v`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:title::STRING `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`AS`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` title,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` v`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`url`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::STRING `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`AS`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` url`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` v`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`description`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::STRING `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`AS`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` description`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` v`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:metadata:position::`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`INT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` AS`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` position`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`FROM`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TABLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(RESULT_SCAN(LAST_QUERY_ID())),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` LATERAL FLATTEN(input `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` $`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:results) v`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ORDER BY`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` position;`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`use-the-answer-as-a-cortex-agent-tool`,children:`Use the answer as a Cortex Agent tool`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`CORE.NIMBLE_ANSWER(VARCHAR)`}),` returns a single `,_jsx(_components.code,{children:`STRING`}),`, so it registers cleanly as a Cortex Agent tool. In Snowsight, go to `,_jsx(_components.strong,{children:`AI \u0026 ML → Agents → your agent → Tools → Add tool`}),` and point it at `,_jsx(_components.code,{children:`nimble_search.core.nimble_answer`}),`. The agent can then pull live web context into its answers.`]}),`\n`,_jsx(Heading,{level:`3`,id:`set-up-with-sql`,children:`Set up with SQL`}),`\n`,_jsxs(_components.p,{children:[`The setup screen is the fastest path, but every step has a SQL equivalent. After `,_jsx(_components.a,{href:`#set-up-account-access`,children:`setting up account access`}),`, bind the references and create the procedures directly.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CALL`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` nimble_search`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.register_reference(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'nimble_api_key'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'ADD'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` SYSTEM`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$REFERENCE(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'SECRET'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'NIMBLE_INTEGRATION.TOOLS.NIMBLE_API_KEY'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'PERSISTENT'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'READ'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`));`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CALL`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` nimble_search`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.register_reference(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'nimble_external_access'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'ADD'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` SYSTEM`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$REFERENCE(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'EXTERNAL_ACCESS_INTEGRATION'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'NIMBLE_API_ACCESS'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'PERSISTENT'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'USAGE'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`));`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CALL`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` nimble_search`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`core`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.create_eai_objects();`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Both `,_jsx(_components.code,{children:`register_reference`}),` calls return `,_jsx(_components.code,{children:`ok`}),`, and `,_jsx(_components.code,{children:`create_eai_objects`}),` returns `,_jsx(_components.code,{children:`ok`}),` once the procedures exist.`]}),`\n`,_jsx(Heading,{level:`2`,id:`nimble-agents`,children:`Nimble Agents`}),`\n`,_jsxs(_components.p,{children:[`Run `,_jsx(_components.a,{href:`/nimble-sdk/web-tools/extract/template`,children:`Extract Templates`}),` — site-specific extraction for Amazon, Google, Walmart, Maps, social platforms, and hundreds of community templates — directly from SQL. The app also exposes template discovery in-warehouse, so you can find templates and inspect their inputs without leaving Snowflake. Despite the app and procedure names (`,_jsx(_components.code,{children:`NIMBLE_AGENT_RUN`}),`, `,_jsx(_components.code,{children:`LIST_AGENTS`}),`, `,_jsx(_components.code,{children:`DESCRIBE_AGENT`}),`), they operate on Extract Templates, not Nimble Agents.`]}),`\n`,_jsx(Heading,{level:`3`,id:`install-from-marketplace-2`,children:`Install from Marketplace`}),`\n`,_jsxs(_components.p,{children:[`Open the `,_jsx(_components.a,{href:`https://app.snowflake.com/marketplace/listing/GZTSZ2BEO30/nimble-nimble-web-agents`,children:`Nimble Agents listing on the Snowflake Marketplace`}),`.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the listing`,children:_jsxs(_components.p,{children:[`In Snowsight, go to `,_jsx(_components.strong,{children:`Data Products → Marketplace`}),` and search for `,_jsx(_components.strong,{children:`Nimble Agents`}),`, or open the `,_jsx(_components.a,{href:`https://app.snowflake.com/marketplace/listing/GZTSZ2BEO30/nimble-nimble-web-agents`,children:`listing`}),` directly. Click `,_jsx(_components.strong,{children:`Get`}),`.`]})}),_jsx(Step,{title:`Grant a warehouse`,children:_jsxs(_components.p,{children:[`On the app’s page, grant it `,_jsx(_components.code,{children:`USAGE`}),` on a warehouse when prompted (or from the setup app). The app needs compute to run its setup screen and procedures.`]})}),_jsx(Step,{title:`Open the setup app`,children:_jsxs(_components.p,{children:[`From `,_jsx(_components.strong,{children:`Data Products → Apps`}),`, open `,_jsx(_components.strong,{children:`Nimble Agents`}),`. The setup screen covers connecting your API key, approving external access, and creating the procedures.`]})})]}),`\n`,_jsx(Heading,{level:`3`,id:`connect-the-app-2`,children:`Connect the app`}),`\n`,_jsxs(_components.p,{children:[`The Secret and External Access Integration already exist from `,_jsx(_components.a,{href:`#set-up-account-access`,children:`Set up account access`}),`. Bind them to the app in order, then create the procedures.`]}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Bind the references in order`,children:[_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Nimble Agents`}),` setup app:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Bind API key secret`}),` and select `,_jsx(_components.code,{children:`nimble_integration.tools.nimble_api_key`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Then click `,_jsx(_components.strong,{children:`Approve external access`}),` (enabled only after the key is bound, so the integration is wired to your secret).`]}),`\n`]})]}),_jsx(Step,{title:`Create the procedures`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create / refresh procedures`}),`. When it returns `,_jsx(_components.code,{children:`ok`}),`, the app is ready.`]})})]}),`\n`,_jsx(Heading,{level:`3`,id:`discover-templates`,children:`Discover templates`}),`\n`,_jsxs(_components.p,{children:[`The Extract Template catalog is large, so the app exposes discovery directly in SQL — no hunting through docs. Replace `,_jsx(_components.code,{children:`nimble_agents`}),` with the database name you chose at install if it differs.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`14`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`14`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Search the catalog (keyword, domain, or vertical)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CALL`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` nimble_agents`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`core`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.list_agents(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'amazon'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Flatten the matches into rows`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` a`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::STRING `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`AS`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agent,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` a`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:display_name::STRING `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`AS`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` title,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` a`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:vertical::STRING `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`AS`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` vertical,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` a`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`description`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::STRING `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`AS`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` description`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`FROM`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TABLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(RESULT_SCAN(LAST_QUERY_ID())),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` LATERAL FLATTEN(input `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` $`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) a;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Inspect one template's inputs before calling it`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CALL`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` nimble_agents`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`core`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.describe_agent(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'amazon_best_sellers'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- returns input_properties (name, type, required, examples) + output_schema`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The setup app’s `,_jsx(_components.strong,{children:`Explore agents`}),` section does the same visually, and links to the `,_jsx(_components.a,{href:`https://online.nimbleway.com/gallery`,children:`Extract Template Gallery`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`run-a-template`,children:`Run a template`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`NIMBLE_AGENT_RUN`}),` returns a `,_jsx(_components.code,{children:`VARIANT`}),` with `,_jsx(_components.code,{children:`status`}),`, `,_jsx(_components.code,{children:`task_id`}),`, `,_jsx(_components.code,{children:`url`}),`, and a `,_jsx(_components.code,{children:`data`}),` payload. There are two forms — short (`,_jsx(_components.code,{children:`agent`}),`, `,_jsx(_components.code,{children:`params`}),`) and full (with optional `,_jsx(_components.code,{children:`country`}),`, `,_jsx(_components.code,{children:`locale`}),`).`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`15`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Short form`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CALL`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` nimble_agents`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`core`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.nimble_agent_run(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'amazon_best_sellers'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OBJECT_CONSTRUCT(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'category'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'appliances'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`));`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Full form, with localization`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CALL`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` nimble_agents`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`core`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.nimble_agent_run(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'google_search'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OBJECT_CONSTRUCT(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'query'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'best espresso machine 2026'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'us'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'en-US'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Read the parsed payload`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` $`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`status`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::STRING `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`AS`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` status`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` $`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:parsing `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`AS`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` parsed`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`FROM`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TABLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(RESULT_SCAN(LAST_QUERY_ID()));`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`agent`}),` is the Extract Template identifier from `,_jsx(_components.code,{children:`list_agents`}),` (e.g. `,_jsx(_components.code,{children:`google_search`}),`, `,_jsx(_components.code,{children:`amazon_pdp`}),`). `,_jsx(_components.code,{children:`params`}),` is the template-specific input object — use `,_jsx(_components.code,{children:`describe_agent`}),` to see exactly what each template expects.`]}),`\n`,_jsx(Heading,{level:`3`,id:`handle-errors`,children:`Handle errors`}),`\n`,_jsxs(_components.p,{children:[`Every procedure returns a `,_jsx(_components.code,{children:`VARIANT`}),`. On failure — an unknown template, a missing required parameter, or a transient upstream error — the procedure returns a structured error object instead of raising, so you can branch on it in SQL.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CALL`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` nimble_agents`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`core`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.describe_agent(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'does_not_exist'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` $`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`status`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::STRING `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`AS`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` status`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- 'error' when the call failed`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` $`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:error:code::STRING `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`AS`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` code, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- e.g. not_found, invalid_input`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` $`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:error:`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`message`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::STRING `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`AS`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` message`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`FROM`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TABLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(RESULT_SCAN(LAST_QUERY_ID()));`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Error `,_jsx(_components.code,{children:`code`}),` values: `,_jsx(_components.code,{children:`invalid_input`}),`, `,_jsx(_components.code,{children:`not_found`}),`, `,_jsx(_components.code,{children:`unauthorized`}),`, `,_jsx(_components.code,{children:`rate_limited`}),`, `,_jsx(_components.code,{children:`invalid_request`}),` / `,_jsx(_components.code,{children:`upstream_error`}),`, `,_jsx(_components.code,{children:`timeout`}),`, and `,_jsx(_components.code,{children:`connection_error`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`use-it-from-a-cortex-agent`,children:`Use it from a Cortex Agent`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`list_agents`}),`, `,_jsx(_components.code,{children:`describe_agent`}),`, and `,_jsx(_components.code,{children:`nimble_agent_run`}),` register cleanly as Cortex Agent tools, so a Snowflake Intelligence chat can discover the right Extract Template and run it without the user knowing template names. Wire them in `,_jsx(_components.a,{href:`https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents`,children:`AI \u0026 ML → Agents`}),`, pointing each tool at the matching `,_jsx(_components.code,{children:`core`}),` procedure.`]}),`\n`,_jsx(Heading,{level:`2`,id:`uninstall`,children:`Uninstall`}),`\n`,_jsx(_components.p,{children:`Drop whichever app you installed. Replace the database names if you changed them at install.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`DROP`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` APPLICATION`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` nimble_search CASCADE;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`DROP`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` APPLICATION`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` nimble_agents CASCADE;`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`The Secret, network rule, and External Access Integration you created are not owned by either app and remain in your account.`}),`\n`,_jsx(Heading,{level:`2`,id:`resources`,children:`Resources`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Nimble Search API`,icon:`magnifying-glass`,href:`/nimble-sdk/web-tools/search`,children:_jsxs(_components.p,{children:[`Request shape, parameters, and response schema behind `,_jsx(_components.code,{children:`NIMBLE_SEARCH`})]})}),_jsx(Card,{title:`Extract Template`,icon:`robot`,href:`/nimble-sdk/web-tools/extract/template`,children:_jsxs(_components.p,{children:[`Template identifiers, parameters, and execution models behind `,_jsx(_components.code,{children:`NIMBLE_AGENT_RUN`})]})}),_jsx(Card,{title:`Extract Template Gallery`,icon:`grid`,href:`https://online.nimbleway.com/gallery`,children:_jsx(_components.p,{children:`Browse every pre-built and community template`})}),_jsx(Card,{title:`Cortex Agents on Snowflake`,icon:`robot`,href:`/integrations/partnerships/snowflake/cortex-agents`,children:_jsx(_components.p,{children:`Wire Nimble tools into a Cortex Agent for Snowflake Intelligence`})}),_jsx(Card,{title:`Snowflake Native Apps`,icon:`cube`,href:`https://docs.snowflake.com/en/developer-guide/native-apps/native-apps-about`,children:_jsx(_components.p,{children:`How Snowflake installs and runs apps inside a consumer account`})}),_jsx(Card,{title:`Snowflake External Access Integration`,icon:`shield-check`,href:`https://docs.snowflake.com/en/developer-guide/external-network-access/external-network-access-overview`,children:_jsx(_components.p,{children:`How Snowflake gates outbound HTTPS from app procedures`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Nimble Native App","description":"Install Nimble's Snowflake Native Apps — Search and Agents (Extract Templates) — connect your API key inside Snowflake, and call live web data from SQL.","icon":"/images/icons/snowflake.svg","href":"/integrations/partnerships/snowflake/native-app"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Choose your app","slug":"choose-your-app","depth":2,"children":[]},{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Set up account access","slug":"set-up-account-access","depth":2,"children":[]},{"title":"Nimble Search","slug":"nimble-search","depth":2,"children":[{"title":"Install from Marketplace","slug":"install-from-marketplace","depth":3,"children":[]},{"title":"Connect the app","slug":"connect-the-app","depth":3,"children":[]},{"title":"Run it","slug":"run-it","depth":3,"children":[]},{"title":"Get a direct answer","slug":"get-a-direct-answer","depth":4,"children":[]},{"title":"Search the web","slug":"search-the-web","depth":4,"children":[]},{"title":"Flatten results into rows","slug":"flatten-results-into-rows","depth":4,"children":[]},{"title":"Use the answer as a Cortex Agent tool","slug":"use-the-answer-as-a-cortex-agent-tool","depth":4,"children":[]},{"title":"Set up with SQL","slug":"set-up-with-sql","depth":3,"children":[]}]},{"title":"Nimble Agents","slug":"nimble-agents","depth":2,"children":[{"title":"Install from Marketplace","slug":"install-from-marketplace-2","depth":3,"children":[]},{"title":"Connect the app","slug":"connect-the-app-2","depth":3,"children":[]},{"title":"Discover templates","slug":"discover-templates","depth":3,"children":[]},{"title":"Run a template","slug":"run-a-template","depth":3,"children":[]},{"title":"Handle errors","slug":"handle-errors","depth":3,"children":[]},{"title":"Use it from a Cortex Agent","slug":"use-it-from-a-cortex-agent","depth":3,"children":[]}]},{"title":"Uninstall","slug":"uninstall","depth":2,"children":[]},{"title":"Resources","slug":"resources","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"nimble-f5a8283f","siteName":"Nimble Docs","title":"Nimble Native App - Nimble Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-14T22:09:44.708Z","originalFileLocation":"integrations/partnerships/snowflake/native-app.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"dark\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Install Nimble\u0026#x27;s Snowflake Native Apps — Search and Agents (Extract Templates) — connect your API key inside Snowflake, and call live web data from SQL.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Nimble Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nimble-f5a8283f/O9QbVEd4KNgIUIh9/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/nimble-f5a8283f/O9QbVEd4KNgIUIh9/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nimble-f5a8283f/O9QbVEd4KNgIUIh9/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/nimble-f5a8283f/O9QbVEd4KNgIUIh9/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/nimble-f5a8283f/O9QbVEd4KNgIUIh9/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nimble-f5a8283f/O9QbVEd4KNgIUIh9/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nimble-f5a8283f/O9QbVEd4KNgIUIh9/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/nimble-f5a8283f/O9QbVEd4KNgIUIh9/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/nimble-f5a8283f/O9QbVEd4KNgIUIh9/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Nimble Native App - Nimble Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Install Nimble\u0026#x27;s Snowflake Native Apps — Search and Agents (Extract Templates) — connect your API key inside Snowflake, and call live web data from SQL.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Nimble Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.nimbleway.com/integrations/partnerships/snowflake/native-app\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://nimble-f5a8283f.mintlify.site/_mintlify/api/og/v2?division=Snowflake\u0026amp;title=Nimble+Native+App\u0026amp;description=Install+Nimble%27s+Snowflake+Native+Apps+%E2%80%94+Search+and+Agents+%28Extract+Templates%29+%E2%80%94+connect+your+API+key+inside+Snowflake%2C+and+call+live+web+data+from+SQL.\u0026amp;theme=a3ad09ceb37dba4a18a1622a\u0026amp;signature=f913ca8636589027dfde0f3c33f48322a4a598572f498c0d73f7f5e3538ce31f\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Nimble Native App - Nimble Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Install Nimble\u0026#x27;s Snowflake Native Apps — Search and Agents (Extract Templates) — connect your API key inside Snowflake, and call live web data from SQL.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://nimble-f5a8283f.mintlify.site/_mintlify/api/og/v2?division=Snowflake\u0026amp;title=Nimble+Native+App\u0026amp;description=Install+Nimble%27s+Snowflake+Native+Apps+%E2%80%94+Search+and+Agents+%28Extract+Templates%29+%E2%80%94+connect+your+API+key+inside+Snowflake%2C+and+call+live+web+data+from+SQL.\u0026amp;theme=a3ad09ceb37dba4a18a1622a\u0026amp;signature=f913ca8636589027dfde0f3c33f48322a4a598572f498c0d73f7f5e3538ce31f\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/nimble-f5a8283f/O9QbVEd4KNgIUIh9/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Nimble Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#edc602\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.nimbleway.com/integrations/partnerships/snowflake/native-app\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/partnerships/snowflake/native-app.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.nimbleway.com/#organization\",\"name\":\"Nimble Docs\",\"url\":\"https://docs.nimbleway.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/nimble-f5a8283f/o--9pIuMkGtkmWwc/images/light.svg?fit=max\u0026auto=format\u0026n=o--9pIuMkGtkmWwc\u0026q=85\u0026s=4f01d3ff0f6702dfa400db4d8d46d71a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.nimbleway.com#website\",\"name\":\"Nimble Docs\",\"url\":\"https://docs.nimbleway.com\",\"publisher\":{\"@id\":\"https://docs.nimbleway.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.nimbleway.com/integrations/partnerships/snowflake/native-app#webpage\",\"url\":\"https://docs.nimbleway.com/integrations/partnerships/snowflake/native-app\",\"name\":\"Nimble Native App\",\"description\":\"Install Nimble's Snowflake Native Apps — Search and Agents (Extract Templates) — connect your API key inside Snowflake, and call live web data from SQL.\",\"dateModified\":\"2026-10-14T22:09:44.708Z\",\"isPartOf\":{\"@id\":\"https://docs.nimbleway.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.nimbleway.com/integrations/partnerships/snowflake/native-app#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.nimbleway.com/integrations/partnerships/snowflake/native-app#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Partnerships\",\"item\":\"https://docs.nimbleway.com/integrations/connectors/anthropic/claude-connectors\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Snowflake\",\"item\":\"https://docs.nimbleway.com/integrations/partnerships/snowflake\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Nimble Native App\",\"item\":\"https://docs.nimbleway.com/integrations/partnerships/snowflake/native-app\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.nimbleway.com/integrations/partnerships/snowflake/native-app#article\",\"headline\":\"Nimble Native App\",\"name\":\"Nimble Native App\",\"description\":\"Install Nimble's Snowflake Native Apps — Search and Agents (Extract Templates) — connect your API key inside Snowflake, and call live web data from SQL.\",\"url\":\"https://docs.nimbleway.com/integrations/partnerships/snowflake/native-app\",\"mainEntityOfPage\":{\"@id\":\"https://docs.nimbleway.com/integrations/partnerships/snowflake/native-app#webpage\"},\"dateModified\":\"2026-10-14T22:09:44.708Z\",\"publisher\":{\"@id\":\"https://docs.nimbleway.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.nimbleway.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Nimble Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Nimble Docs","nav":{"global":{"anchors":[{"anchor":"Ask Nimble","icon":"wand-magic-sparkles","color":{"light":"#edc602","dark":"#edc602"},"href":"https://online.nimbleway.com/workflow-builder"}]},"tabs":[{"tab":"Home","icon":"house-blank","pages":[{"title":"Home","href":"/home"}]},{"tab":"Hackathon","hidden":true,"pages":[{"title":"Hackathon","href":"/hackathon"}]},{"tab":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":"/nimble-sdk/getting-started/overview"}]},{"tab":"Nimble Platform","hidden":true,"pages":[{"title":"Nimble Platform","href":"/nimble-platform/agents/managed-agents"}]},{"tab":"Integrations","icon":"link-horizontal","pages":[{"title":"Choose Your Integration","icon":"compass","href":"/integrations/overview"},{"group":"Agent Skills","icon":"rectangle-terminal","pages":[{"title":"Plugin Installation","icon":"puzzle-piece","href":"/integrations/agent-skills/plugin-installation"},{"group":"Web Tools Skills","icon":"globe","pages":[{"title":"Nimble Web Expert","icon":"globe","href":"/integrations/agent-skills/web-tools-skills/nimble-web-expert"}]},{"group":"Web Search Skills","icon":"magnifying-glass","pages":[{"title":"Overview","icon":"magnifying-glass","href":"/integrations/agent-skills/web-search-skills/overview"},{"title":"Business Research","icon":"building","href":"/integrations/agent-skills/web-search-skills/business-research"},{"title":"Marketing","icon":"crosshairs","href":"/integrations/agent-skills/web-search-skills/marketing"},{"title":"Productivity","icon":"calendar-check","href":"/integrations/agent-skills/web-search-skills/productivity"},{"title":"SEO","icon":"chart-line","href":"/integrations/agent-skills/web-search-skills/seo"}]}]},{"group":"MCP Server","icon":"server","pages":[{"title":"Nimble MCP Server","icon":"bullseye-pointer","href":"/integrations/mcp-server/mcp-server"},{"title":"Nimble Docs MCP Server","icon":"book-open-cover","href":"/integrations/mcp-server/mcp-docs"}]},{"group":"Partnerships","icon":"handshake","pages":[{"title":"Claude AI Connectors","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/anthropic.svg","href":"/integrations/connectors/anthropic/claude-connectors"},{"group":"Databricks","icon":"/images/icons/databricks.svg","root":{"title":"Databricks","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/databricks.svg","href":"/integrations/partnerships/databricks"},"pages":[{"title":"Marketplace \u0026 MCP","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/marketplace.svg","href":"/integrations/partnerships/databricks/marketplace-mcp"},{"title":"Genie One","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/genie.svg","href":"/integrations/partnerships/databricks/genie"},{"title":"Data Enrichment","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/data-enrichment.svg","href":"/integrations/partnerships/databricks/data-enrichment"},{"title":"Genie Code","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/genie-code.svg","href":"/integrations/partnerships/databricks/genie-code"}]},{"group":"Snowflake","icon":"/images/icons/snowflake.svg","root":{"title":"Snowflake","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/snowflake.svg","href":"/integrations/partnerships/snowflake"},"pages":[{"title":"Cortex Code","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/cortex-code.svg","href":"/integrations/partnerships/snowflake/cortex-code"},{"title":"App Builder Skills","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/app-builder-skills.svg","href":"/integrations/partnerships/snowflake/app-builder-skills"},{"title":"Cortex Agents","description":"Call Nimble Search and Extract from Snowflake SQL, plus a pre-built Cortex Agent, without leaving your account","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/cortex-agents.svg","href":"/integrations/partnerships/snowflake/cortex-agents"},{"title":"Nimble Native App","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/snowflake.svg","href":"/integrations/partnerships/snowflake/native-app"},{"title":"Data Enrichment","description":"Enrich warehouse tables at scale with Nimble Extract Templates using a SQL-native UDTF for Snowflake.","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/data-enrichment.svg","href":"/integrations/partnerships/snowflake/data-enrichment"}]},{"group":"Microsoft","icon":"/images/icons/microsoft.svg","pages":[{"title":"Azure MCP Center","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/azure.svg","href":"/integrations/partnerships/microsoft/azure-mcp-center"},{"title":"Copilot Studio","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/microsoft.svg","href":"/integrations/partnerships/microsoft/copilot-studio"}]},{"group":"Oracle","icon":"/images/icons/oracle.svg","pages":[{"title":"Oracle OCI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/oracle.svg","href":"/integrations/partnerships/oracle/oci"}]}]},{"group":"Connectors","icon":"link-simple","pages":[{"title":"OpenAI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/openai.svg","href":"/integrations/connectors/openai"},{"title":"Anthropic SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/anthropic.svg","href":"/integrations/connectors/anthropic/sdk"},{"title":"Cloudflare Agents SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/cloudflare.svg","href":"/integrations/connectors/cloudflare-agents-sdk"},{"title":"Google ADK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/google.svg","href":"/integrations/connectors/google-adk"},{"title":"Hermes","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/hermes.svg","href":"/integrations/connectors/hermes"},{"title":"LangChain","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/langchain.svg","href":"/integrations/connectors/langchain"},{"title":"LiteLLM","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/litellm.svg","href":"/integrations/connectors/litellm"},{"title":"LlamaIndex","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/llamaindex.svg","href":"/integrations/connectors/llamaindex"},{"title":"Mastra","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/mastra.svg","href":"/integrations/connectors/mastra"},{"group":"Vercel","icon":"/images/icons/vercel.svg","pages":[{"title":"Vercel AI SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/vercel.svg","href":"/integrations/connectors/vercel-ai-sdk"},{"title":"Vercel eve","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/vercel.svg","href":"/integrations/connectors/vercel-eve"}]},{"title":"NVIDIA AI-Q","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/nvidia.svg","href":"/integrations/connectors/nvidia-aiq"},{"title":"Smithery","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/smithery.svg","href":"/integrations/connectors/smithery"},{"title":"Omnigent","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/omnigent.svg","href":"/integrations/connectors/omnigent"},{"title":"OGX","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/ogx.svg","href":"/integrations/connectors/ogx"},{"title":"OmniRoute","icon":"https://mintlify.s3.us-west-1.amazonaws.com/nimble-f5a8283f/images/icons/omniroute.svg","href":"/integrations/connectors/omniroute"}]},{"group":"Proxy","icon":"globe","pages":[{"title":"Overview","href":"/integrations/proxy/overview"},{"group":"Integrations","icon":"plug","pages":[{"title":"VMLogin","href":"/integrations/proxy/integration-guides/vm-login"},{"title":"FoxyProxy","href":"/integrations/proxy/integration-guides/foxy-proxy"},{"title":"AdsPower","href":"/integrations/proxy/integration-guides/ads-power"},{"title":"Kameleo","href":"/integrations/proxy/integration-guides/kameleo"},{"title":"Incogniton","href":"/integrations/proxy/integration-guides/incogniton"},{"title":"Windows","href":"/integrations/proxy/integration-guides/windows"},{"title":"macOS","href":"/integrations/proxy/integration-guides/macos"},{"title":"iOS","href":"/integrations/proxy/integration-guides/ios"},{"title":"Android","href":"/integrations/proxy/integration-guides/android"},{"title":"Proxifier","href":"/integrations/proxy/integration-guides/proxifier"},{"title":"Puppeteer","href":"/integrations/proxy/integration-guides/puppeteer"},{"title":"Selenium","href":"/integrations/proxy/integration-guides/selenium"},{"title":"Scrapy","href":"/integrations/proxy/integration-guides/scrapy"},{"title":"SwitchyOmega","href":"/integrations/proxy/integration-guides/switchyomega"},{"title":"Multilogin","href":"/integrations/proxy/integration-guides/multilogin"},{"title":"MuLogin","href":"/integrations/proxy/integration-guides/mulogin"}]}]}]},{"tab":"API Reference","icon":"code","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]},{"tab":"Changelog","icon":"bullhorn","pages":[{"title":"Changelog","href":"/changelog/release-notes"}]}]},"basePath":"","title":"Nimble Native App - Nimble Docs","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-5Xwp92K7.js","DynamicMarkdown-BoyYAA8K.js","zoom-image-lightbox-DkE6VzSN.js","lightbox-handle-r17bVUz3.js"]}