{"allowedRenditionsWidth":["320","480","640","768","960","1200","1440","1920"],"cssClassNames":"page basicpage summit-page","language":"en","description":"Getting Started with Openflow Unstructured Data Pipeline using Google Drive and Snowflake CoWork","title":"Getting Started with Openflow Unstructured Data Pipeline","templateName":"quickstart-page-template","analyticsPageType":"quickstart-page-template","analyticsCategory":"general","analyticsSubCategory":"","excludeFromAnalytics":false,":hierarchyType":"page",":path":"/content/snowflake-site/global/en/developers/guides/getting-started-with-openflow-unstructured-data-pipeline","analyticsContentTags":["snowflake-site:taxonomy/solution-center/certification/quickstart","snowflake-site:taxonomy/product/platform","snowflake-site:taxonomy/snowflake-feature/transformation","snowflake-site:taxonomy/snowflake-feature/openflow","snowflake-site:taxonomy/snowflake-feature/ingestion"],"analyticsEnabled":true,"coveoConfig":{"searchHub":"snowflake.com","organizationId":"snowflakecomputingproduction8neljofn","apiKey":"xx335921a6-2a0a-40f2-a167-e390b4766c3d","pipeline":"snowflake.com"},"analyticsDebugMode":false,"analyticsData":{"excludeFromAnalytics":false,"subCategory":"","pageType":"quickstart-page-template","templateName":"quickstart-page-template","siteName":"snowflake","pageUrl":"/content/snowflake-site/global/en/developers/guides/getting-started-with-openflow-unstructured-data-pipeline","language":"en","category":"general","pageName":"Getting Started with Openflow Unstructured Data Pipeline","contentTags":["snowflake-site:taxonomy/solution-center/certification/quickstart","snowflake-site:taxonomy/product/platform","snowflake-site:taxonomy/snowflake-feature/transformation","snowflake-site:taxonomy/snowflake-feature/openflow","snowflake-site:taxonomy/snowflake-feature/ingestion"]},"isPasswordProtected":false,":type":"snowflake-site/components/structure/page",":mappedPath":"/en/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/",":items":{"root":{"columnClassNames":{"markup_editor_1950346551":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-banner":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-header":"aem-GridColumn aem-GridColumn--default--12","responsivegrid":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-footer":"aem-GridColumn aem-GridColumn--default--12","modal_container":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnCount":12,":items":{"experiencefragment-banner":{"id":"experiencefragment-d78c2bec68","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/pushdown-banner/master/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"columnClassNames":{"pushdown_banner_copy":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-b57b51e197",":type":"snowflake-site/components/container",":items":{"pushdown_banner_copy":{"id":"pushdown-banner-45cf646d0a","contentHeadline":"Snowflake World Tour hits your city","contentDescription":"See how leading teams deploy agents at scale. Find a stop near you. Register free.","contentJustifyContent":"center","linkStyle":"text-white","linkCTA":{"id":"link-cta","heapButtonClasses":["pushdown_banner"],"showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"/en/world-tour/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Register now"},":type":"snowflake-site/components/pushdown-banner","appliedCssClassNames":"snowflake-pushdown-banner-text-white snowflake-pushdown-banner-background-black"}},":itemsOrder":["pushdown_banner_copy"]},"image":{":type":"nt:unstructured"},"cq:metadata":{":type":"nt:unstructured"}},":itemsOrder":["root","image","cq:metadata"],"classNames":"aem-xf"},"experiencefragment-header":{"id":"experiencefragment-0f135ed6a5","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"columnClassNames":{"mega_header":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-27ef438409",":type":"snowflake-site/components/container",":items":{"markup_editor":{"id":"markup-editor-a4c4c97ea7","title":" ","cssContent":".footer-nav__link-group .snowflake-button-container,.subnav__item--button,.snowflake-card-v2-advanced-button .snowflake-button-container{justify-content:flex-start}.mega-nav__sign-in.snowflake-button-container{display:none}@media screen and (min-width:768px){.mega-nav__sign-in.snowflake-button-container{display:inline-block;font-family:'Texta',sans-serif;font-weight:800 !important}}@media screen and (min-width:1024px) and (max-width:1199px){.snowflake-mega-nav-header-buttons-container .snowflake-button-blue .snowflake-button-container{font-size:13px !important}.snowflake-language-navigation .language-icon{width:18px !important;height:18px !important;margin-right:4px !important}}.mega-nav__sign-in svg{display:none}.nav-item__platform-parent-why-sf.snowflake-mega-nav-nav-item\u003Ea:hover,.nav-item__platform-parent.snowflake-mega-nav-nav-item\u003Ea:hover{background-color:transparent !important}.nav-platform-sidebar .snowflake-mega-nav-nav-item:hover.blue-icon .snowflake-mega-nav-nav-item-icon__inner{background-color:var(--ui-01) !important}@media screen and (min-width:1024px){.snowflake-mega-nav-navigation-dropdown{overflow:hidden}.meganav-platform-features{padding-left:64px}.meganav-platform-features::before{content:'';transform:translateX(-64px);display:block;z-index:0;width:100%;height:100%;position:absolute;top:0;background:#f7f9fa}.nav-item--si.snowflake-mega-nav-nav-item\u003Ea:hover{background-color:transparent}.nav-item--si{border-bottom:1px solid #ccc;padding-bottom:16px;margin-bottom:8px}.nav-item__platform-parent{border-bottom:1px solid #ccc;margin-bottom:8px;padding-bottom:16px}.nav-item__platform-parent-why-sf .snowflake-mega-nav-nav-item-description::after{content:'What Snowflake can do for you \u003E';display:block;color:var(--ui-01);margin-top:16px}.nav-item__platform-parent .snowflake-mega-nav-nav-item-description::after{content:'View the platform \u003E';display:block;color:var(--ui-01);margin-top:16px}}@media screen and (min-width:1367px){.snowflake-mega-nav-nav-item-description{font-size:13px !important;line-height:20px !important}.snowflake-mega-nav-nav-item-title-wrapper\u003E.snowflake-mega-nav-nav-item-title{font-size:17px !important}.nav-item__platform-parent-why-sf .snowflake-mega-nav-nav-item-title,.nav-item__platform-parent .snowflake-mega-nav-nav-item-title{font-size:24px !important;line-height:32px !important;margin-bottom:8px !important}.nav-item__platform-parent-why-sf .snowflake-mega-nav-nav-item-description,.nav-item__platform-parent .snowflake-mega-nav-nav-item-description{font-size:14px !important;line-height:20px !important}}html.wf-texta-n9-loading .display-1-v2{font-size:48px!important;line-height:50px!important;letter-spacing:-.5px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .heading-4-v2{font-size:18px!important;line-height:24px!important;font-family:sans-serif!important}@media screen and (min-width:768px){html.wf-texta-n9-loading .display-2-v2{font-size:48px!important;line-height:50px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .display-1-v2{font-size:55.5px!important;line-height:54px!important;letter-spacing:-.5px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-2,html.wf-lato-n4-loading .heading-5-v2,html.wf-lato-n4-loading .snowflake-card-v2-advanced-text .snowflake-text p{font-size:15.5px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .heading-2,html.wf-texta-n9-loading .heading-2-v2{font-size:34px!important;line-height:38px!important;letter-spacing:-.75px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .heading-6-v2.snowflake-mega-nav-navigation-title{font-size:13.5px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .heading-4,html.wf-texta-n8-loading .snowflake-button-container,html.wf-texta-n8-loading .snowflake-button-regular .snowflake-button-container{font-size:13px!important;line-height:20px!important;letter-spacing:.25px!important;font-family:sans-serif!important}}@media screen and (min-width:1024px){html.wf-lato-n4-loading .snowflake-mega-nav-nav-item-description{font-size:11.5px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-2,html.wf-lato-n4-loading .text-size-regular .snowflake-text li,html.wf-lato-n4-loading .text-size-regular .snowflake-text p,html.wf-lato-n4-loading .text-size-regular .snowflake-text span[data-testid=text-content],html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom li,html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom p,html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom span[data-testid=text-content]{font-size:13.5px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .snowflake-button-compact .snowflake-button-container{font-size:12px!important;letter-spacing:0!important;line-height:18px!important}}@media screen and (min-width:1367px){html.wf-lato-n4-loading .hp-hero__eyebrow a\u003Eb:first-child{font-size:11px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .hp-hero__eyebrow a{font-size:13px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .display-2-v2{font-size:61px!important;line-height:60px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .display-1-v2{font-size:74.5px!important;line-height:74px!important;letter-spacing:-.75px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .heading-2,html.wf-texta-n9-loading .heading-2-v2{font-size:41px!important;letter-spacing:-.75px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .heading-3-v2{font-family:sans-serif!important;letter-spacing:-.75px!important;font-size:33.75px!important}html.wf-texta-n9-loading .heading-4-v2{font-size:19.5px!important;line-height:26px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .heading-6-v2{font-size:12px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .heading-6-v2.snowflake-mega-nav-navigation-title{font-size:14px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-1,html.wf-lato-n4-loading .cq-Editable-dom[data-cq-data-path*=text] ol\u003Eli,html.wf-lato-n4-loading .snowflake-text li,html.wf-lato-n4-loading .snowflake-text p,html.wf-lato-n4-loading .text-size-large .snowflake-text li,html.wf-lato-n4-loading .text-size-large .snowflake-text p,html.wf-lato-n4-loading .text-size-large .snowflake-text span[data-testid=text-content],html.wf-lato-n4-loading .text-size-large.cq-Editable-dom li,html.wf-lato-n4-loading .text-size-large.cq-Editable-dom p,html.wf-lato-n4-loading .text-size-large.cq-Editable-dom span[data-testid=text-content],html.wf-lato-n4-loading.cq-Editable-dom[data-cq-data-path*=text]\u003Ep,html.wf-lato-n4-loading.cq-Editable-dom[data-cq-data-path*=text]\u003Eul\u003Eli{font-size:17.5px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-2,html.wf-lato-n4-loading .text-size-regular .snowflake-text li,html.wf-lato-n4-loading .text-size-regular .snowflake-text p,html.wf-lato-n4-loading .text-size-regular .snowflake-text span[data-testid=text-content],html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom li,html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom p,html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom span[data-testid=text-content],html.wf-texta-n8-loading .snowflake-button-link .snowflake-button-container,html.wf-texta-n8-loading .snowflake-button-link-back .snowflake-button-container{font-size:15.5px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-3,html.wf-lato-n4-loading .text-size-small .snowflake-text li,html.wf-lato-n4-loading .text-size-small .snowflake-text p,html.wf-lato-n4-loading .text-size-small .snowflake-text span[data-testid=text-content],html.wf-lato-n4-loading .text-size-small.cq-Editable-dom li,html.wf-lato-n4-loading .text-size-small.cq-Editable-dom p,html.wf-lato-n4-loading .text-size-small.cq-Editable-dom span[data-testid=text-content]{font-size:13.5px!important;font-family:sans-serif!important}}#industryPlatformSection,.sc-hero{background-position:top left;background-size:20% auto}.bwalignc,.bwalignr{list-style-position:inside}.snowflake-text p sup{font-size:10px}#industryPlatformSection .industry-platform__row .snowflake-flexible-column-container-items,.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container,.snowflake-hero-system-content-container{gap:16px}.agenda-item p,.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.partner-details p{margin:0!important}.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container::after,.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container::before,.hide-logo .snowflake-case-study-card-logo,.partner-page__powered-by-logo,.sc-hero div.code-toolbar\u003E.toolbar,.snowflake-card-v2-advanced.no-link .snowflake-card-v2-advanced-button,.snowflake-partner-hero-card-badge-container{display:none!important}.section--card-mobile-carousel .snowflake-flexible-column-container-items-with-carousel{max-width:100%!important}@media screen and (min-width:768px){.button-group-pair .snowflake-button-container.inline-button--desktop,.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto!important;display:inline-block!important}.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container{align-items:center;justify-content:flex-start!important}.button-group-pair.center\u003E.container\u003E.cmp-container\u003E.aem-container{justify-content:center!important}.section--card-mobile-carousel{margin-left:var(--tablet-portrait-margin,48px)!important;margin-right:var(--tablet-portrait-margin,48px);width:calc(100% - 96px)!important;width:calc(100% - var(--tablet-portrait-margin) * 2)!important}}@media screen and (min-width:1024px){.section--card-mobile-carousel{margin-left:var(--tablet-horizontal-margin,48px)!important;margin-right:var(--tablet-horizontal-margin,48px);width:calc(100% - 96px)!important;width:calc(100% - var(--tablet-horizontal-margin) * 2)!important}.snowflake-mega-nav-header-mobile-icon{display:none!important}}@media screen and (min-width:1367px){.section--card-mobile-carousel{margin-left:var(--desktop-margin,6.5%)!important;margin-right:var(--desktop-margin,6.5%);width:87%!important;width:calc(100% - var(--desktop-margin) * 2)!important}.logo-container{min-width:143px}.sc-hero__headline .heading-1-v2{font-size:60px}.snowflake-mega-nav-navigation-title{font-size:17px}.snowflake-mega-nav-dropdown-footer-wrapper .snowflake-title-v2 .snowflake-title-v2-line:first-child{font-size:16px!important;line-height:24px!important}}.hero--home{overflow:hidden;background-color:var(--ui-01);z-index:2}.hp-hero__subheadline{width:90%}.hero--home .snowflake-button-container{transition:.3s}.hero--home .snowflake-button-primary a:hover,.hero--home .snowflake-button-secondary a:hover,.hero--home .snowflake-button-white a:hover{transition:.3s;background-color:var(--ui-02)!important;color:var(--ui-05)!important}.hero--home .snowflake-button-secondary a:hover{border-color:var(--ui-05)!important}.hero--home .snowflake-button-primary a:hover,.hero--home .snowflake-button-white a:hover{border-color:var(--ui-02)!important}.bwalignc,.hp-hero__eyebrow{text-align:center}.hp-hero__eyebrow a{display:inline-flex;flex-direction:column;justify-content:center;cursor:pointer;padding:8px;border-radius:var(--spacing-01);gap:8px;align-items:center;background-color:#45aee3;color:var(--ui-03);font-family:Texta,sans-serif;font-weight:800;font-size:16px;line-height:22px;transition:background-color .3s}.hp-hero__eyebrow a:hover{background-color:#7fc6ea;text-decoration:none;transition:background-color .3s}.hp-hero__eyebrow a\u003Eb:first-child{text-transform:uppercase;white-space:nowrap;display:inline-block;background-color:var(--ui-02);color:var(--ui-05);font-size:12px!important;line-height:16px!important;font-family:Lato,sans-serif;font-weight:500!important;padding:3px 6px;border-radius:2px;letter-spacing:1px}@media screen and (min-width:767px){.hp-hero__eyebrow{text-align:left}.hp-hero__eyebrow a{flex-direction:row;text-align:left}}.hero--home__inner .offset-video,.hero--home__inner .snowflake-experience-fragment,.offset-video__bg-image{max-height:200px;overflow:hidden}.hero--home__inner .offset-video .wistia-responsive-padding{padding-top:100%}.hero--home__inner .snowflake-experience-fragment,.offset-video__bg-image{position:absolute!important;top:0;left:0;width:100%}.offset-video__bg-image{z-index:-1}@media screen and (min-width:768px){.hero--home__inner .snowflake-experience-fragment,.offset-video,.offset-video__bg-image{position:absolute!important;max-height:none;top:0;left:0;width:250%;padding-bottom:250%;transform:translate(0,-50%);height:0}.workloads_7.unistore{max-width:317px}}.promo-banner--homepage{z-index:2}.homepage-banner-offset-container::after{content:\"\";display:block;position:absolute;bottom:0;z-index:1;left:0;width:100%;height:80%;background:#fff}.section--quicklinks .snowflake-button-full-width a{padding-left:24px!important;padding-right:24px!important;transition:box-shadow .25s cubic-bezier(.4,0,.2,1);text-align:left;display:flex;justify-content:center;align-items:center}.section--quicklinks .snowflake-button-full-width a:hover{box-shadow:0 16px 16px 0 rgb(0 0 0 / .16);transition:box-shadow .25s cubic-bezier(.4,0,.2,1)}.section--quicklinks .snowflake-button-container:focus-visible a::before,.section--quicklinks .snowflake-button-full-width a::before{content:\"\";width:23px;height:23px;flex-shrink:0;margin-right:12px;display:inline-block;background-size:cover;background-repeat:no-repeat;background-position:center}#industryPartnerSlider .snowflake-navigation-icon.swiper-button-disabled,#partnerResources .section--resource-hub a svg,.button-tabs span.snowflake-tabs-navigation-item:after,.customer-card--hide-cta .snowflake-case-study-card-button,.dot-tabs span.snowflake-tabs-navigation-item::after,.partner-sidebar__mobile-expand,html:not(.aem-AuthorLayer-initial):not(.aem-AuthorLayer-Edit) .tab-content:not(.is-active){display:none}.section--quicklinks .snowflake-button-full-width a.pricing::before{background-image:url(https://www.snowflake.com/content/dam/snowflake-site/general/icons/decorative-icons/pricing-icon.svg)}.section--quicklinks .snowflake-button-full-width a.snowflake_on_snowflake::before{background-image:url(https://www.snowflake.com/content/dam/snowflake-site/general/icons/navigation/nav-icon_snowflake-bug.svg)}.section--quicklinks .snowflake-button-full-width a.virtual_hands_on_labs::before{background-image:url(https://www.snowflake.com/content/dam/snowflake-site/general/icons/navigation/nav-icon__training.svg)}.section--quicklinks .snowflake-button-full-width a.weekly_demo::before{background-image:url(https://www.snowflake.com/content/dam/snowflake-site/general/icons/navigation/nav-icon__webinars.svg)}@media screen and (min-width:1024px){.hero--home__inner .snowflake-experience-fragment,.offset-video,.offset-video__bg-image{left:-50%}.section--quicklinks .snowflake-flexible-column-container-items{gap:24px}.snowflake-quote-item-inner{padding:32px 24px 24px!important}}#communitiesOuter_overflowBottomGray::after{max-height:100px}#caseStudyOuter_overflowBottomMidBlue::after{max-height:180px}#caseStudyInner .snowflake-case-study-card .snowflake-wistia-video{border-radius:0!important}#caseStudyInner .snowflake-case-study-card{box-shadow:none!important;border-radius:0}#caseStudyInner{max-width:1200px;margin:0 auto;box-shadow:rgb(152 162 179 / .1) 0 10px 20px 0,rgb(152 162 179 / .25) 0 2px 6px 0;border-radius:8px;overflow:hidden;position:relative;z-index:1}.case-study__logo-bar\u003E.snowflake-flexible-column-container-items{background:#f7f9fa;padding:32px 16px 40px}.case-study__logo-bar .cmp-image__image{width:90%;margin:0 auto;max-width:240px}.hp-platform__text-group\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:first-child),.sc-sidebar__group .snowflake-button-link{margin-top:8px}.workloads_7.unistore{margin-left:auto;margin-right:auto}#homepageFootnotesInner .snowflake-simple-stat-disclaimer .snowflake-text p{color:#fff!important}.snowflake-simple-stat-disclaimer .snowflake-text p\u003Ea{border-bottom:1px solid var(--ui-03);color:var(--text-03)}.snowflake-card-v2-advanced{color:inherit}#workloadCardGridOuter .snowflake-card-v2-base-front{gap:0}.video-modal.snowflake-modal-window-open-inner{background-color:#fff0;padding:8px;border:none}.snowflake-container-arrow-dotted-faded .snowflake-container-arrow-dotted-faded-image{width:40%!important;max-width:420px;top:4%!important}.list--blue-bullets ul{margin:0!important;padding:0!important;list-style-type:none}.list--blue-bullets li{margin:0;padding:0 0 0 32px;position:relative}.list--blue-bullets li::before{content:\"\";display:block;border-radius:100%;background:#29b5e8;width:18px;height:18px;position:absolute;top:4px;left:0;border:5px solid #e5f2f7;box-sizing:border-box}.list--blue-bullets li:not(:last-child){margin-bottom:1rem}.logo-tabs .snowflake-navigation-container,.snowflake-simple-stat-content:empty,.summit-speaker-card .snowflake-card-v2-advanced-text{margin-bottom:0}#techResourceInner,#techResourceOuter,div.overflow-bottom--blue,div.overflow-bottom--gray,div.overflow-bottom--mid-blue,div.overflow-bottom--white,div.overflow-top--blue,div.overflow-top--gray,div.overflow-top--mid-blue,div.overflow-top--white,div[id$=overflowBottomGray],div[id$=overflowBottomMidBlue],div[id$=overflowTopBlue],div[id$=overflowTopGray]{position:relative}div.overflow-bottom--blue::after,div.overflow-bottom--gray::after,div.overflow-bottom--mid-blue::after,div.overflow-bottom--white::after,div.overflow-top--blue::after,div.overflow-top--gray::after,div.overflow-top--mid-blue::after,div.overflow-top--white::after,div[id$=overflowBottomGray]::after,div[id$=overflowBottomMidBlue]::after,div[id$=overflowBottomWhite]::after,div[id$=overflowTopBlue]::after,div[id$=overflowTopGray]::after,div[id$=overflowTopWhite]::after{content:\"\";display:block;position:absolute;left:0;width:100%;height:40%}div.overflow-top--blue::after,div.overflow-top--gray::after,div.overflow-top--mid-blue::after,div.overflow-top--white::after,div[id$=overflowTopBlue]::after,div[id$=overflowTopGray]::after,div[id$=overflowTopWhite]::after{top:0}div.overflow-bottom--blue::after,div.overflow-bottom--gray::after,div.overflow-bottom--mid-blue::after,div.overflow-bottom--white::after,div[id$=overflowBottomGray]::after,div[id$=overflowBottomMidBlue]::after,div[id$=overflowBottomWhite]::after{bottom:0}div.overflow-bottom--white::after,div.overflow-top--white::after,div[id$=overflowBottomWhite]::after,div[id$=overflowTopWhite]::after{background:#fff!important}div.overflow-bottom--gray::after,div.overflow-top--gray::after,div[id$=overflowBottomGray]::after,div[id$=overflowTopGray]::after{background:#f6f9fa!important}div.overflow-bottom--mid-blue::after,div.overflow-top--mid-blue::after,div[id$=overflowBottomMidBlue]::after,div[id$=overflowTopMidBlue]::after{background:#11567f!important}div.overflow-bottom--blue::after,div.overflow-top--blue::after,div[id$=overflowBottomBlue]::after,div[id$=overflowTopBlue]::after{background:#259edc!important}.snowflake-premium-content-banner.promo-banner--no-shadow{box-shadow:none!important}#industryPartnerSlider .cmp-image__image,#industryPartnerSlider .section--partner-tabs .snowflake-image-container .cmp-image__image,#partnerSidebar,.has-shadow .cmp-image__image{box-shadow:0 10px 20px 0 rgb(152 162 179 / .1),0 2px 6px 0 rgb(152 162 179 / .25)}.content-chip--has-desc{align-items:flex-start;padding:20px!important}.content-chip--has-desc .snowflake-content-chip-image{max-width:100px}.content-chip--has-desc .snowflake-content-chip-image__image{aspect-ratio:1}.content-chip--has-desc .snowflake-title-v2-line:first-child{font-size:18px!important}.content-chip--has-desc .snowflake-title-v2-line:nth-child(2){color:#000!important;font-weight:500!important;font-size:16px!important;line-height:22px!important;margin-top:2px!important}.content-chip--has-desc .snowflake-content-chip-button{margin-top:6px!important;font-size:18px!important;display:none}.square-image .snowflake-content-chip-image{aspect-ratio:1;max-width:120px}.section--logo-bar.smaller-logos .snowflake-image-container .cmp-image__image{max-width:200px;margin:0 auto}.snowflake-card-v2-advanced-tag,.snowflake-content-chip-tag{padding:3px 6px!important}.sc-overview__webinar-promo-banner .snowflake-content-chip-button,.snowflake-card-v2-advanced-title:first-child,.summit-pricing-block__aside ul{margin-top:0}.dot-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item{width:40px;height:40px;display:flex;justify-content:center;align-items:center;margin:0!important}.dot-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item p{width:12px;height:12px;background:var(--ui-12);border-radius:100%}.dot-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item p,.logo-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item p{font-size:0!important}.dot-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item.active p{background:var(--ui-01)}.button-tabs .snowflake-navigation-container .swiper-wrapper{padding:8px 0}.button-tabs .snowflake-navigation-container .swiper-slide{margin:0 6px}.button-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item{padding:8px 24px;background-color:#f6f9fa;border-radius:48px;margin:0}.button-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item p{text-transform:uppercase;font-family:Texta,sans-serif;font-weight:700}.button-tabs .border-top{border-top:1px solid #ccc}.button-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item.active{background-color:var(--ui-01);box-shadow:0 2px 6px 0 rgb(152 162 179 / .25),0 10px 20px 0 rgb(152 162 179 / .1)}.button-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item.active p{color:#fff}.button-tabs.has-icons .snowflake-navigation-container .snowflake-tabs-navigation-item p::before{content:\"\";display:inline-block;width:20px;height:20px;background-size:contain;background-repeat:no-repeat;background-position:center center;margin-right:12px;vertical-align:middle;margin-top:-3px}.logo-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item{width:220px;padding-bottom:50%;height:0;margin:0 8px!important;background-size:cover;background-repeat:no-repeat;opacity:.5;transition:opacity .3s}.logo-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item:hover{opacity:.75;transition:opacity .3s}.logo-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item.active{opacity:1;transition:opacity .3s}.dot-tabs .aem-container.cmp-tabs,.logo-tabs .aem-container.cmp-tabs{display:flex;flex-direction:column-reverse}.snowflake-icon.is-center{margin:0 auto;display:block}#industryPartnerSlider .snowflake-flexible-column-container-items,#partnerLogoSquare .snowflake-flexible-column-container-items{gap:24px}#techResourceOuter::after{content:\"\";display:block;position:absolute;top:0;left:0;width:100%;height:40%;background:#f6f9fa}#techResourceInner{z-index:1}.partner-tier-tag h6{display:inline-block!important;padding:2px 6px;border-radius:2px;color:#666}.partner-tier-tag.registered h6{background-color:#f6f9fa}.partner-tier-tag.elite h6{background-color:#11567f;color:#fff}.partner-tier-tag.premier h6{background-color:#b14c77;color:#fff}.partner-tier-tag.select h6{background-color:#5094a0;color:#fff}.partner-details\u003Espan{display:flex;gap:24px}.partner-details a{color:inherit!important;font-weight:400!important}.partner-details p::before{content:\"\";display:inline-block;vertical-align:middle;width:16px;height:16px;background-repeat:no-repeat;background-position:center;transform:translateY(-1px);background-size:auto 90%;margin-right:6px}.partner-details__location::before{background-image:url(\"data:image/svg+xml,%3Csvg width='13' height='18' viewBox='0 0 13 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.25 17.7531C6.4375 17.7531 6.6 17.6844 6.7375 17.5531C6.875 17.4219 6.95 17.2531 6.95 17.0531C6.95 16.8531 7.075 16.4281 7.3 15.7969C7.5875 15.0281 7.925 14.3156 8.30625 13.6406C8.8 12.7781 9.3125 12.1031 9.85 11.6094C10.75 10.7969 11.4125 9.96563 11.85 9.12188C12.2875 8.27813 12.5063 7.40313 12.5063 6.49063C12.5063 5.36563 12.2187 4.31563 11.6437 3.33438C11.0937 2.40313 10.3438 1.65938 9.4 1.10938C8.43125 .534376 7.375 .246876 6.24375 .246876C5.1125 .246876 4.06875 .534376 3.0875 1.10938C2.15625 1.65938 1.4125 2.40313 .862498 3.33438C.287498 4.31563 0 5.36563 0 6.49063C0 7.47188 .262499 8.42813 .787499 9.35938C1.14375 10.0031 1.65625 10.6656 2.3125 11.3344C2.75625 11.8031 3.24375 12.4781 3.78125 13.3656C4.225 14.0969 4.63125 14.8594 5 15.6656C5.35 16.3844 5.53125 16.8531 5.55625 17.0656C5.55625 17.2594 5.625 17.4156 5.7625 17.5531C5.9 17.6844 6.0625 17.7531 6.25 17.7531ZM6.16875 14.9156C5.775 14.0656 5.325 13.2469 4.825 12.4594C4.275 11.5594 3.7625 10.8719 3.28125 10.3969C2.625 9.71563 2.1375 9.05938 1.825 8.43438C1.5125 7.80313 1.35625 7.16563 1.35625 6.50313C1.35625 5.61563 1.575 4.80313 2.0125 4.05313C2.45 3.30313 3.04375 2.71563 3.7875 2.27813C4.5375 1.84063 5.35 1.62188 6.2375 1.62188C7.125 1.62188 7.9375 1.84063 8.6875 2.27813C9.4375 2.71563 10.0312 3.30313 10.475 4.04688C10.9187 4.80313 11.1375 5.62188 11.1375 6.50313C11.1375 7.90313 10.3937 9.26563 8.9125 10.5969C8.35 11.1094 7.8125 11.7906 7.3 12.6406C6.88125 13.3344 6.50625 14.0969 6.16875 14.9219V14.9156ZM6.26875 8.36563C6.65625 8.36563 7.01875 8.26563 7.35625 8.07188C7.69375 7.87813 7.95625 7.60938 8.14375 7.28438C8.3375 6.95313 8.43125 6.59063 8.43125 6.19688C8.43125 5.80313 8.33125 5.43438 8.1375 5.10313C7.9375 4.76563 7.675 4.50313 7.3375 4.31563C7 4.12813 6.6375 4.02813 6.24375 4.02813C5.85 4.02813 5.4875 4.12813 5.15625 4.32188C4.825 4.52188 4.56875 4.78438 4.375 5.12188C4.18125 5.45938 4.0875 5.82188 4.0875 6.20938C4.0875 6.59688 4.1875 6.95938 4.38125 7.29688C4.58125 7.63438 4.84375 7.89688 5.18125 8.08438C5.51875 8.27813 5.88125 8.37188 6.26875 8.37188V8.36563ZM6.24375 7.50313C5.8875 7.50313 5.575 7.37188 5.31875 7.11563C5.0625 6.85938 4.93125 6.55313 4.93125 6.19063C4.93125 5.82813 5.0625 5.52188 5.31875 5.26563C5.575 5.00938 5.88125 4.87813 6.24375 4.87813C6.60625 4.87813 6.9125 5.00938 7.16875 5.26563C7.425 5.52188 7.55625 5.82813 7.55625 6.19063C7.55625 6.55313 7.425 6.85938 7.16875 7.11563C6.9125 7.37188 6.60625 7.50313 6.24375 7.50313Z' fill='%2329B5E8'/%3E%3C/svg%3E%0A\")}.partner-details__website::before{background-image:url(\"data:image/svg+xml,%3Csvg width='18' height='16' viewBox='0 0 18 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.61587 2.96889C2.61587 2.75109 2.79633 2.57062 3.01413 2.57062C3.23192 2.57062 3.41238 2.75109 3.41238 2.96889C3.41238 3.18669 3.23192 3.36716 3.01413 3.36716C2.79633 3.36716 2.61587 3.18669 2.61587 2.96889ZM4.21512 2.96889C4.21512 2.75109 4.39558 2.57062 4.61338 2.57062C4.83117 2.57062 5.01163 2.75109 5.01163 2.96889C5.01163 3.18669 4.83117 3.36716 4.61338 3.36716C4.39558 3.36716 4.21512 3.18669 4.21512 2.96889ZM5.81438 2.96889C5.81438 2.75109 5.99484 2.57062 6.21264 2.57062C6.43043 2.57062 6.61089 2.75109 6.61089 2.96889C6.61089 3.18669 6.43043 3.36716 6.21264 3.36716C5.99484 3.36716 5.81438 3.18669 5.81438 2.96889ZM17.2518 .697559H1.19085C.811258 .697559 .506348 1.0025 .506348 1.38209V14.6179C.506348 14.9975 .811258 15.3024 1.19085 15.3024H17.2518C17.6314 15.3024 17.9363 14.9975 17.9363 14.6179V1.38209C17.9363 1.0025 17.6314 .697559 17.2518 .697559ZM16.5673 2.06035V3.90853H1.86914V2.06035H16.5673ZM1.86914 13.9334V4.78593H16.5673V13.9334H1.86914Z' fill='%2329B5E8'/%3E%3C/svg%3E%0A\")}#partnerSidebar{border-radius:4px;background-color:#fff;padding:24px 24px 32px;border-bottom:6px solid #29b5e8}#partnerSidebar h5,.newsletter-disclaimer p{font-size:14px!important}#partnerSidebar ul{margin-top:0;list-style-type:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}#partnerSidebar li{border:1px solid;border-radius:2px;padding:0 4px!important;font-size:11px!important;letter-spacing:.25px;text-transform:uppercase}div.snowflake-partner-hero-card{width:100%;margin:0}.partner-details__logo{max-width:380px;margin:0 auto}@media screen and (max-width:767px){.left-alignment .hp-hero__subheadline{margin-left:auto;margin-right:auto}.left-alignment .hp-hero__headline .snowflake-title-v2-line,.left-alignment .hp-hero__subheadline .snowflake-title-v2-line{text-align:center}.hero--home__inner .snowflake-flexible-column-container-items-top-padding-large{padding-top:var(--spacing-02)}.section--logo-bar\u003E.snowflake-flexible-column-container-items{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:center;gap:8px}.section--logo-bar\u003E.snowflake-flexible-column-container-items\u003Ediv{width:calc(33.33% - 8px)}.partner-sidebar__mobile-expand{display:inline-block;color:#249edc;border-color:#249edc!important}#partnerSidebar li:nth-child(n+6),.summit-nav__links .snowflake-button-tertiary{display:none}.sc-body__sidebar{background-color:#f6f9fa;padding:24px}.sc-body__content{padding:0 24px 24px}.summit-speaker-card .snowflake-card-v2-advanced-content{padding:24px}}#partnerResources h6,.snowflake-tabs-navigation-item p.body-1{font-size:16px!important}#partnerResources .section--resource-hub{padding:0 16px}#partnerResources .section--resource-hub a,.bwalignl{text-align:left}@media screen and (max-width:1023px){.hero--workload .snowflake-hero-system-media-container{width:100%}}.section--timely-content .snowflake-content-chip,.snowflake-mega-nav-dropdown-footer-wrapper{align-items:center}.section--timely-content .snowflake-content-chip-image{max-width:94px}.section--timely-content .snowflake-content-chip-image__inner{line-height:0}.section--timely-content .snowflake-content-chip-image__image{aspect-ratio:1;height:auto}.section--workload-overview .workload-overview__headline{max-width:280px;margin:0 auto}#industryPartnerSlider .swiper-slide{margin-top:0!important;padding:0 12px}#industryPartnerSlider .snowflake-tabs-navigation-item{margin-left:0!important;margin-right:0!important}#industryPartnerSlider .snowflake-premium-content-banner-background-grad-white .snowflake-premium-content-banner{box-shadow:none}#industryPartnerSlider .logo-slider__slide .aem-container{display:flex;padding:0 8px!important;flex-wrap:wrap;gap:16px!important;justify-content:center}#industryPartnerSlider .logo-slider__slide .aem-container\u003Ediv{width:48%;max-width:200px}#useCaseTabs{padding-top:24px;padding-bottom:24px;padding-right:24px}#useCaseTabs .tab-content.is-active{display:block}#useCaseTabs .vert-tab{border-bottom:1px solid #a0bbcc;padding-bottom:16px}#useCaseTabs .vert-tab p{display:inline-block}#useCaseTabs .vert-tab p:hover{cursor:pointer}#useCaseTabs .vert-tab p,#useCaseTabs .vert-tab.is-active p.not-active{color:#249edc}#useCaseTabs .vert-tab p.is-active,#useCaseTabs .vert-tab.is-active p{color:#000}#industryPlatformSection{background-image:url(/adobe/dynamicmedia/deliver/dm-aid--db074ad5-7122-4c51-87a3-76c3aa466182/double-arrow-bg%403x.png);background-repeat:no-repeat}.snowflake-text p.featured-quote__source{font-weight:900!important;text-transform:uppercase;font-size:16px!important;margin-top:2rem!important}.snowflake-text p.featured-quote__title{margin-top:0!important;font-size:16px!important}.snowflake-case-study-card-logo img{width:auto!important;height:100px!important;transform:translateX(-15%)}.snowflake-quote-item-quote-text{font-weight:600!important}#customerStoryStatsInner\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row}#customerStoryStat1,#customerStoryStat2{max-width:240px}#storyHighlights{border-radius:4px;padding:1rem}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .snowflake-title-v2-line,.summit-pricing-block__tile .black-blue-text-color .snowflake-title-v2-line{color:#000!important}.snowflake-youtube-embedded-wrapper{border-radius:var(--small-border-radius)}#arcticNavItem::before,#offset::before,#open-source::before{color:var(--text-05);font-family:Texta,sans-serif!important}#offset,.sc-architecture-caption{margin-top:16px}.hero--press .snowflake-title-v2-line{text-transform:none!important}@media screen and (min-width:768px){.subpage-timely-content__inner\u003E.snowflake-flexible-column-container-items{box-shadow:0 10px 20px 0 rgb(152 162 179 / .1),0 2px 6px 0 rgb(152 162 179 / .25);padding:var(--spacing-04);border-radius:4px;overflow:hidden}#partnerLogoSquare{padding:0 0 0 48px}.hero--workload .snowflake-container{max-width:1440px;margin:0 auto!important;align-items:center}#industryPartnerSlider.snowflake-flexible-column-container-2-column-40-60\u003E.snowflake-flexible-column-container-items{grid-template-columns:minmax(40%,4fr) minmax(0,6fr)}#industryPartnerSlider .swiper-slide{padding:0 24px}.sc-body{padding:48px}.sc-body\u003E.snowflake-flexible-column-container-items{grid-template-columns:7fr 3fr;gap:124px}}.snowflake-button-container.has-icon{display:inline-flex;justify-content:center;align-items:center;text-align:left}.snowflake-button-container.has-icon::before{content:\"\";display:inline-block;width:20px;height:20px;margin-right:12px;background-size:contain;background-repeat:no-repeat;background-position:center}.snowflake-button-container.is-video::before{background-image:url(\"data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 1.28663C13.2523 1.28663 16.7134 4.74768 16.7134 9C16.7134 13.2523 13.2523 16.7134 9 16.7134C4.74768 16.7198 1.28663 13.2588 1.28663 9C1.28663 4.74124 4.74768 1.28663 9 1.28663ZM9 0C4.0336 0 0 4.0336 0 9C0 13.9664 4.0336 18 9 18C13.9728 18 18 13.9664 18 9C18 4.0336 13.9728 0 9 0Z' fill='white'/%3E%3Cpath d='M7.75106 6.18211C7.42941 6.16925 7.16565 6.42658 7.16565 6.74823V11.2772C7.16565 11.7082 7.65457 11.9848 8.02126 11.7597L11.7975 9.4952C12.1578 9.27647 12.1578 8.74252 11.7975 8.52379L8.02126 6.25931C7.93763 6.21428 7.84756 6.18211 7.75106 6.18211Z' fill='white'/%3E%3C/svg%3E%0A\")}.snowflake-button-container.is-github::before{background-image:url(\"data:image/svg+xml,%3Csvg width='20' height='21' viewBox='0 0 20 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 .651794C4.475 .651794 0 5.12679 0 10.6518C0 15.0768 2.8625 18.8143 6.8375 20.1393C7.3375 20.2268 7.525 19.9268 7.525 19.6643C7.525 19.4268 7.5125 18.6393 7.5125 17.8018C5 18.2643 4.35 17.1893 4.15 16.6268C4.0375 16.3393 3.55 15.4518 3.125 15.2143C2.775 15.0268 2.275 14.5643 3.1125 14.5518C3.9 14.5393 4.4625 15.2768 4.65 15.5768C5.55 17.0893 6.9875 16.6643 7.5625 16.4018C7.65 15.7518 7.9125 15.3143 8.2 15.0643C5.975 14.8143 3.65 13.9518 3.65 10.1268C3.65 9.03929 4.0375 8.13929 4.675 7.43929C4.575 7.18929 4.225 6.16429 4.775 4.78929C4.775 4.78929 5.6125 4.52679 7.525 5.81429C8.325 5.58929 9.175 5.47679 10.025 5.47679C10.875 5.47679 11.725 5.58929 12.525 5.81429C14.4375 4.51429 15.275 4.78929 15.275 4.78929C15.825 6.16429 15.475 7.18929 15.375 7.43929C16.0125 8.13929 16.4 9.02679 16.4 10.1268C16.4 13.9643 14.0625 14.8143 11.8375 15.0643C12.2 15.3768 12.5125 15.9768 12.5125 16.9143C12.5125 18.2518 12.5 19.3268 12.5 19.6643C12.5 19.9268 12.6875 20.2393 13.1875 20.1393C17.1375 18.8143 20 15.0643 20 10.6518C20 5.12679 15.525 .651794 10 .651794Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\")}.snowflake-button-container.is-quickstart::before{background-image:url(\"data:image/svg+xml,%3Csvg width='15' height='21' viewBox='0 0 15 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.8489 2.79368H11.6439V2.38493C11.6439 1.71368 11.1451 .967427 10.4251 .967427H8.94762C8.80887 .359927 8.37387 .299927 7.89762 .299927H7.23012C6.85512 .299927 6.26637 .299927 6.08637 .967427H4.68387C3.94887 .967427 3.35637 1.74368 3.35637 2.38493V2.79368H1.15137C.738867 2.79368 .401367 3.13118 .401367 3.54368V20.2537C.401367 20.6662 .738867 21.0037 1.15137 21.0037H13.8489C14.2614 21.0037 14.5989 20.6662 14.5989 20.2537V3.54368C14.5989 3.13118 14.2614 2.79368 13.8489 2.79368ZM4.29387 2.38493C4.29387 2.18243 4.54137 1.90493 4.68387 1.90493H6.50262C6.76137 1.90493 6.97137 1.69493 6.97137 1.43618C6.97137 1.33868 6.97887 1.27868 6.98637 1.24118C7.05012 1.23368 7.15512 1.23368 7.23387 1.23368H7.90137C7.95012 1.23368 8.00637 1.23368 8.05137 1.23368C8.05512 1.27868 8.05887 1.34243 8.05887 1.43243C8.05887 1.69118 8.26887 1.90118 8.52762 1.90118H10.4289C10.5301 1.90118 10.7101 2.14493 10.7101 2.38118V2.78993H4.29762V2.38118L4.29387 2.38493ZM13.0989 19.4999H1.90137V4.29368H13.0989V19.5037V19.4999Z' fill='%23249EDC'/%3E%3Cpath d='M3.82512 16.0424H11.1751C11.4339 16.0424 11.6439 15.8324 11.6439 15.5736V6.88486C11.6439 6.62611 11.4339 6.41611 11.1751 6.41611H3.82512C3.56637 6.41611 3.35637 6.62611 3.35637 6.88486V15.5736C3.35637 15.8324 3.56637 16.0424 3.82512 16.0424ZM4.29387 15.1049V13.3686H10.7064V15.1049H4.29387ZM10.7101 7.35361V12.4311H4.29762V7.35361H10.7101Z' fill='%23249EDC'/%3E%3Cpath d='M6.16512 9.35989H8.83887C9.09762 9.35989 9.30762 9.14989 9.30762 8.89114C9.30762 8.63239 9.09762 8.42239 8.83887 8.42239H6.16512C5.90637 8.42239 5.69637 8.63239 5.69637 8.89114C5.69637 9.14989 5.90637 9.35989 6.16512 9.35989Z' fill='%23249EDC'/%3E%3Cpath d='M6.16512 11.3624H8.83887C9.09762 11.3624 9.30762 11.1524 9.30762 10.8937C9.30762 10.6349 9.09762 10.4249 8.83887 10.4249H6.16512C5.90637 10.4249 5.69637 10.6349 5.69637 10.8937C5.69637 11.1524 5.90637 11.3624 6.16512 11.3624Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\")}.snowflake-button-container.is-download::before{background-image:url(\"data:image/svg+xml,%3Csvg width='16' height='18' viewBox='0 0 16 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.2017 17.1637H.798265C.364425 17.1637 0 16.7993 0 16.3655V12.3568C0 11.923 .364425 11.5585 .798265 11.5585C1.2321 11.5585 1.59653 11.923 1.59653 12.3568V15.5498H14.4035V12.3568C14.4035 11.923 14.7679 11.5585 15.2017 11.5585C15.6356 11.5585 16 11.923 16 12.3568V16.3655C16 16.7993 15.6529 17.1637 15.2017 17.1637Z' fill='%23249EDC'/%3E%3Cpath d='M7.94793 12.9642C7.84381 12.9642 7.73969 12.9468 7.63557 12.8947C7.34056 12.7733 7.14967 12.4783 7.14967 12.1485L7.18437 .938127C7.18437 .504287 7.5488 .139862 7.98264 .139862C8.41648 .139862 8.7809 .504287 8.7809 .938127L8.7462 10.257L12.8416 6.33509C13.154 6.02273 13.6746 6.04008 13.9696 6.35244C14.282 6.66481 14.2646 7.18542 13.9523 7.48043L8.50325 12.7386C8.36442 12.8774 8.15617 12.9642 7.94793 12.9642Z' fill='%23249EDC'/%3E%3Cpath d='M7.94793 12.9642C7.73969 12.9642 7.54881 12.8947 7.39262 12.7386L2.03037 7.53249C1.718 7.22012 1.70065 6.71687 2.01301 6.40451C2.32538 6.09214 2.82863 6.07479 3.141 6.38715L8.50325 11.5932C8.81562 11.9056 8.83297 12.4088 8.52061 12.7212C8.36442 12.8774 8.15617 12.9642 7.94793 12.9642Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\")}.snowflake-button-container.is-expand::before{background-image:url(\"data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.64375 10.9125C6.9375 11.2062 6.93125 11.6812 6.64375 11.9687L2.57502 16H3.79375C4.20625 16 4.54376 16.3375 4.54376 16.75C4.54376 17.1625 4.20625 17.5 3.79375 17.5H.756264C.556264 17.5 .36876 17.4187 .22501 17.2812C.22501 17.2812 .206248 17.25 .193748 17.2375C.143748 17.1812 .100004 17.1125 .0625038 17.0437C.0375038 16.9687 .0187492 16.8937 .0187492 16.8187C.0187492 16.8 .0062561 16.7813 .0062561 16.7625V13.725C.0187561 13.3125 .356257 12.9875 .768757 12.9937C1.16876 13 1.48752 13.325 1.50002 13.725V14.9688L5.5875 10.9187C5.88125 10.6312 6.35 10.6312 6.64375 10.9187V10.9125ZM17.5063 .743732C17.5063 .543732 17.425 .356235 17.2875 .218735C17.2875 .218735 17.2562 .199998 17.2437 .193748C17.1875 .137498 17.1188 .0937347 17.0438 .0624847C16.9688 .0374847 16.8938 .0187492 16.8188 .0187492C16.8 .0187492 16.7813 .00623703 16.7625 .00623703H13.725C13.3125 .00623703 12.975 .343745 12.975 .756245C12.975 1.16874 13.3125 1.50623 13.725 1.50623H14.9688L11.1312 5.37498C10.8437 5.67498 10.8563 6.14999 11.1563 6.43124C11.45 6.71249 11.9063 6.70624 12.1938 6.43124L16.0125 2.575V3.79375C16.0125 4.20625 16.35 4.54372 16.7625 4.54372C17.175 4.54372 17.5125 4.20625 17.5125 3.79375V.756245L17.5063 .743732ZM16.7562 12.9688C16.3437 12.9688 16.0063 13.3063 16.0063 13.7188V14.8937L12.1938 10.925C11.9063 10.625 11.4375 10.6188 11.1375 10.9063C10.8375 11.1938 10.8313 11.6625 11.1188 11.9625L15 16.0062H13.7188C13.3063 16.0062 12.9688 16.3437 12.9688 16.7562C12.9688 17.1687 13.3063 17.5063 13.7188 17.5063H16.7562C16.85 17.5063 16.95 17.4875 17.0375 17.45C17.0875 17.425 17.1313 17.3937 17.175 17.3625C17.2063 17.3437 17.2438 17.325 17.275 17.3C17.3313 17.2375 17.375 17.1687 17.4125 17.1C17.4188 17.0875 17.4375 17.075 17.4438 17.0562C17.45 17.025 17.4563 16.9938 17.4625 16.9625C17.4813 16.9 17.5 16.8375 17.5 16.7687V13.725C17.5 13.3125 17.1687 12.975 16.7562 12.975V12.9688ZM.750008 4.53125C1.16251 4.53125 1.50002 4.19374 1.50002 3.78124V2.5L5.59376 6.43124C5.89376 6.71874 6.36251 6.70626 6.65001 6.41251C6.93751 6.11876 6.92501 5.64375 6.63126 5.35625L2.61251 1.49998H3.7875C4.2 1.49998 4.53751 1.16249 4.53751 .749989C4.53751 .337489 4.2 0 3.7875 0H.743752C.668752 0 .600004 .0187355 .531254 .0437355C.506254 .0499855 .481263 .0437477 .462513 .0562477C.443763 .0687477 .425015 .0812462 .406265 .0937462C.337515 .124996 .275004 .168741 .218754 .224991H.212498C.212498 .224991 .175 .28125 .15625 .3125C.11875 .3625 .0812477 .4125 .0562477 .46875C.0374977 .525 .0249992 .587499 .0187492 .643749C.0124992 .674999 0 .712482 0 .743732V3.78124C0 4.19374 .337508 4.53125 .750008 4.53125Z' fill='white'/%3E%3C/svg%3E%0A\")}@keyframes slow-scroll{100%{transform:translateY(-50%)}}.sc-hero{overflow:hidden;background-color:#212d35;background-repeat:repeat-y;background-image:url(\"data:image/svg+xml,%3Csvg width='389' height='17' viewBox='0 0 389 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M.638672 7.80824L.638672 9.2566C.638672 9.52364 .85538 9.74024 1.12262 9.74024H2.57204C2.83928 9.74024 3.05598 9.52364 3.05598 9.2566V7.80824C3.05598 7.54119 2.83928 7.32472 2.57204 7.32472L1.12262 7.32472C.85538 7.32472 .638672 7.54119 .638672 7.80824Z' fill='url(%23paint0_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.9639 7.80824V9.2566C10.9639 9.52364 11.1806 9.74024 11.4478 9.74024L12.8972 9.74024C13.1645 9.74024 13.3812 9.52364 13.3812 9.2566V7.80824C13.3812 7.54119 13.1645 7.32471 12.8972 7.32471L11.4478 7.32471C11.1806 7.32471 10.9639 7.54119 10.9639 7.80824Z' fill='url(%23paint1_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M21.2891 7.80823V9.2566C21.2891 9.52364 21.5058 9.74024 21.773 9.74024L23.2224 9.74024C23.4897 9.74024 23.7064 9.52364 23.7064 9.2566V7.80823C23.7064 7.54119 23.4897 7.32471 23.2224 7.32471L21.773 7.32471C21.5058 7.32471 21.2891 7.54119 21.2891 7.80823Z' fill='url(%23paint2_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M31.6143 7.80823V9.2566C31.6143 9.52364 31.831 9.74024 32.0982 9.74024H33.5476C33.8149 9.74024 34.0316 9.52364 34.0316 9.2566V7.80823C34.0316 7.54119 33.8149 7.32471 33.5476 7.32471L32.0982 7.32471C31.831 7.32471 31.6143 7.54119 31.6143 7.80823Z' fill='url(%23paint3_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M41.9395 7.80823V9.2566C41.9395 9.52364 42.1562 9.74024 42.4234 9.74024H43.8728C44.1401 9.74024 44.3568 9.52364 44.3568 9.2566V7.80823C44.3568 7.54119 44.1401 7.32471 43.8728 7.32471L42.4234 7.32471C42.1562 7.32471 41.9395 7.54119 41.9395 7.80823Z' fill='url(%23paint4_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M52.5076 7.80823V9.2566C52.5076 9.52364 52.7243 9.74024 52.9916 9.74024H54.441C54.7082 9.74024 54.9249 9.52364 54.9249 9.2566V7.80823C54.9249 7.54119 54.7082 7.32471 54.441 7.32471L52.9916 7.32471C52.7243 7.32471 52.5076 7.54119 52.5076 7.80823Z' fill='url(%23paint5_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M62.8331 7.80823V9.2566C62.8331 9.52364 63.0493 9.74024 63.3165 9.74024H64.7664C65.0332 9.74024 65.2504 9.52364 65.2504 9.2566V7.80823C65.2504 7.54119 65.0332 7.32471 64.7664 7.32471L63.3165 7.32471C63.0493 7.32471 62.8331 7.54119 62.8331 7.80823Z' fill='url(%23paint6_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M73.1583 7.80823V9.2566C73.1583 9.52364 73.3745 9.74024 73.6417 9.74024H75.0916C75.3584 9.74024 75.5756 9.52364 75.5756 9.2566V7.80823C75.5756 7.54119 75.3584 7.32471 75.0916 7.32471L73.6417 7.32471C73.3745 7.32471 73.1583 7.54119 73.1583 7.80823Z' fill='url(%23paint7_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M83.4835 7.80823V9.2566C83.4835 9.52364 83.6997 9.74024 83.9669 9.74024H85.4168C85.6836 9.74024 85.9008 9.52364 85.9008 9.2566V7.80823C85.9008 7.54119 85.6836 7.32471 85.4168 7.32471L83.9669 7.32471C83.6997 7.32471 83.4835 7.54119 83.4835 7.80823Z' fill='url(%23paint8_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M93.8087 7.80823V9.2566C93.8087 9.52364 94.0249 9.74024 94.2921 9.74024H95.742C96.0088 9.74024 96.226 9.52364 96.226 9.2566V7.80823C96.226 7.54119 96.0088 7.32471 95.742 7.32471L94.2921 7.32471C94.0249 7.32471 93.8087 7.54119 93.8087 7.80823Z' fill='url(%23paint9_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M104.134 7.80823V9.2566C104.134 9.52364 104.35 9.74024 104.617 9.74024H106.067C106.334 9.74024 106.551 9.52364 106.551 9.2566V7.80823C106.551 7.54119 106.334 7.32471 106.067 7.32471L104.617 7.32471C104.35 7.32471 104.134 7.54119 104.134 7.80823Z' fill='url(%23paint10_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M114.702 7.80823V9.2566C114.702 9.52364 114.918 9.74024 115.185 9.74024L116.635 9.74024C116.902 9.74024 117.119 9.52364 117.119 9.25659V7.80823C117.119 7.54119 116.902 7.32471 116.635 7.32471L115.185 7.32471C114.918 7.32471 114.702 7.54119 114.702 7.80823Z' fill='url(%23paint11_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M125.027 7.80823V9.25659C125.027 9.52364 125.243 9.74024 125.511 9.74024L126.961 9.74024C127.227 9.74024 127.445 9.52364 127.445 9.25659V7.80823C127.445 7.54119 127.227 7.32471 126.961 7.32471L125.511 7.32471C125.243 7.32471 125.027 7.54119 125.027 7.80823Z' fill='url(%23paint12_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M135.352 7.80823V9.25659C135.352 9.52364 135.569 9.74024 135.836 9.74024H137.286C137.553 9.74024 137.77 9.52364 137.77 9.25659V7.80823C137.77 7.54119 137.553 7.32471 137.286 7.32471L135.836 7.32471C135.569 7.32471 135.352 7.54119 135.352 7.80823Z' fill='url(%23paint13_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M145.678 7.80823V9.25659C145.678 9.52364 145.894 9.74024 146.161 9.74024H147.611C147.878 9.74024 148.095 9.52364 148.095 9.25659V7.80823C148.095 7.54119 147.878 7.32471 147.611 7.32471L146.161 7.32471C145.894 7.32471 145.678 7.54119 145.678 7.80823Z' fill='url(%23paint14_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M156.003 7.80823V9.25659C156.003 9.52364 156.219 9.74024 156.486 9.74024H157.936C158.203 9.74024 158.42 9.52364 158.42 9.25659V7.80823C158.42 7.54119 158.203 7.32471 157.936 7.32471L156.486 7.32471C156.219 7.32471 156.003 7.54119 156.003 7.80823Z' fill='url(%23paint15_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M166.328 7.80823V9.25659C166.328 9.52363 166.544 9.74024 166.811 9.74024H168.261C168.528 9.74024 168.745 9.52363 168.745 9.25659V7.80823C168.745 7.54119 168.528 7.32471 168.261 7.32471L166.811 7.32471C166.544 7.32471 166.328 7.54119 166.328 7.80823Z' fill='url(%23paint16_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M176.896 7.80823V9.25659C176.896 9.52363 177.112 9.74023 177.38 9.74023H178.83C179.096 9.74023 179.313 9.52363 179.313 9.25659V7.80823C179.313 7.54119 179.096 7.32471 178.83 7.32471L177.38 7.32471C177.112 7.32471 176.896 7.54119 176.896 7.80823Z' fill='url(%23paint17_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M187.221 7.80823V9.25659C187.221 9.52363 187.438 9.74023 187.705 9.74023H189.155C189.421 9.74023 189.639 9.52363 189.639 9.25659V7.80823C189.639 7.54119 189.421 7.32471 189.155 7.32471L187.705 7.32471C187.438 7.32471 187.221 7.54119 187.221 7.80823Z' fill='url(%23paint18_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M199.639 7.80824V9.2566C199.639 9.52364 199.855 9.74024 200.123 9.74024H201.572C201.839 9.74024 202.056 9.52364 202.056 9.2566V7.80824C202.056 7.54119 201.839 7.32472 201.572 7.32472L200.123 7.32472C199.855 7.32472 199.639 7.54119 199.639 7.80824Z' fill='url(%23paint19_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M209.964 7.80824V9.2566C209.964 9.52364 210.181 9.74024 210.448 9.74024L211.897 9.74024C212.164 9.74024 212.381 9.52364 212.381 9.2566V7.80824C212.381 7.54119 212.164 7.32471 211.897 7.32471L210.448 7.32471C210.181 7.32471 209.964 7.54119 209.964 7.80824Z' fill='url(%23paint20_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M220.289 7.80823V9.2566C220.289 9.52364 220.506 9.74024 220.773 9.74024L222.222 9.74024C222.49 9.74024 222.706 9.52364 222.706 9.2566V7.80823C222.706 7.54119 222.49 7.32471 222.222 7.32471L220.773 7.32471C220.506 7.32471 220.289 7.54119 220.289 7.80823Z' fill='url(%23paint21_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M230.614 7.80823V9.2566C230.614 9.52364 230.831 9.74024 231.098 9.74024H232.548C232.815 9.74024 233.032 9.52364 233.032 9.2566V7.80823C233.032 7.54119 232.815 7.32471 232.548 7.32471L231.098 7.32471C230.831 7.32471 230.614 7.54119 230.614 7.80823Z' fill='url(%23paint22_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M240.939 7.80823V9.2566C240.939 9.52364 241.156 9.74024 241.423 9.74024H242.873C243.14 9.74024 243.357 9.52364 243.357 9.2566V7.80823C243.357 7.54119 243.14 7.32471 242.873 7.32471L241.423 7.32471C241.156 7.32471 240.939 7.54119 240.939 7.80823Z' fill='url(%23paint23_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M251.508 7.80823V9.2566C251.508 9.52364 251.724 9.74024 251.992 9.74024H253.441C253.708 9.74024 253.925 9.52364 253.925 9.2566V7.80823C253.925 7.54119 253.708 7.32471 253.441 7.32471L251.992 7.32471C251.724 7.32471 251.508 7.54119 251.508 7.80823Z' fill='url(%23paint24_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M261.833 7.80823V9.2566C261.833 9.52364 262.049 9.74024 262.317 9.74024H263.766C264.033 9.74024 264.25 9.52364 264.25 9.2566V7.80823C264.25 7.54119 264.033 7.32471 263.766 7.32471L262.317 7.32471C262.049 7.32471 261.833 7.54119 261.833 7.80823Z' fill='url(%23paint25_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M272.158 7.80823V9.2566C272.158 9.52364 272.374 9.74024 272.642 9.74024H274.092C274.358 9.74024 274.576 9.52364 274.576 9.2566L274.576 7.80823C274.576 7.54119 274.358 7.32471 274.092 7.32471L272.642 7.32471C272.374 7.32471 272.158 7.54119 272.158 7.80823Z' fill='url(%23paint26_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M282.483 7.80823V9.2566C282.483 9.52364 282.7 9.74024 282.967 9.74024H284.417C284.684 9.74024 284.901 9.52364 284.901 9.2566V7.80823C284.901 7.54119 284.684 7.32471 284.417 7.32471L282.967 7.32471C282.7 7.32471 282.483 7.54119 282.483 7.80823Z' fill='url(%23paint27_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M292.809 7.80823L292.809 9.2566C292.809 9.52364 293.025 9.74024 293.292 9.74024H294.742C295.009 9.74024 295.226 9.52364 295.226 9.2566V7.80823C295.226 7.54119 295.009 7.32471 294.742 7.32471L293.292 7.32471C293.025 7.32471 292.809 7.54119 292.809 7.80823Z' fill='url(%23paint28_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M303.134 7.80823L303.134 9.2566C303.134 9.52364 303.35 9.74024 303.617 9.74024H305.067C305.334 9.74024 305.551 9.52364 305.551 9.2566V7.80823C305.551 7.54119 305.334 7.32471 305.067 7.32471L303.617 7.32471C303.35 7.32471 303.134 7.54119 303.134 7.80823Z' fill='url(%23paint29_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M313.702 7.80823L313.702 9.2566C313.702 9.52364 313.918 9.74024 314.185 9.74024L315.635 9.74024C315.902 9.74024 316.119 9.52364 316.119 9.25659V7.80823C316.119 7.54119 315.902 7.32471 315.635 7.32471L314.185 7.32471C313.918 7.32471 313.702 7.54119 313.702 7.80823Z' fill='url(%23paint30_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M324.027 7.80823V9.25659C324.027 9.52364 324.243 9.74024 324.511 9.74024L325.961 9.74024C326.227 9.74024 326.445 9.52364 326.445 9.25659V7.80823C326.445 7.54119 326.227 7.32471 325.961 7.32471L324.511 7.32471C324.243 7.32471 324.027 7.54119 324.027 7.80823Z' fill='url(%23paint31_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M334.352 7.80823V9.25659C334.352 9.52364 334.569 9.74024 334.836 9.74024H336.286C336.553 9.74024 336.77 9.52364 336.77 9.25659L336.77 7.80823C336.77 7.54119 336.553 7.32471 336.286 7.32471L334.836 7.32471C334.569 7.32471 334.352 7.54119 334.352 7.80823Z' fill='url(%23paint32_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M344.678 7.80823V9.25659C344.678 9.52364 344.894 9.74024 345.161 9.74024H346.611C346.878 9.74024 347.095 9.52364 347.095 9.25659L347.095 7.80823C347.095 7.54119 346.878 7.32471 346.611 7.32471L345.161 7.32471C344.894 7.32471 344.678 7.54119 344.678 7.80823Z' fill='url(%23paint33_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M355.003 7.80823V9.25659C355.003 9.52364 355.219 9.74024 355.486 9.74024H356.936C357.203 9.74024 357.42 9.52364 357.42 9.25659L357.42 7.80823C357.42 7.54119 357.203 7.32471 356.936 7.32471L355.486 7.32471C355.219 7.32471 355.003 7.54119 355.003 7.80823Z' fill='url(%23paint34_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M365.328 7.80823V9.25659C365.328 9.52363 365.544 9.74024 365.811 9.74024H367.261C367.528 9.74024 367.745 9.52363 367.745 9.25659V7.80823C367.745 7.54119 367.528 7.32471 367.261 7.32471L365.811 7.32471C365.544 7.32471 365.328 7.54119 365.328 7.80823Z' fill='url(%23paint35_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M375.896 7.80823V9.25659C375.896 9.52363 376.112 9.74023 376.38 9.74023H377.83C378.096 9.74023 378.313 9.52363 378.313 9.25659V7.80823C378.313 7.54119 378.096 7.32471 377.829 7.32471L376.38 7.32471C376.112 7.32471 375.896 7.54119 375.896 7.80823Z' fill='url(%23paint36_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M386.221 7.80823V9.25659C386.221 9.52363 386.438 9.74023 386.705 9.74023H388.155C388.421 9.74023 388.639 9.52363 388.639 9.25659V7.80823C388.639 7.54119 388.421 7.32471 388.155 7.32471L386.705 7.32471C386.438 7.32471 386.221 7.54119 386.221 7.80823Z' fill='url(%23paint37_linear_8295_70635)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint1_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint2_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint3_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint4_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint5_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint6_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint7_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint8_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint9_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint10_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint11_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint12_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint13_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint14_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint15_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint16_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint17_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint18_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint19_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint20_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint21_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint22_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint23_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint24_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint25_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint26_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint27_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint28_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint29_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint30_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint31_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint32_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint33_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint34_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint35_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint36_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint37_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A\")}.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:first-child{position:relative;z-index:3}.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child{position:absolute;height:100%;width:100%;top:0;left:-24px}.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child::before{content:\"\";display:block;z-index:1;position:absolute;top:-64px;left:0;width:150%;height:calc(100% + 160px);background-color:rgb(32 44 53 / .9)}.sc-body__content .heading-3-v2,.sc-hero__headline .heading-1-v2{text-transform:none}.sc-body__content span.snowflake-image-caption{display:block!important;font-style:italic}.sc-body__content .snowflake-text p+ul{margin-top:24px!important;padding-left:16px!important}.white-blue-text-color .snowflake-title-v2.solution-center-hero__certification .snowflake-typographyv2\u003Espan.snowflake-title-v2-line{color:#e9eaeb!important;font-size:16px}.white-blue-text-color .snowflake-title-v2.solution-center-hero__certification.is-large .snowflake-typographyv2\u003Espan.snowflake-title-v2-line{color:#fff!important;font-size:18px}.solution-center-hero__certification\u003E.snowflake-title-v2-line\u003Espan:first-child{display:flex;justify-content:flex-start;align-items:center;gap:8px}.solution-center-hero__certification\u003E.snowflake-title-v2-line\u003Espan:first-child::before{content:\"\";display:inline-block;width:16px;height:16px;background-image:url(\"data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0C3.58146 0 0 3.58146 0 8C0 12.4185 3.58146 16 8 16C12.4185 16 16 12.4185 16 8C16 3.58146 12.4185 0 8 0ZM12.7184 5.91984L7.33471 11.3026C7.31293 11.3244 7.31293 11.3454 7.29198 11.3454L7.20653 11.4308C6.94933 11.688 6.54132 11.7525 6.21962 11.6235C6.11238 11.5808 6.00514 11.5163 5.9197 11.4308L5.83425 11.3454C5.83425 11.3454 5.83425 11.3236 5.81246 11.3236L3.28149 8.79347C2.93799 8.44997 2.93799 7.87107 3.28149 7.50664L3.36694 7.42119C3.71044 7.07769 4.28934 7.07769 4.65377 7.42119L6.58401 9.35143L11.3877 4.5477C11.7312 4.2042 12.3101 4.2042 12.6746 4.5477L12.76 4.63315C13.0826 4.99758 13.0828 5.55541 12.7184 5.91984Z' fill='%230E8A16'/%3E%3C/svg%3E%0A\");background-size:contain;background-repeat:no-repeat;background-color:#fff;border-radius:100%}.sc-hero__byline{padding-top:8px}.sc-hero__byline p{color:#e2e2e2;margin-top:0!important}.sc-hero pre[class*=language-]{overflow:visible}.snowflake-code-snippet,.snowflake-code-snippet code,.snowflake-code-snippet pre{font-size:16px}.sc-hero__code-snippet:not(pre)\u003Ecode[class*=language-],.sc-hero__code-snippet pre[class*=language-]{background:0 0}.sc-hero__code-snippet{opacity:.8;background-color:transparent!important;position:absolute;top:0;right:0;width:100%;animation:240s linear 1s forwards slow-scroll}.sc-hero__button-container .snowflake-flexible-column-container-items{padding:0 0 24px;margin-top:-8px;margin-left:24px}.sc-sidebar__partner-logo{width:100%;max-width:140px;margin-top:8px}.sc-sidebar__partner-logo .cmp-image__image{border-radius:0}.sc-tag-cluster.snowflake-text ul{list-style-type:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:0}.sc-tag-cluster.snowflake-text li{color:#373f41;border-radius:4px;display:inline-block;padding:6px;text-transform:uppercase;letter-spacing:1px;font-size:12px!important;line-height:12px!important;margin:0!important;background-color:#f3f3f3}.sc-body .share-icon svg{height:24px;cursor:pointer}.sc-body .share-icon svg:hover path{fill:var(--ui-02)}.sc-overview__webinar-promo-banner{align-items:center;border:1px solid #ccc;padding:var(--spacing-02)}.sc-overview__webinar-promo-banner .snowflake-content-chip-image{max-width:32px;margin-right:var(--spacing-02);line-height:0}.sc-overview__webinar-promo-banner .snowflake-content-chip-image__image,.summit-speaker-card .snowflake-card-v2-advanced-image__image{aspect-ratio:1}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .heading-5-v2{font-size:14px;font-family:Lato,sans-serif}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .snowflake-title-v2-line:not(:first-child){font-weight:400}.sc-overview__webinar-promo-banner .snowflake-content-chip-button .snowflake-button-container{font-size:14px!important}.diagram-group__button{position:absolute;bottom:24px;right:24px;background-color:#212c35!important}.section--mountains-bottom,.summit-hp-hero{position:relative}.sc-cert-banner{background-color:#212d35;border-radius:8px;padding:24px;overflow:hidden}.sc-cert-banner\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;align-items:center}:root{--text-secondary:#706f6f;--summit-bg-ltblue:#eaf8fd;--summit-bg-blue:#249edc;--summit-border:#d2d1d4;--summit-border-radius:8px;--summit-card-padding:32px;--summit-card-padding-sm:28px}.section--mountains-bottom::after,.section--mountains-bottom::before{content:\"\";display:block;position:absolute;bottom:-1px;max-width:400px;background-size:100% auto;height:100%;width:30%;line-height:0;background-repeat:no-repeat}.button-group\u003E.container\u003E.cmp-container\u003E.aem-container{justify-content:center;align-items:center}.button-group\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto!important;margin:0 8px!important}.button-group .snowflake-button-container{font-family:Texta,sans-serif}.section--summit-bg-ltblue{background-color:var(--summit-bg-ltblue)}.section--summit-bg-blue,.summit-hero-secondary{background-color:var(--summit-bg-blue)}.section--mountains-bottom::before{left:0;background-image:url(\"data:image/svg+xml,%3Csvg width='402' height='309' viewBox='0 0 402 309' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M401.523 308.761H0V0L181.63 182.431L228.479 135.531L401.523 308.761Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\");background-position:bottom left}.section--mountains-bottom::after{right:0;background-image:url(\"data:image/svg+xml,%3Csvg width='402' height='309' viewBox='0 0 402 309' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 308.761H401.523V0L219.893 182.431L173.044 135.531L0 308.761Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\");background-position:bottom right}.summit-hp-hero{overflow:hidden}.summit-hero__bg-video{position:absolute;top:50%;left:50%;width:120%;height:100%;opacity:.3;transform:translate(-50%,-50%)}.summit-hero__bg-svg,.summit-prefooter__bg-image,.summit-secondary-hero__bg-image{position:absolute;bottom:0;left:0;width:100%}.summit-hp-promo-banner__headline .heading-4-v2{font-weight:900}.summit-hero-secondary .hero-lottie__left{position:absolute;bottom:0;left:0;width:30%;line-height:0}.summit-timeline__card::after,.summit-timeline__card::before{bottom:0;left:50%;position:absolute;display:block;background-color:var(--ui-01);content:\"\"}.summit-hero-secondary .snowflake-text p{font-size:24px!important;line-height:32px!important;max-width:720px;margin:0 auto}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;justify-content:center}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto!important;max-width:25%}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:last-child){border-right:1px solid #fff}.summit-timeline__card{border:1px solid var(--summit-border);border-radius:var(--summit-border-radius);padding:var(--summit-card-padding);position:relative;background-color:#fff}.summit-timeline__card::before{width:20px;height:20px;border-radius:100%;transform:translate(-50%,50%)}.summit-timeline__card::after{width:3px;height:50px;transform:translate(-50%,100%)}.summit-timeline-card__icon{width:48px;height:48px}.summit-timeline-card__headline .heading-3-v2{font-size:32px}.faq-group{border:1px solid var(--ui-12);border-radius:4px;background-color:#fff}.faq-group__question{padding:24px}.faq-group__question:hover{color:var(--ui-01);cursor:pointer}.faq-group__question .heading-4-v2,.faq-group__question .heading-5-v2{position:relative;padding-right:64px}.faq-group__question .heading-4-v2::after,.faq-group__question .heading-5-v2::after{content:\"\";display:block;width:32px;height:32px;background-image:url(\"data:image/svg+xml,%3Csvg width='29' height='16' viewBox='0 0 29 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M14.16 14.6807C14.2537 14.7957 14.3719 14.8884 14.506 14.952C14.64 15.0157 14.7866 15.0487 14.935 15.0487C15.0834 15.0487 15.2299 15.0157 15.3639 14.952C15.498 14.8884 15.6162 14.7957 15.71 14.6807V14.6807L28.51 2.00068C29.07 1.43068 29.07 .92068 28.51 .44068C27.95 -.0393204 27.43 -.11932 26.96 .44068L14.94 12.0007L2.99996 .45068C2.90725 .322624 2.7855 .218374 2.6447 .146483C2.50389 .0745926 2.34805 .0371094 2.18996 .0371094C2.03187 .0371094 1.87603 .0745926 1.73522 .146483C1.59442 .218374 1.47267 .322624 1.37996 .45068C.819961 .93068 .819961 1.45068 1.37996 2.01068L14.16 14.6807Z' fill='black'/%3E%3C/svg%3E%0A\");background-size:80% auto;background-repeat:no-repeat;background-position:center;position:absolute;top:-2px;right:0;transition:.3s 150ms}.faq-group__question .heading-5-v2::after{top:-4px}.faq-group__answer{max-height:0;overflow:hidden;width:95%;padding:0 24px;transition:.5s}.faq-group__answer\u003Espan{display:block;padding-bottom:24px}.is-open .faq-group__answer{max-height:600px;transition:1s}.is-open .faq-group__question .heading-4-v2::after,.is-open .faq-group__question .heading-5-v2::after{transform:rotate(180deg);transition:.3s}.summit-agenda{box-shadow:2px 4px 10px 0 rgb(156 156 156 / .52);border-radius:8px;background-color:#fff;max-width:980px;margin-left:auto;margin-right:auto;padding:40px;width:90%}.agenda-item{border-radius:8px;background-color:#d4f0fa;padding:16px;border-left:4px solid var(--ui-01);position:relative}.summit-pricing-block__tile.is-past,.summit-pricing-block__tile.is-upcoming{pointer-events:none;border-color:#d2d1d4}p.agenda-item__time{width:25%;font-family:Texta!important;font-size:32px!important;font-weight:900!important;text-transform:uppercase!important;max-width:140px}@media screen and (max-width:991px){#partnerResources .section--resource-hub .snowflake-button-link .snowflake-button-container{font-size:14px!important;line-height:20px!important;margin-top:4px}#industryPartnerSlider\u003E.snowflake-flexible-column-container-items{display:flex;flex-direction:column}#industryPartnerSlider\u003E.snowflake-flexible-column-container-items\u003Ediv{width:100%}.sc-cert-banner__left{text-align:center}.sc-cert-banner__left .solution-center-hero__certification .snowflake-title-v2-line{justify-content:center}.summit-hero__bg-video{width:200%}.summit-leadership-grid .snowflake-flexible-column-container-items{grid-template-columns:repeat(2,1fr)}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:50%!important;max-width:50%!important}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:last-child){border-right:none!important}.summit-agenda{padding:24px}p.agenda-item__time{font-size:24px!important;width:auto;white-space:nowrap;padding-right:24px}}.agenda-item\u003Espan{display:flex;align-items:center}.summit-add-on-block,.summit-pricing-block{border:1px solid #d2d1d4;border-radius:8px;overflow:hidden;box-shadow:2px 4px 10px 0 rgb(156 156 156 / .52);background-color:#fff}.summit-add-on-block__content,.summit-pricing-block__content{padding:0 20px 20px}.summit-pricing-block__tile{padding:24px 20px;border-radius:4px;background:#fff;border:1px solid var(--ui-01);position:relative;transition:background-color .3s}.summit-pricing-block__tile:hover{background-color:var(--ui-01);transition:background-color .3s}.summit-pricing-block__tile.is-past{background-color:#d4f0fa}.summit-pricing-block__tile:hover .black-blue-text-color .snowflake-title-v2-line{color:#fff!important;transition:color .3s}.partner-card__logo-grid\u003E.container\u003E.cmp-container\u003E.aem-container::after,.partner-card__logo-grid\u003E.container\u003E.cmp-container\u003E.aem-container::before,.summit-add-on-block__content\u003E.container\u003E.cmp-container\u003E.aem-container::after,.summit-add-on-block__content\u003E.container\u003E.cmp-container\u003E.aem-container::before,.summit-pricing-block__tile.is-past .snowflake-content-chip-button,.summit-pricing-block__tile.is-upcoming .snowflake-content-chip-button,.summit-speaker-card .snowflake-card-v2-advanced-tag-indicator{display:none}.summit-pricing-block__tile.is-past .black-blue-text-color .snowflake-title-v2-line{color:#7cc7eb!important}.summit-pricing-block__tile.is-upcoming .black-blue-text-color .snowflake-title-v2-line{color:#8c8c8c!important}.summit-pricing-block__aside{background-color:#d4f0fa;border:1px solid #d2d1d4;border-radius:8px;padding:24px;width:100%}.summit-pricing-block__aside li::marker{color:var(--ui-01)}.summit-pricing-block__aside-headline .heading-5-v2{font-weight:900;margin-bottom:12px}.summit-pricing-block__header{background:#000;padding:24px 40px}.summit-pricing-block__header .heading-4-v2{font-weight:900;letter-spacing:.5px}.bwwidth100,.snowflake-mega-nav-dropdown-footer-content,.summit-pricing-block__tile .black-blue-text-color{width:100%}.summit-pricing-block__tile .heading-5-v2{position:static}.summit-pricing-block__tile .heading-5-v2 span.snowflake-title-v2-line:first-child{text-transform:uppercase;font-weight:900!important;letter-spacing:.25px;font-size:24px!important}.summit-pricing-block__tile .heading-5-v2 span.snowflake-title-v2-line:nth-child(2){margin-top:8px;font-family:Lato,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:16px}.summit-pricing-block__tile .heading-5-v2 span.snowflake-title-v2-line:last-child{font-weight:900!important;font-size:40px!important}.snowflake-mega-nav-nav-item\u003Ea:hover .snowflake-mega-nav-nav-item-title-wrapper\u003E.snowflake-mega-nav-nav-item-title,.summit-pricing-block__tile:not(.is-upcoming):not(.is-past) .heading-5-v2 span.snowflake-title-v2-line:last-child{color:var(--ui-01)!important}.summit-pricing-block__tile:hover:not(.is-upcoming):not(.is-past) .heading-5-v2 span.snowflake-title-v2-line:last-child{color:#fff!important}.summit-pricing-block__tile.is-past .heading-5-v2 span.snowflake-title-v2-line:last-child{text-decoration:line-through}.summit-pricing-block__tile .snowflake-content-chip-button{margin-top:0;white-space:nowrap;display:none}.snowflake-card-v2-advanced.no-link{pointer-events:none!important}.snowpro-card{border:1px solid var(--summit-border);border-radius:var(--summit-border-radius);padding:var(--summit-card-padding-sm);display:flex;height:100%}.snowpro-card__headline{margin:24px 0 12px}.snowpro-card__pricing{margin-top:48px}.snowpro-card .snowflake-text .snowpro-card__price{color:var(--ui-01);font-weight:900;font-size:40px!important;font-family:Texta,sans-serif}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;flex-wrap:wrap}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:last-child){border-right:1px solid var(--summit-border)}.summit-stat-card{padding:0 40px}.summit-stat .heading-2-v2 .snowflake-title-v2-line:first-child{font-size:64px;line-height:52px;margin-bottom:8px}.summit-stat .heading-2-v2 .snowflake-title-v2-line:last-child{font-size:32px;line-height:30px;margin-bottom:16px}.summit-speaker-card .snowflake-card-v2-advanced-title{margin-bottom:var(--spacing-01)}.summit-add-on-card{padding:24px;border:1px solid #d2d1d4;border-radius:8px}.summit-add-on__subhead{padding-left:40px;padding-right:40px}.partner-card__logo-grid,.partner-card__logo-single{padding:40px}.partner-card__logo-grid .snowflake-image-container .cmp-image__image,.partner-card__logo-single .snowflake-image-container .cmp-image__image{border-radius:0;max-width:240px;margin:0 auto}.partner-card\u003E.container,.partner-card\u003E.container\u003E.aem-container,.partner-card\u003E.container\u003E.cmp-container{height:100%}.summit-add-on-block__content\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;gap:24px;align-items:stretch}.partner-card__logo-grid\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:40px 24px;justify-content:center;align-items:center}.partner-card__logo-grid\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(33.3333% - 24px);margin:0!important}.partner-card{border-radius:8px;border:1px solid #d2d1d4;overflow:hidden;height:100%;background-color:#fff}.partner-card__header{padding:16px 24px;border-bottom:1px solid #d2d1d4}.partner-card__header.is-purple{background-color:#7d44cf}.partner-card__header h4{display:flex;flex-direction:row!important;align-items:center;gap:12px}.partner-card__header h4::before{vertical-align:middle;content:\"\";display:inline-block;width:20px;height:20px;background-size:contain;background-repeat:no-repeat;background-image:url(\"data:image/svg+xml,%3Csvg width='21' height='23' viewBox='0 0 21 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20.0375 12.8374C20.1644 12.439 20.2172 12.0289 20.2077 11.6237C20.193 11.3305 20.1548 11.0373 20.0712 10.7441C19.8196 9.83306 19.223 9.01989 18.3294 8.50724L5.61817 1.2017C3.82388 .173815 1.53618 .784335 .506483 2.56804C-.533615 4.34915 .0797871 6.62351 1.87408 7.65398L8.97715 11.7427L1.87408 15.8201C.0797871 16.8527 -.531016 19.1271 .506483 20.9156C1.53618 22.6941 3.82388 23.302 5.61817 22.2746L18.3294 14.9643C19.1871 14.4728 19.7693 13.7027 20.0375 12.8374Z' fill='black'/%3E%3C/svg%3E%0A\")}.partner-card__header.is-purple h4::before{background-image:url(\"data:image/svg+xml,%3Csvg width='21' height='23' viewBox='0 0 21 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20.0375 12.8374C20.1644 12.439 20.2172 12.0289 20.2077 11.6237C20.193 11.3305 20.1548 11.0373 20.0712 10.7441C19.8196 9.83306 19.223 9.01989 18.3294 8.50724L5.61817 1.2017C3.82388 .173815 1.53618 .784335 .506483 2.56804C-.533615 4.34915 .0797871 6.62351 1.87408 7.65398L8.97715 11.7427L1.87408 15.8201C.0797871 16.8527 -.531016 19.1271 .506483 20.9156C1.53618 22.6941 3.82388 23.302 5.61817 22.2746L18.3294 14.9643C19.1871 14.4728 19.7693 13.7027 20.0375 12.8374Z' fill='white'/%3E%3C/svg%3E%0A\")}.sf-blue-mountains{background-size:90% auto;background-repeat:no-repeat;background-position:center bottom;background-image:url(\"data:image/svg+xml,%3Csvg width='1361' height='410' viewBox='0 0 1361 410' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1360.25 410L1065.53 114.309L976.256 203.875L773.049 0L364.393 410H1360.25Z' fill='%233AA8DF'/%3E%3Cpath d='M274.778 410L137.467 272.238L.15625 410H274.778Z' fill='%233AA8DF'/%3E%3C/svg%3E%0A\")}.bwalignr,.main-pr-body .bwalignr{text-align:right}.bwblockalignl{margin-left:0;margin-right:auto}.bwcellpmargin{margin-top:0;margin-bottom:0}.bwlistdisc{list-style-type:disc}.bwpadb3{padding-bottom:4px}.bwpadb4{padding-bottom:5px}.bwpadl0{padding-left:0}.bwpadl3{padding-left:15px}.bwpadl6{padding-left:30px}.bwpadl9{padding-left:45px}.bwpadl12{padding-left:60px}.bwpadr0{padding-right:0}.bwtablemarginb{margin-bottom:10px}.bwvertalignb{vertical-align:bottom}.bwvertalignt{vertical-align:top}.bwsinglebottom{border-bottom:1pt solid #000}.bwdoublebottom{border-bottom:2.25pt double #000}.bwwidth1{width:1%}.bwwidth2{width:2%}.bwwidth6{width:6%}.bwwidth7{width:7%}.bwwidth8{width:8%}.bwwidth10{width:10%}.bwwidth12{width:12%}.bwwidth32{width:32%}.bwwidth44{width:44%}.bwwidth72{width:72%}.bwwidth97{width:97%}.main-pr-body{font-size:18px;line-height:26px}.main-pr-body img{display:block;width:100%;height:auto!important;border-radius:var(--small-border-radius)}.main-pr-body table{width:100%;display:block}.main-pr-body tbody{background-color:#f7f7f7}.main-pr-body .bwsinglebottom{border-bottom:1pt solid #000!important}.main-pr-body td.bwwidth44{padding-right:40px}.main-pr-body .bw-release-story{font-family:Lato,sans-serif}.main-pr-body .bw-release-story sup,.snowflake-mega-nav-dropdown-header-content-right a{white-space:nowrap}.main-pr-body .bw-release-story\u003E*,.main-pr-body\u003Espan\u003E*{margin-bottom:2rem!important}.snowflake-text.main-pr-body tbody,.snowflake-text.main-pr-body tbody p{font-size:14px!important;line-height:20px!important;width:100%;display:block}.press-body .snowflake-flexible-column-container-items{gap:var(--spacing-08)}.about-snowflake{border:1px solid #ccc;background-color:var(--ui-background-05);padding:24px;border-radius:8px;margin-top:0}.about-snowflake__logo{max-width:140px;margin-top:16px}.hero--press .snowflake-hero-system-inner{max-width:1408px;margin:0 auto!important}#arcticNavItem{flex-direction:column}#arcticNavItem::before{content:\"Featured Open Source Technologies\";display:block;margin-top:48px;margin-bottom:24px;font-size:16px!important;line-height:16px!important;font-weight:800!important;text-transform:uppercase}@media screen and (min-width:768px){.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child{position:relative;height:100%;top:auto;left:auto;width:auto}.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child::before{background:linear-gradient(180deg,#202c35 -7.5%,#fff0 51.25%,#202c35 107.69%)}.sc-hero__byline\u003Espan{display:flex;flex-wrap:wrap}.sc-hero__byline p:not(:last-child)::after{content:\"|\";margin:0 12px;opacity:.5}.sc-hero__button-container .snowflake-flexible-column-container-items{position:absolute;bottom:0;padding:0;margin:0 24px 0 0}.sc-hero__button-container .hero-watch-the-demo{padding:12px 16px!important;float:right;margin-bottom:48px;background-color:rgb(35 45 54 / .8)}.summit-overview-stat{padding:0 40px}.summit-timeline{border-bottom:3px solid var(--ui-01);margin-bottom:64px}.summit-add-on-block__content,.summit-pricing-block__content{padding:0 40px 40px}#arcticNavItem::before{font-size:12px!important;margin-bottom:8px;margin-top:16px}.snowflake-mega-nav-nav-item-title-wrapper\u003E.snowflake-mega-nav-nav-item-title{line-height:20px!important}.snowflake-card .heading-2.snowflake-title-line{font-size:24px!important;line-height:28px!important}}@media screen and (min-width:992px){.hp-hero__eyebrow a{gap:12px;margin-left:0;margin-right:0}.hp-hero__eyebrow a::after{content:\"\";background-image:url(\"data:image/svg+xml,%3Csvg width='6' height='11' viewBox='0 0 6 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.49134 5.79438C5.53447 5.75922 5.56923 5.71489 5.5931 5.66463C5.61697 5.61436 5.62935 5.55941 5.62935 5.50376C5.62935 5.44811 5.61697 5.39316 5.5931 5.34289C5.56923 5.29263 5.53447 5.2483 5.49134 5.21314L.736339 .413136C.522589 .203135 .331339 .203135 .151339 .413136C-.0286612 .623135 -.0586612 .818135 .151339 .994386L4.48634 5.50188L.155089 9.97938C.107068 10.0142 .0679743 10.0598 .0410153 10.1126C.0140562 10.1654 0 10.2238 0 10.2831C0 10.3424 .0140562 10.4009 .0410153 10.4537C.0679743 10.5065 .107068 10.5521 .155089 10.5869C.335089 10.7969 .530089 10.7969 .740089 10.5869L5.49134 5.79438Z' fill='black'/%3E%3C/svg%3E%0A\");display:inline-block;width:12px;height:12px;background-repeat:no-repeat;background-size:auto 100%;background-position:left center}.promo-banner--homepage{padding-top:32px}.homepage-banner-offset-container::after{height:50%}#storyHighlights{padding:2rem}.body-display-v2.snowflake-quote-item-quote-text{line-height:28px!important}.snowflake-hero-system-headline .heading-1-v2{line-height:48px;font-size:54px!important}.sc-overview__webinar-promo-banner .snowflake-content-chip-content{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .heading-5-v2{flex-direction:row}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .snowflake-title-v2-line:not(:first-child)::before{content:\"|\";margin:0 6px}.sc-cert-banner{padding:40px}.sc-cert-banner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{margin:0!important;width:50%}.sc-cert-banner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{flex-grow:1;padding-right:24px}.sc-cert-banner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:last-child{max-width:240px}.summit-pricing-block__content\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:last-child{width:70%;padding-left:40px}.summit-pricing-block__content\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{width:30%}.summit-add-on-block__content\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(33.3333% - 24px);margin:0!important;display:flex}.summit-pricing-block__tile .snowflake-content-chip-content{display:flex;flex-direction:row;align-items:center;width:calc(100% - 200px)}.summit-pricing-block__tile .heading-5-v2 span.snowflake-title-v2-line:last-child{position:absolute;top:50%;transform:translate(0,-50%);right:40px}.press-body\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child{position:sticky;top:120px}.snowflake-mega-nav-navigation-title:hover{color:var(--ui-01)}}@media screen and (min-width:1024px){.about-snowflake{padding:28px}.about-snowflake__logo{max-width:none;padding:0 0 0 48px;margin-bottom:0}.hero--press .snowflake-hero-system-layout-70-30 .snowflake-hero-system-content-container{width:85%}.snowflake-hero-system{padding-bottom:var(--spacing-04);padding-top:var(--spacing-07)}.hero--press .display-2-v2{font-size:64px;line-height:56px}.about-snowflake\u003E.container\u003E.cmp-container\u003E.aem-container{flex-direction:row;flex-wrap:nowrap;align-items:center}.about-snowflake\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:last-child{max-width:280px}.about-snowflake\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{flex-grow:1;margin-bottom:0!important}#polarisNavItem{margin-top:40px}.snowflake-mega-nav-nav-item-description{line-height:18px!important}.snowflake-mega-nav-column-items{gap:var(--spacing-01);grid-gap:var(--spacing-01)}.snowflake-mega-nav-navigation-title{text-transform:none}}div[id*=blueIcon] .snowflake-mega-nav-nav-item-icon__inner{background:var(--ui-01);padding:8px}div[id*=blueIcon]:hover .snowflake-mega-nav-nav-item-icon__inner{background:var(--ui-01)!important}.snowflake-mega-nav-nav-item-icon__inner{border-radius:4px;background:var(--ui-background-05);padding:6px}.snowflake-mega-nav-nav-item:hover .snowflake-mega-nav-nav-item-icon__inner{background:#fff!important}.snowflake-mega-nav-nav-item-icon.snowflake-image-container{height:40px;width:40px}.snowflake-mega-nav-dropdown-footer-links\u003E.snowflake-button-link\u003E.snowflake-button-container{font-size:16px!important;font-family:Texta!important;font-weight:800!important}.snowflake-mega-nav-dropdown-footer-icon.snowflake-image-container{margin-right:8px;width:40px!important;height:40px!important}#viewAllCapabilities a:hover{background:0 0!important}#platformFooter .snowflake-title-v2 .snowflake-title-v2-line:last-child{font-family:Lato;font-size:14px;font-weight:500}#platformFooter .snowflake-mega-nav-dropdown-footer-links{flex-grow:1;justify-content:flex-end;align-items:center}#platformFooter .snowflake-mega-nav-dropdown-footer-content{flex-direction:row}#offset,#open-source{flex-direction:column;border-top:1px solid #ccc}#offset::before,#open-source::before{content:\" \";display:block;width:100%;font-weight:800!important;font-size:12px!important;line-height:14px;text-transform:uppercase;white-space:nowrap;margin-top:16px;margin-bottom:8px}#open-source::before{content:\"Open Source Technologies\"}.snowflake-mega-nav-dropdown-menu-close-button{margin:var(--spacing-04) 0 var(--spacing-03)}.snowflake-mega-nav-column{gap:var(--spacing-02)!important}.snowflake-mega-nav-nav-item\u003Ea{width:100%;margin-left:-8px;padding:8px;border-radius:4px}.snowflake-mega-nav-nav-item\u003Ea:hover{background-color:var(--ui-background-05)}.snowflake-mega-nav-nav-item-description{margin-top:2px;display:block}#promobanner_overflowBottomDarkBlue::before{content:'';display:block;position:absolute;bottom:0;left:0;width:100%;height:50%;background:#212d35}#promobanner_overflowTopDarkBlue::before{content:'';display:block;position:absolute;top:0;left:0;width:100%;height:50%;background:#212d35}.overview-card\u003Ediv{box-shadow:0 0 14px 0 rgba(0,0,0,.10);background-color:#fff;border-radius:16px;overflow:hidden}.overview-card-text{padding:40px}.overview-card-image img{border-radius:0 !important}.overview-card-text h3,.overview-card-text .heading-3-v2{font-size:18px;line-height:1.1;margin-top:0}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"},"mega_header":{"additionalClasses":"heap-nav-header","layout":"SIMPLE","id":"container-ff6916f829",":type":"snowflake-site/components/mega-header",":items":{"nav_mega":{"activeItem":"item_1719963657751_c_663444255","id":"tabs-0ef0e3c369",":type":"snowflake-site/components/nav/nav-mega",":items":{"item_1719963657751_c_663444255":{"id":"nav-dropdown-menu-d8104b1c6e","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-22c1ffad22",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column":{"additionalClasses":"nav-platform-sidebar","numberOfSubColumns":"one-column","minWidth":"230","maxWidth":"350","layout":"SIMPLE","id":"container-f10c2472ec",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_copy_2_793631646":{"id":"nav-item-797d1dce6d","additionalClasses":"nav-item__platform-parent is-platform","linkDescription":"Develop AI products, apps and more on a fully managed platform that securely connects businesses globally — across any type or scale of data.","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/platform/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"The Snowflake Platform"},":type":"snowflake-site/components/nav/nav-item"},"nav_item":{"id":"nav-item-1885af33cd","additionalClasses":"nav-item nav-item--si is-si","linkDescription":"All your knowledge. One trusted enterprise agent.","flag":"NOW GA","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/snowflake-cowork/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Snowflake CoWork"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy_2_836345186":{"id":"nav-item-76ffef7cf2","additionalClasses":"blue-icon is-analytics","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/analytics/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Analytics"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy_2":{"id":"nav-item-69ca133459","additionalClasses":"blue-icon is-ai","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/ai/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"AI"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy_2_1314771042":{"id":"nav-item-d1b71253db","additionalClasses":"blue-icon is-data-eng","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/data-engineering/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Data Engineering"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_144634":{"id":"nav-item-7501d8455d","additionalClasses":"blue-icon is-apps-collab","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/applications-and-collaboration/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Applications & Collaboration"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_144634_2013333117":{"id":"nav-item-651ffb749e","additionalClasses":"blue-icon is-transactions","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/transactions/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Transactions"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_copy_2_793631646","nav_item","nav_item_copy_copy_2_836345186","nav_item_copy_copy_2","nav_item_copy_copy_2_1314771042","nav_item_copy_144634","nav_item_copy_144634_2013333117"]},"nav_column_copy_copy":{"additionalClasses":"meganav-platform-features","navColumnTitle":"Featured Capabilities","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-52c9e6e282",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_212715":{"id":"nav-item-ccfb774c5c","additionalClasses":"is-cortex-code","linkDescription":"Snowflake-native AI coding agent ","flag":"New","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/snowflake-coco/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Snowflake CoCo"},":type":"snowflake-site/components/nav/nav-item"},"nav_item":{"id":"nav-item-c7725aab54","additionalClasses":"is-cortex-ai","linkDescription":"Instant access to industry-leading LLMs","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/cortex/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Cortex AI"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590635":{"id":"nav-item-43cbd0d4bb","additionalClasses":"is-marketplace","linkDescription":"Third-party data sources connected within minutes","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/marketplace/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Marketplace"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590":{"id":"nav-item-1ea591d248","additionalClasses":"is-snowpark","linkDescription":"Libraries and code execution environments that run Python and more","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/snowpark/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Snowpark"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590_983061516":{"id":"nav-item-a4cf48c158","additionalClasses":"is-streamlit","linkDescription":"Framework for transforming Python scripts into web apps","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/streamlit-in-snowflake/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Streamlit"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_212715","nav_item","nav_item_copy_660590635","nav_item_copy_660590","nav_item_copy_660590_983061516"]},"nav_column_692142673":{"navColumnTitle":" ","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-8753cbdff1",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_660590_1739526127":{"id":"nav-item-e4ef64c7fd","additionalClasses":"is-postgres","linkDescription":"Fully compatible open source Postgres running on Snowflake","flag":"Now GA","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/postgres/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Postgres"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_185565":{"id":"nav-item-0e3522c39f","additionalClasses":"is-dcr","linkDescription":"Streamlined model development and MLOps from a centralized UI","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/end-to-end-ml-workflows/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Snowflake ML"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_212715":{"id":"nav-item-2e16fff663","additionalClasses":"is-openflow","linkDescription":"Effortless data movement for integrations","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/openflow/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Openflow"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590":{"id":"nav-item-a018ba42b3","additionalClasses":"is-notebooks","linkDescription":"Interactive dev environment for data and AI teams","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/notebooks/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Notebooks"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_258535199":{"id":"nav-item-78e6d64cda","propertiesId":"workload-nav-1","additionalClasses":"is-native-apps","linkDescription":"End-to-end, Snowflake-native app creation and distribution","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/native-apps/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Native Apps"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_660590_1739526127","nav_item_copy_185565","nav_item_copy_212715","nav_item_copy_660590","nav_item_258535199"]},"nav_column_782221091":{"navColumnTitle":" ","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-2b6feb444b",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy":{"id":"nav-item-40b958a87f","additionalClasses":"is-light-gray-icon is-horizon-catalog","linkDescription":"Universal AI catalog","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/horizon/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Horizon Catalog"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590_1293798742":{"id":"nav-item-71346d5edf","additionalClasses":"is-snowflake-ml","linkDescription":"Governed context layer that keeps AI, BI and data apps working from one truth","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/horizon-context/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Horizon Context"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_511717659_c":{"id":"nav-item-03351d0ed8","additionalClasses":"is-unistore","linkDescription":"Unify transactional and analytical workloads in Snowflake for enhanced simplicity","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/unistore/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Unistore"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_511717659_c_1443811525":{"id":"nav-item-143a6432c9","additionalClasses":"is-observe","linkDescription":"AI-powered observability for faster production troubleshooting","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/observe/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Observe"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_511717659_c_1006104884":{"id":"nav-item-56ee672a50","additionalClasses":"is-observe","linkDescription":"Use any engine on a single governed data copy","flag":"Now GA","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/use-cases/interoperable-lakehouse/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Interoperable Lakehouse"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy","nav_item_copy_660590_1293798742","nav_item_511717659_c","nav_item_511717659_c_1443811525","nav_item_511717659_c_1006104884"]}},":itemsOrder":["nav_column","nav_column_copy_copy","nav_column_692142673","nav_column_782221091"]},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Product"},"nav_dropdown_menu_2":{"id":"nav-dropdown-menu-5668e7b77f","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-b77347be57",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column":{"navColumnTitle":"INDUSTRIES","numberOfSubColumns":"one-column","minWidth":"280","layout":"SIMPLE","id":"container-c9a69475c3",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_361384_2056203141":{"id":"nav-item-bcb1a7a756","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"All Industries"},":type":"snowflake-site/components/nav/nav-item"},"nav_item":{"id":"nav-item-e45f27607e","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/advertising-media-entertainment/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Advertising, Media & Entertainment"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-d09c0c184f","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/financial-services/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Financial Services"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1970515619":{"id":"nav-item-9805391796","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/healthcare-and-life-sciences/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Healthcare & Life Sciences"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1533429516":{"id":"nav-item-dd7a0a5baa","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/manufacturing/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Manufacturing"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1444458226":{"id":"nav-item-775f217c14","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/public-sector/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Public Sector"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1149488919":{"id":"nav-item-eb7245f958","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/retail-consumer-goods/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Retail & Consumer Goods"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_57417040":{"id":"nav-item-9942b10592","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/technology/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Technology"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_361384674":{"id":"nav-item-bcf1443370","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/telecom/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Telecom"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_361384":{"id":"nav-item-c06f9b09d3","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/travel-hospitality/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Travel & Hospitality"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_361384_2056203141","nav_item","nav_item_copy","nav_item_copy_1970515619","nav_item_copy_1533429516","nav_item_copy_1444458226","nav_item_copy_1149488919","nav_item_copy_57417040","nav_item_copy_361384674","nav_item_copy_361384"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small"},"nav_column_copy":{"navColumnTitle":"DEPARTMENTS","numberOfSubColumns":"one-column","minWidth":"160","layout":"SIMPLE","id":"container-957cb3eccd",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-d8ec2ea2c4","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/solutions/departments/finance/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Finance"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-a7447380fb","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/solutions/departments/information-technology/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"IT"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1970515619":{"id":"nav-item-e02c63ff0c","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/solutions/departments/marketing/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Marketing"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy","nav_item_copy_1970515619"]},"nav_column_833417450":{"navColumnTitle":"Enablement Solutions","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-7b9318d75b",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_107772":{"id":"nav-item-fd165a9f8b","linkDescription":"Confident migration to a unified platform","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/migrate-to-the-cloud/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Migrate to the AI Data Cloud"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_833417450/nav_item_copy_107772/icon.coreimg.svg/1723828484100/nav-icon-cloud.svg","lazyEnabled":true,"alt":"Cloud icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy":{"id":"nav-item-9f2bc7185a","linkDescription":"Snowflake experts to help you accelerate and achieve business goals","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/services-delivery/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Services Delivery"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_833417450/nav_item_copy_copy/icon.coreimg.svg/1768354429188/nav-icon--migrate.svg","lazyEnabled":true,"alt":"Migrate icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_107772","nav_item_copy_copy"]},"nav_column_copy_copy":{"navColumnTitle":"PARTNER SOLUTIONS","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-273adfe490",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-1ded14d08d","linkDescription":"Programs with product, solutions and cloud partners","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/partners/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Snowflake Partner Network"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_copy_copy/nav_item/icon.coreimg.svg/1723828498700/nav-icon--partner-network.svg","lazyEnabled":true,"alt":"Partner Network icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-698a7fbb29","linkDescription":"Partners, apps and solutions for enhanced deployment","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/partners/all-partners/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Partner Finder"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_copy_copy/nav_item_copy/icon.coreimg.svg/1726173927645/nav-icon--partner-finder.svg","lazyEnabled":true,"alt":"Partner Finder icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1970515619":{"id":"nav-item-de72603ec3","linkDescription":"Live and virtual events","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/partners/event-partnership-opportunities/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Event Partnership Opportunities"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_copy_copy/nav_item_copy_1970515619/icon.coreimg.svg/1726173935655/nav-icon--events.svg","lazyEnabled":true,"alt":"Calendar icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy","nav_item_copy_1970515619"]}},":itemsOrder":["nav_column","nav_column_copy","nav_column_833417450","nav_column_copy_copy"]},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Solutions"},"item_1719963657751_c":{"id":"nav-dropdown-menu-da197e3896","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-2da48ab919",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column":{"numberOfSubColumns":"one-column","minWidth":"230","maxWidth":"350","layout":"SIMPLE","id":"container-0338d25f00",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_copy_2_793631646":{"id":"nav-item-7ffeea4447","additionalClasses":"nav-item__platform-parent-why-sf","linkDescription":"Collaborate locally and globally to reveal new insights, create previously unforeseen business opportunities, and identify your customers with seamless experiences.","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Why Snowflake"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_copy_2_793631646"]},"nav_column_copy_copy":{"additionalClasses":"meganav-platform-features","numberOfSubColumns":"two-columns","maxWidth":"1200","layout":"SIMPLE","id":"container-42e620854e",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-937248198e","propertiesId":"testID","linkDescription":"Case studies and videos showcasing how global organizations use Snowflake","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/customers/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Customers"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item/icon.coreimg.svg/1739839279367/nav-icon--partner-network.svg","lazyEnabled":true,"alt":"Customer icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_258535199":{"id":"nav-item-e0a7f08f29","propertiesId":"workload-nav-1","linkDescription":"Learn how to connect, share and integrate the data and apps on the AI Data Cloud","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/what-is-data-cloud/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"The AI Data Cloud Explained"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item_258535199/icon.coreimg.svg/1739840490955/nav-icon-cloud.svg","lazyEnabled":true,"alt":"Cloud icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_185565":{"id":"nav-item-d1731a8481","linkDescription":"Comprehensive security through built-in features, robust cloud infrastructure protection, and more","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/snowflake-security-hub/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Security Hub"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item_copy_185565/icon.coreimg.svg/1758909528089/user-security-admins-ciso-icon.svg","lazyEnabled":true,"alt":"User with security lock icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-20c64e69ed","additionalClasses":"is-light-gray-icon","linkDescription":"Maximize economic value through minimizing TCO and continuously optimizing price for performance","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/pricing-options/cost-and-performance-optimization/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Cost and Performance Optimization"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item_copy/icon.coreimg.svg/1758909542267/nav-icon-cost-optimization-performance.svg","lazyEnabled":true,"alt":"Cost Optimization icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_185565_903555964":{"id":"nav-item-1f4ba76a12","linkDescription":"Startups building applications in the AI Data Cloud","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/startup-program/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Snowflake for Startups"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item_copy_185565_903555964/icon.coreimg.svg/1758732224323/launch.svg","lazyEnabled":true,"alt":"Launch","height":"64","width":"65",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_258535199","nav_item_copy_185565","nav_item_copy","nav_item_copy_185565_903555964"]}},":itemsOrder":["nav_column","nav_column_copy_copy"]},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Why Snowflake"},"item_1719961362824":{"id":"nav-dropdown-menu-786340e572","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-a3262f6765",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column_copy":{"navColumnTitle":"Connect","numberOfSubColumns":"one-column","minWidth":"124","layout":"SIMPLE","id":"container-718c30f1e5",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-e5cd37122f","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/blog/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Blog"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_180298689":{"id":"nav-item-3ec26516a5","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/events/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Events"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_1639361946":{"id":"nav-item-c2bed1dec2","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/support/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Support"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_680912746":{"id":"nav-item-6be566efd3","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/contact/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Contact us"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_180298689","nav_item_1639361946","nav_item_680912746"]},"nav_column_44600420__826130542":{"navColumnTitle":"Learn","numberOfSubColumns":"two-columns","layout":"SIMPLE","id":"container-f7688f9bc8",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy":{"id":"nav-item-ec4ff11e34","linkDescription":"Ebooks, videos, white papers and more","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/resources/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Resource Library"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy/icon.coreimg.svg/1736877128196/nav-icon--notebooks.svg","lazyEnabled":true,"alt":"Notebooks icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item":{"id":"nav-item-d613d38b14","linkDescription":"Overview of Snowflake's educational offerings","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/resources/learn/training/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Training"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item/icon.coreimg.svg/1722385094416/nav-icon--training.svg","lazyEnabled":true,"alt":"Training icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_144634_1984107859":{"id":"nav-item-352e515d56","linkDescription":"Expert-led discussions and demos across industries and use cases","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/webinars/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Webinars"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_144634_1984107859/icon.coreimg.svg/1759424691990/nav-icon--webinars.svg","lazyEnabled":true,"alt":"Webinars icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1438098918":{"id":"nav-item-3bfba0335a","linkDescription":"Snowflake's technical industry professional certifications","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/resources/learn/certifications/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Certifications"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_1438098918/icon.coreimg.svg/1722382780833/nav-icon--cert.svg","lazyEnabled":true,"alt":"Certification icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_143809":{"id":"nav-item-2846bf1522","linkDescription":"Weekly product demos showcasing key features and live Q&A ","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/webinars/demo/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Live Demos"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_143809/icon.coreimg.svg/1759424359543/nav-icon--live-demo.svg","lazyEnabled":true,"alt":"Live Demo icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_333890638":{"id":"nav-item-5508cc6872","linkDescription":"Training courses for all levels, on-demand or instructor-led","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://learn.snowflake.com/en/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Snowflake University"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_333890638/icon.coreimg.svg/1722382769808/nav-icon--education.svg","lazyEnabled":true,"alt":"Education icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_189945":{"id":"nav-item-8df8150055","linkDescription":"Instructor-led virtual workshops for exploring key Snowflake features","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/webinars/virtual-hands-on-lab/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Hands-On Labs"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_189945/icon.coreimg.svg/1759388182903/nav-icon--labs.svg","lazyEnabled":true,"alt":"Hands-on Labs icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_333890":{"id":"nav-item-b78279ee75","linkDescription":"Academic papers written by Snowflake researchers","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/resources/publications/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Snowflake Research Publications"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_333890/icon.coreimg.svg/1756326371387/copy.svg","lazyEnabled":true,"alt":"Copy","height":"64","width":"65",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_333890_930852828":{"id":"nav-item-19f4580017","linkDescription":"Informative articles about AI and data topics","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/fundamentals/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Fundamentals"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_333890_930852828/icon.coreimg.svg/1756853637155/data-sheet.svg","lazyEnabled":true,"alt":"Document with list","height":"64","width":"65",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy","nav_item","nav_item_copy_144634_1984107859","nav_item_copy_1438098918","nav_item_copy_143809","nav_item_copy_333890638","nav_item_copy_189945","nav_item_copy_333890","nav_item_copy_333890_930852828"]}},":itemsOrder":["nav_column_copy","nav_column_44600420__826130542"]},"nav_promo_section":{"id":"nav-promo-section-cd1e4ef96a","experience_fragment_1":{"id":"experiencefragment-ba79a19bc8","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/master1/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"columnClassNames":{"nav_promo_card":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-b0e4fab9bd",":type":"snowflake-site/components/container",":items":{"nav_promo_card":{"id":"nav-promo-card-191e1354de","openInNewWindow":true,"layout":"horizontal","headline":"The Modern Marketing Data Stack 5th Edition","description":"AI agents are changing the marketing stack. See how to govern the shift. ","linkTitle":"Learn more","linkUrl":"/en/the-modern-marketing-data-stack-report/","image":{"id":"image","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--b3030d24-fd50-45e6-bfe6-9520d3eb46d8/web-inside-the-mmds-5th-960x540.png?quality=85&preferwebp=true","lazyEnabled":true,"alt":"MMDS report 5th edition","height":"540","width":"960",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-promo-card"}},":itemsOrder":["nav_promo_card"]},"cq:metadata":{":type":"nt:unstructured"}},":itemsOrder":["root","cq:metadata"],"classNames":"aem-xf"},"experience_fragment_2":{"id":"experiencefragment-6b2c29f792","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/navigation-promo-card-2/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"columnClassNames":{"nav_promo_card":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-eb8105bcc1",":type":"snowflake-site/components/container",":items":{"nav_promo_card":{"id":"nav-promo-card-5e4782ef26","openInNewWindow":true,"layout":"horizontal","headline":"The ROI of Gen AI and Agents 2026","description":"Discover how 92% of early adopters are achieving positive ROI with gen AI.","linkTitle":"Learn More","linkUrl":"/en/lp/radical-roi-generative-ai/","image":{"id":"image","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--0c15edae-1a97-4739-8b16-c7f3941a6d9e/web-roi-of-gen-ai-and-agents-2026-r02-960x540.png?quality=85&preferwebp=true","lazyEnabled":true,"alt":"roi of gen ai and agents","height":"540","width":"960",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-promo-card"}},":itemsOrder":["nav_promo_card"]},"cq:metadata":{":type":"nt:unstructured"}},":itemsOrder":["root","cq:metadata"],"classNames":"aem-xf"},"experience_fragment_3":{"id":"experiencefragment-b874d927d1","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/navigation-promo-card-3/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"columnClassNames":{"nav_promo_card":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-9949bcda66",":type":"snowflake-site/components/container",":items":{"nav_promo_card":{"id":"nav-promo-card-220ee62376","openInNewWindow":true,"layout":"horizontal","headline":"Startup 2026: AI Agents Mean Business","description":"Venture leaders weigh in on agentic AI. ","linkTitle":"Learn more","linkUrl":"/en/lp/building-startup-ai-age/","image":{"id":"image","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--a320b404-dca1-4477-b033-c79708538657/web-startup-2026-960x540.png?quality=85&preferwebp=true","lazyEnabled":true,"alt":"alt","height":"540","width":"960",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-promo-card"}},":itemsOrder":["nav_promo_card"]},"cq:metadata":{":type":"nt:unstructured"}},":itemsOrder":["root","cq:metadata"],"classNames":"aem-xf"},":type":"snowflake-site/components/nav/nav-promo-section"},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Resources"},"item_1719963657751":{"id":"nav-dropdown-menu-8936eaa086","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-9489aa93e9",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column_copy_copy":{"navColumnTitle":"Build","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-9c5356b94d",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-ef4c6d566e","propertiesId":"testID","linkDescription":"Overview of the dev resources you need to build and scale","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Snowflake for Developers"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy/nav_item/icon.coreimg.svg/1731362494574/nav-icon--devs.svg","lazyEnabled":true,"alt":"Developers icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1855651246":{"id":"nav-item-7c27a31b56","linkDescription":"Reference architectures, use cases and best practices","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/guides/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Developer Guides"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy/nav_item_copy_1855651246/icon.coreimg.svg/1761677891705/nav-icon--solution-center.svg","lazyEnabled":true,"alt":"Solution Center icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-bd8bf55fd0","additionalClasses":"is-light-gray-icon","linkDescription":"The latest software versions, drivers, libraries and relevant docs","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/downloads/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Downloads"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy/nav_item_copy/icon.coreimg.svg/1731362660050/nav-icon-download.svg","lazyEnabled":true,"alt":"Download icon","height":"28","width":"28",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy_1855651246","nav_item_copy"]},"nav_column_copy_copy_1367930678":{"navColumnTitle":"Learn","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-aef6cb380a",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-3a3cc58a4a","propertiesId":"testID","linkDescription":"Reference docs, guides, tutorials and announcements","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://docs.snowflake.com/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Documentation"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1367930678/nav_item/icon.coreimg.svg/1731361950527/nav-icon--docs.svg","lazyEnabled":true,"alt":"Docs icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-02abb7a39b","additionalClasses":"is-light-gray-icon","linkDescription":"Key projects Snowflake engineers maintain and support","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/open-source/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Open Source"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1367930678/nav_item_copy/icon.coreimg.svg/1731365437016/nav-icon-open-source.svg","lazyEnabled":true,"alt":"Open Source icon","height":"32","width":"32",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy":{"id":"nav-item-e1c3c2e780","additionalClasses":"is-light-gray-icon","linkDescription":"Online and in-person classes and workshops to upskill on Snowflake","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/northstar/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Builder Education"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1367930678/nav_item_copy_copy/icon.coreimg.svg/1731362475640/nav-icon--northstar.svg","lazyEnabled":true,"alt":"Northstar logo","height":"32","width":"32",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy","nav_item_copy_copy"]},"nav_column_copy_copy_1101894776":{"navColumnTitle":"Connect","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-cb5009fc37",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-f9e45f0843","propertiesId":"testID","linkDescription":"Snowflake’s technical leaders on what, why and how they build features","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/engineering-blog/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Engineering Blog"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1101894776/nav_item/icon.coreimg.svg/1757101368571/nav-icon--developer-center.svg","lazyEnabled":true,"alt":"Developers icon","height":"32","width":"32",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1855651246":{"id":"nav-item-872043dfc0","linkDescription":"Tips, tricks and discussion with fellow Snowflake developers","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://community.snowflake.com/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Community"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1101894776/nav_item_copy_1855651246/icon.coreimg.svg/1731362644348/nav-icon--partner-network.svg","lazyEnabled":true,"alt":"Partner Network icon","height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy_1855651246"]}},":itemsOrder":["nav_column_copy_copy","nav_column_copy_copy_1367930678","nav_column_copy_copy_1101894776"]},"nav_promo_section":{"id":"nav-promo-section-2b000551fd","experience_fragment_1":{"id":"experiencefragment-13d4ff76f6","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/nav-promo-5/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"columnClassNames":{"nav_promo_card":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-b1cc1855dc",":type":"snowflake-site/components/container",":items":{"nav_promo_card":{"id":"nav-promo-card-215622635c","openInNewWindow":false,"layout":"horizontal","headline":"Get started with your first Snowflake Notebook","description":"Write and execute code, visualize results, and tell the story of your analysis all in one place.","linkTitle":"Learn More","linkUrl":"/en/developers/solutions-center/getting-started-with-your-first-snowflake-notebook-project/","image":{"id":"image","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--dc7e334a-c38b-4283-b1de-fcf829952eef/nav-promo-first-notebook.jpg?quality=85&preferwebp=true","lazyEnabled":true,"alt":"alt","height":"210","width":"415",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-promo-card"}},":itemsOrder":["nav_promo_card"]},"cq:LiveSyncConfig":{"cq:isDeep":true,"cq:rolloutConfigs":[],"cq:master":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/nav-promo-card-4",":type":"cq:LiveCopy"}},":itemsOrder":["root","cq:LiveSyncConfig"],"classNames":"aem-xf"},"experience_fragment_2":{"id":"experiencefragment-ee7c3e6991","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/nav-promo-card-4/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"columnClassNames":{"nav_promo_card":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-391f95358b",":type":"snowflake-site/components/container",":items":{"nav_promo_card":{"id":"nav-promo-card-4edce6ca5d","openInNewWindow":true,"layout":"horizontal","headline":"Northstar Builder Workshops","description":"Join other developers as you roll up your sleeves and explore the possibilities of Snowflake.","linkTitle":"Learn More","linkUrl":"/en/nav-promos/northstar-builders-workshop/","image":{"id":"image","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--14341ced-bc5e-4a29-9762-b7857f6cadfc/nav-promo-northstar.jpg?quality=85&preferwebp=true","lazyEnabled":true,"alt":"Snowflake Northstar logo","height":"700","width":"1440",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-promo-card"}},":itemsOrder":["nav_promo_card"]},"cq:LiveSyncConfig":{"cq:isDeep":true,"cq:rolloutConfigs":[],"cq:master":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/master",":type":"cq:LiveCopy"}},":itemsOrder":["root","cq:LiveSyncConfig"],"classNames":"aem-xf"},":type":"snowflake-site/components/nav/nav-promo-section"},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Developers"},"item_1718247180324":{"id":"nav-dropdown-menu-d46551185e","enableDropdown":false,"link_url":"/en/pricing-options/",":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Pricing"}},":itemsOrder":["item_1719963657751_c_663444255","nav_dropdown_menu_2","item_1719963657751_c","item_1719961362824","item_1719963657751","item_1718247180324"]},"languagenavigation":{"id":"language-navigation-48b47e7226","languageNavItems":[{"title":"English","path":"/en/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/","locale":"en","active":true},{"title":"日本語","path":"/ja/","locale":"ja","active":false},{"title":"한국어","path":"/ko/","locale":"ko","active":false},{"title":"中文（简体）","path":"/zh_cn/","locale":"zh-cn","active":false},{"title":"Português","path":"/pt_br/","locale":"pt-br","active":false},{"title":"Deutsch","path":"/de/","locale":"de","active":false},{"title":"Français","path":"/fr/","locale":"fr","active":false},{"title":"Español","path":"/es/","locale":"es","active":false},{"title":"Italiano","path":"/it/","locale":"it","active":false}],":type":"snowflake-site/components/nav/language-navigation"},"button_1177328691":{"id":"button-2a9a774bec","heapButtonClasses":["mega-nav__sign-in"],"showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://app.snowflake.com/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","appliedCssClassNames":"snowflake-button-link snowflake-button-black snowflake-button-compact","linkType":"SNOWFLAKE_EXTERNAL","text":"Sign in"},"button":{"id":"button-138cb57864","heapButtonClasses":["contact_nav","heap-nav-contact"],"showOutboundIcon":true,"buttonLink":{"valid":true,"url":"/en/contact-sales/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","appliedCssClassNames":"snowflake-button-secondary snowflake-button-blue snowflake-button-compact","linkType":"SNOWFLAKE_INTERNAL","text":"CONTACT SALES"},"button_288358396":{"id":"button-e8052d0334","heapButtonClasses":["start_for_free_nav","heap-nav-start-for-free"],"showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://signup.snowflake.com/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","appliedCssClassNames":"snowflake-button-primary snowflake-button-blue snowflake-button-compact","linkType":"SNOWFLAKE_EXTERNAL","text":"start for free"}},":itemsOrder":["nav_mega","languagenavigation","button_1177328691","button","button_288358396"],"appliedCssClassNames":"snowflake-header-container white"}},":itemsOrder":["markup_editor","mega_header"]},"image":{":type":"nt:unstructured"},"cq:targetMetadata":{"cq:targetStatus":"OUT_OF_SYNC","cq:exportTime":1781280015540,"cq:targetOfferId":860250,":type":"nt:unstructured"}},":itemsOrder":["root","image","cq:targetMetadata"],"classNames":"aem-xf"},"markup_editor_1950346551":{"id":"markup-editor-9b074b2773","title":" ","cssContent":".snowflake-markdown-table code[class*=language-],.snowflake-markdown-table code[class*=language-],.snowflake-markdown .snowflake-text code[class*=language-],.snowflake-markdown .snowflake-text pre[class*=language-]{background-color:rgba(var(--ui-12-rgb),.5);color:var(--text-01);text-shadow:none;padding:var(--spacing-00);border-radius:var(--spacing-00);font-size:smaller}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"},"responsivegrid":{"columnClassNames":{"quickstart_hero":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnCount":12,":items":{"quickstart_hero":{"id":"quickstart-hero-57d79e79fe","isDeveloperGuidesPage":false,"quickstartHeroFirstSnowflakeFeatureTag":{"tagText":"Ingestion","tagColor":"#29B5E8","tagPath":"/content/cq:tags/snowflake-site/taxonomy/snowflake-feature/ingestion","tagIcon":""},"quickstartHeroForkRepoLink":{"id":"button-3499ad1e14","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://github.com/Snowflake-Labs/sfquickstarts/tree/master/site/sfguides/src/getting-started-with-openflow-unstructured-data-pipeline"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Fork Repo"},"quickstartHeroBreadcrumbs":[{"title":"Getting Started with Openflow Unstructured Data Pipeline","url":"https://www.snowflake.com/content/snowflake-site/global/en/developers/guides/getting-started-with-openflow-unstructured-data-pipeline","currentPage":true},{"title":"Guides","url":"https://www.snowflake.com/content/snowflake-site/global/en/developers/guides","currentPage":false},{"title":"Snowflake for Developers","url":"https://www.snowflake.com/content/snowflake-site/global/en/developers","currentPage":false}],"quickstartHeroTitle":{"lines":["Getting Started with Openflow Unstructured Data Pipeline"],"type":"heading2",":type":"snowflake-site/components/title-v2"},"quickstartHeroAuthor":"Kamesh Sampath",":type":"snowflake-site/components/quickstart/quickstart-hero","fragmentPath":"/content/dam/snowflake-site/en/content-fragments/quickstarts/getting-started-with-openflow-unstructured-data-pipeline","quickstartHeroFirstCertifiedTag":{"tagText":"Quickstart","tagColor":"#29B5E8","tagPath":"/content/cq:tags/snowflake-site/taxonomy/solution-center/certification/quickstart","tagIcon":""}},"flexible_column_cont":{"id":"flexible-column-container-7b85fd075b","propertiesId":"quickstart-template-main-flexible-container","type":"2-column-75-25","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"none","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-9681821594",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"contentfragment":{"id":"contentfragment-375454749e","paragraphs":["&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EOverview\u003C/h2\u003E\n","\u003Cp\u003EThis demo showcases how to transform Google Drive business documents into actionable strategic intelligence using Snowflake's unstructured data processing capabilities.\u003C/p\u003E\n","\u003Ch3\u003EFestival Operations Demo Dataset\u003C/h3\u003E\n","\u003Cp\u003EYou'll work with a realistic \u003Cstrong\u003EFestival Operations\u003C/strong\u003E business document collection that includes:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003E15 business documents\u003C/strong\u003E across multiple formats (PDF, DOCX, PPTX, JPG)\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003E4 strategic categories\u003C/strong\u003E: Strategic Planning, Operations Excellence, Compliance &amp; Risk, Knowledge Management\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EReal business scenarios\u003C/strong\u003E: $2.8M technology investments, market expansion strategies, regulatory compliance\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EMulti-format intelligence\u003C/strong\u003E: Demonstrating cross-format document search and analysis\u003C/li\u003E\u003C/ul\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003EIMPORTANT - Demo Data Disclaimer:\u003C/strong\u003E All business data, financial figures, and organizational information in this demo are \u003Cstrong\u003Eentirely fictitious\u003C/strong\u003E and created for demonstration purposes only. This includes financial figures, project timelines, employee data, and business scenarios.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003EBy completing this guide, you will be able to build an end-to-end unstructured data pipeline that ingests documents from Google Drive, processes them through Openflow, and enables intelligent search and analysis using Snowflake CoWork.\u003C/p\u003E\n","\u003Cp\u003EHere is a summary of what you will be able to learn in each step by following this quickstart:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003ESetup Environment\u003C/strong\u003E: Clone the repository, configure Snowflake database objects, and set up external access for Google Drive\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EOpenflow Configuration\u003C/strong\u003E: Set up \u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-integration/openflow/about\"\u003EOpenflow\u003C/a\u003E SPCS runtime and add the \u003Ca href=\"https://docs.snowflake.com/user-guide/data-integration/openflow/connectors/google-drive/about\"\u003EGoogle Drive connector\u003C/a\u003E\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EConfigure Document Ingestion Pipeline\u003C/strong\u003E: Set up source, destination, and ingestion parameters for the Google Drive connector\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EPrepare Sample Documents\u003C/strong\u003E: Upload 15 Festival Operations documents to Google Drive for processing\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EData Pipeline Results\u003C/strong\u003E: Verify document ingestion and explore auto-created tables and stages\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ECortex Search Setup\u003C/strong\u003E: Explore the automatically created \u003Ca href=\"https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-search/cortex-search-overview\"\u003ECortex Search\u003C/a\u003E service for semantic search\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ESnowflake CoWork\u003C/strong\u003E: Build an AI agent using \u003Ca href=\"https://docs.snowflake.com/en/user-guide/snowflake-cortex/snowflake-intelligence\"\u003ESnowflake CoWork\u003C/a\u003E for natural language document analysis\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003EWhat is Openflow\u003C/h3\u003E\n","\u003Cp\u003E\u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-integration/openflow/about\"\u003EOpenflow\u003C/a\u003E is Snowflake's managed service for building and running data pipelines in \u003Ca href=\"https://docs.snowflake.com/en/developer-guide/snowpark-container-services/overview\"\u003ESnowpark Container Services (SPCS)\u003C/a\u003E. It provides pre-built connectors and processing capabilities that make it easy to ingest, transform, and analyze data from various sources including unstructured documents.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_spcs_overview.png\" alt=\"Openflow Snowflake Deployments Overview\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EKey Benefits\u003C/strong\u003E:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EManaged Infrastructure\u003C/strong\u003E: Fully managed container runtime environment\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EPre-built Connectors\u003C/strong\u003E: Ready-to-use connectors for popular data sources\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EScalable Processing\u003C/strong\u003E: Automatic scaling based on data volume and processing needs\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ESecurity\u003C/strong\u003E: Built-in security and governance features\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003ELearn more about \u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-integration/openflow/about\"\u003EOpenflow\u003C/a\u003E.\u003C/p\u003E\n","\u003Ch3\u003EWhat is Snowflake CoWork\u003C/h3\u003E\n","\u003Cp\u003E\u003Ca href=\"https://docs.snowflake.com/en/user-guide/snowflake-cortex/snowflake-intelligence\"\u003ESnowflake CoWork\u003C/a\u003E is an integrated AI capability that enables natural language interactions with your data. It combines large language models with your business context to provide intelligent search, analysis, and insights.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECore Components\u003C/strong\u003E:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003E\u003Ca href=\"https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-search/cortex-search-overview\"\u003ECortex Search\u003C/a\u003E\u003C/strong\u003E: Semantic search across structured and unstructured data\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EAI Agents\u003C/strong\u003E: Natural language interfaces for business intelligence\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EContext Awareness\u003C/strong\u003E: Understanding of your data schema and business domain\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003EThis quickstart will focus on:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003ECreating Cortex Search services for document content and metadata\u003C/li\u003E\u003Cli\u003EBuilding AI agents that can answer questions about your documents\u003C/li\u003E\u003Cli\u003EEnabling natural language queries across various document types\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003EWhat You Will Learn\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003EHow to set up Openflow for unstructured data processing\u003C/li\u003E\u003Cli\u003EHow to configure Google Drive connector for document ingestion\u003C/li\u003E\u003Cli\u003EHow to process multiple document formats (PDF, DOCX, PPTX, images)\u003C/li\u003E\u003Cli\u003EHow to create Cortex Search services for semantic search\u003C/li\u003E\u003Cli\u003EHow to build Snowflake CoWork agents for natural language querying\u003C/li\u003E\u003Cli\u003EHow to analyze business documents for strategic insights\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003EWhat You Will Build\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003EAn automated document ingestion pipeline from Google Drive\u003C/li\u003E\u003Cli\u003EA searchable knowledge base of business documents\u003C/li\u003E\u003Cli\u003EAn AI-powered assistant for document analysis and insights\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003EPrerequisites\u003C/h3\u003E\n","\u003Cp\u003EBefore starting, ensure you have:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003ESnowflake Account\u003C/strong\u003E: Enterprise account with Openflow enabled (AWS or Azure Commercial Regions)\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EAccount Permissions\u003C/strong\u003E: ACCOUNTADMIN role or equivalent for initial setup\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ECortex Services\u003C/strong\u003E: Cortex Search and Snowflake CoWork enabled in your account\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EGoogle Workspace\u003C/strong\u003E: Admin access to create and configure service accounts\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EGoogle Service Account (GSA)\u003C/strong\u003E: JSON key file with domain-wide delegation configured\u003C/li\u003E\u003C/ul\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003EIMPORTANT:\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EGoogle Service Account Setup\u003C/strong\u003E: You'll need to create a Google Service Account (GSA) with appropriate permissions. Follow the official Google Cloud documentation to:\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003ECreate a Service Account in Google Cloud Console\u003C/li\u003E\u003Cli\u003EDownload the JSON key file\u003C/li\u003E\u003Cli\u003EEnable domain-wide delegation for the service account\u003C/li\u003E\u003Cli\u003EGrant necessary Google Drive API scopes\u003C/li\u003E\u003C/ol\u003E\n","\u003Cp\u003EFor detailed instructions, see: \u003Ca href=\"https://cloud.google.com/iam/docs/service-accounts-create\"\u003ECreating and managing service accounts\u003C/a\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ERequired Google Drive API Scopes\u003C/strong\u003E:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Ccode\u003Ehttps://www.googleapis.com/auth/drive.readonly\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003Ehttps://www.googleapis.com/auth/drive.metadata.readonly\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n\u003C/blockquote\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003ESetup Environment\u003C/h2\u003E\n","\u003Ch3\u003EClone the QuickStart Repository\u003C/h3\u003E\n","\u003Cp\u003EFirst, clone the repository to get access to sample documents and SQL scripts:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-bash\"\u003Egit clone https://github.com/Snowflake-Labs/sfguide-getting-started-openflow-unstructured-data-pipeline.git\ncd sfguide-getting-started-openflow-unstructured-data-pipeline\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Cstrong\u003ERepository Contents:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003E\u003Ccode\u003Esample-data/google-drive-docs/\u003C/code\u003E\u003C/strong\u003E - 15 Festival Operations documents in various formats (PDF, DOCX, PPTX, JPG)\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003E\u003Ccode\u003Esql/\u003C/code\u003E\u003C/strong\u003E - Reusable SQL scripts for setup, checks, and verification\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003E\u003Ccode\u003ETaskfile.yml\u003C/code\u003E\u003C/strong\u003E - Automation tasks for building additional documents\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003EAlternative: Use Snowflake Workspaces with Git Integration\u003C/h3\u003E\n","\u003Cp\u003EFor executing SQL scripts directly in Snowsight, you can import this repository into \u003Ca href=\"https://docs.snowflake.com/en/user-guide/ui-snowsight/workspaces-git\"\u003ESnowflake Workspaces\u003C/a\u003E:\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003ESign in to Snowsight and navigate to &lt;a href=&quot;https://app.snowflake.com/_deeplink/#/workspaces?utm_source=snowflake-devrel&amp;utm_medium=developer-guides&amp;utm_content=getting-started-with-openflow-unstructured-data-pipeline&amp;utm_cta=developer-guides-deeplink&quot; class=&quot;_deeplink&quot;&gt;\u003Cstrong\u003EProjects\u003C/strong\u003E &rarr; \u003Cstrong\u003EWorkspaces\u003C/strong\u003E&lt;/a&gt;\u003C/li\u003E\u003Cli\u003ESelect \u003Cstrong\u003EFrom Git repository\u003C/strong\u003E\u003C/li\u003E\u003Cli\u003EPaste the repository URL: \u003Ccode\u003Ehttps://github.com/Snowflake-Labs/sfguide-getting-started-openflow-unstructured-data-pipeline\u003C/code\u003E\u003C/li\u003E\u003Cli\u003EConfigure your API integration and credentials\u003C/li\u003E\u003Cli\u003EExecute SQL scripts directly in Snowsight without leaving your browser\u003C/li\u003E\u003C/ol\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003EIMPORTANT:\u003C/strong\u003E You still need to \u003Cstrong\u003Eclone or download the repository locally\u003C/strong\u003E to access the \u003Ccode\u003Esample-data/google-drive-docs/\u003C/code\u003E files for uploading to Google Drive. The Git integration in &lt;a href=&quot;https://app.snowflake.com/_deeplink/#/workspaces?utm_source=snowflake-devrel&amp;utm_medium=developer-guides&amp;utm_content=getting-started-with-openflow-unstructured-data-pipeline&amp;utm_cta=developer-guides-deeplink&quot; class=&quot;_deeplink&quot;&gt;Workspaces&lt;/a&gt; provides access to SQL scripts but not binary document files (PDF, DOCX, PPTX, JPG) needed for the demo.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003ELearn more about \u003Ca href=\"https://docs.snowflake.com/en/user-guide/ui-snowsight/workspaces-git\"\u003Eintegrating Workspaces with Git\u003C/a\u003E.\u003C/p\u003E\n","\u003Ch3\u003ECreate Database and Schema\u003C/h3\u003E\n","\u003Cp\u003ELog into \u003Ca href=\"https://docs.snowflake.com/en/user-guide/ui-snowsight.html#\"\u003ESnowsight\u003C/a\u003E using your credentials to create the necessary database objects.\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003EIMPORTANT:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003EIf you use different names for objects created in this section, be sure to update scripts and configurations in the following sections accordingly.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EFor each SQL script block below, select all the statements in the block and execute them top to bottom.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003EOpen &lt;a href=&quot;https://app.snowflake.com/_deeplink/#/workspaces?utm_source=snowflake-devrel&amp;utm_medium=developer-guides&amp;utm_content=getting-started-with-openflow-unstructured-data-pipeline&amp;utm_cta=developer-guides-deeplink&quot; class=&quot;_deeplink&quot;&gt;Snowflake Workspaces&lt;/a&gt; and run the following SQL commands to create the \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/sql/create-warehouse.html\"\u003Ewarehouse\u003C/a\u003E, \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/sql/create-database.html\"\u003Edatabase\u003C/a\u003E, \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/sql/create-schema.html\"\u003Eschema\u003C/a\u003E, and \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/sql/create-role.html\"\u003Erole\u003C/a\u003E.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Create role and warehouse\nUSE ROLE ACCOUNTADMIN;\nCREATE ROLE IF NOT EXISTS FESTIVAL_DEMO_ROLE;\nCREATE WAREHOUSE IF NOT EXISTS FESTIVAL_DEMO_S\n  WAREHOUSE_SIZE = SMALL\n  AUTO_SUSPEND = 300\n  AUTO_RESUME = TRUE;\nGRANT USAGE ON WAREHOUSE FESTIVAL_DEMO_S TO ROLE FESTIVAL_DEMO_ROLE;\n\n-- Create database and grant ownership\nCREATE DATABASE IF NOT EXISTS OPENFLOW_FESTIVAL_DEMO;\nGRANT OWNERSHIP ON DATABASE OPENFLOW_FESTIVAL_DEMO TO ROLE FESTIVAL_DEMO_ROLE;\n\n-- Grant role to current user\nSET CURR_USER=(SELECT CURRENT_USER());\nGRANT ROLE FESTIVAL_DEMO_ROLE TO ROLE IDENTIFIER($CURR_USER);\n\n-- Switch to demo role and create schema\nUSE ROLE FESTIVAL_DEMO_ROLE;\nUSE DATABASE OPENFLOW_FESTIVAL_DEMO;\nCREATE SCHEMA IF NOT EXISTS FESTIVAL_OPS;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETIP:\u003C/strong\u003E These commands are also available in \u003Ccode\u003Esql/setup.sql\u003C/code\u003E in the repository for easy execution.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003EEnable Required Services (Optional)\u003C/h3\u003E\n","\u003Cp\u003ECortex Search and Snowflake CoWork are available by default in most regions.\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENOTE:\u003C/strong\u003E If your Snowflake account is in \u003Cstrong\u003E\u003Ccode\u003Eus-west-2\u003C/code\u003E\u003C/strong\u003E, Cortex services are already available and this step can be skipped.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003EFor accounts in other regions\u003C/strong\u003E, you may need to enable cross-region Cortex access:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Check current Cortex cross-region setting (requires ORGADMIN role)\nSHOW PARAMETERS LIKE 'CORTEX_ENABLED_CROSS_REGION' IN ACCOUNT;\n\n-- Enable cross-region Cortex access if needed (requires ORGADMIN role)\n-- This allows your account to use Cortex services from us-west-2\nALTER ACCOUNT SET CORTEX_ENABLED_CROSS_REGION = 'AWS_US';\n\n-- Verify the setting was applied\nSHOW PARAMETERS LIKE 'CORTEX_ENABLED_CROSS_REGION' IN ACCOUNT;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETIP:\u003C/strong\u003E Contact your Snowflake administrator if you need assistance with ORGADMIN privileges or Cortex enablement.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003ESetup External Access Integration\u003C/h3\u003E\n","\u003Cp\u003EConfigure external access for Google APIs to allow Openflow to connect to Google Drive.\u003C/p\u003E\n","\u003Cp\u003EFirst, create a schema for network configuration (or use an existing one):\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Create schema for network rules\nUSE ROLE ACCOUNTADMIN;\nUSE DATABASE OPENFLOW_FESTIVAL_DEMO;\nCREATE SCHEMA IF NOT EXISTS NETWORKS;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003ENow create the network rules and external access integration:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Create network rule for Google APIs\nCREATE OR REPLACE NETWORK RULE google_network_rule\n  MODE = EGRESS\n  TYPE = HOST_PORT\n  VALUE_LIST = (\n    'admin.googleapis.com',\n    'oauth2.googleapis.com',\n    'www.googleapis.com',\n    'google.com'\n  );\n\n-- Verify the network rule was created successfully\nDESC NETWORK RULE google_network_rule;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch4\u003EOptional: Add network rule for your Google Workspace domain\u003C/h4\u003E\n","\u003Cp\u003EIf you need to access resources from your specific Google Workspace domain, create an additional network rule:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Create network rule for your Google Workspace domain\n-- Replace 'your-domain.com' with your actual Google Workspace domain\nCREATE OR REPLACE NETWORK RULE your_workspace_domain_network_rule\n  MODE = EGRESS\n  TYPE = HOST_PORT\n  VALUE_LIST = ('your-domain.com');\n\n-- Example: For a domain like kamesh.dev\n-- CREATE OR REPLACE NETWORK RULE kameshs_dev_network_rule\n--   MODE = EGRESS\n--   TYPE = HOST_PORT\n--   VALUE_LIST = ('kameshs.dev');\n\n-- Verify the domain network rule was created successfully\nDESC NETWORK RULE your_workspace_domain_network_rule;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch4\u003ECreate the External Access Integration\u003C/h4\u003E\n","\u003Cp\u003ENow combine the network rules into an external access integration:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Create external access integration with Google API access\n-- If you created a workspace domain rule, add it to ALLOWED_NETWORK_RULES\nCREATE OR REPLACE EXTERNAL ACCESS INTEGRATION festival_ops_access_integration\n  ALLOWED_NETWORK_RULES = (\n    OPENFLOW_FESTIVAL_DEMO.NETWORKS.google_network_rule\n    -- Add your workspace domain rule if created:\n    -- , OPENFLOW_FESTIVAL_DEMO.NETWORKS.your_workspace_domain_network_rule\n  )\n  ENABLED = TRUE\n  COMMENT = 'Used for Openflow Snowflake Deployments runtime to access Google Drive';\n\n-- Verify the external access integration was created with correct settings\nDESC EXTERNAL ACCESS INTEGRATION festival_ops_access_integration;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETIP:\u003C/strong\u003E If you created a workspace domain network rule, uncomment and add it to the \u003Ccode\u003EALLOWED_NETWORK_RULES\u003C/code\u003E list in the external access integration.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003EGrant Permissions\u003C/h3\u003E\n","\u003Cp\u003EGrant necessary permissions to the Openflow admin role:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Grant access to the external access integration\nGRANT USAGE ON DATABASE OPENFLOW_FESTIVAL_DEMO TO ROLE OPENFLOW_ADMIN;\nGRANT USAGE ON SCHEMA OPENFLOW_FESTIVAL_DEMO.NETWORKS TO ROLE OPENFLOW_ADMIN;\nGRANT USAGE ON INTEGRATION festival_ops_access_integration TO ROLE OPENFLOW_ADMIN;\n\n-- Verify grants\nSHOW GRANTS TO ROLE OPENFLOW_ADMIN;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENOTE:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EThe \u003Ccode\u003EOPENFLOW_ADMIN\u003C/code\u003E role is created automatically during Openflow Snowflake Deployment setup\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ENo compute pools needed\u003C/strong\u003E - Openflow Snowflake Deployments manages compute resources automatically\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ENo manual stages or tables\u003C/strong\u003E - All document storage objects are automatically created by the Openflow connector\u003C/li\u003E\u003Cli\u003ESQL snippets available in \u003Ccode\u003Esql/network.sql\u003C/code\u003E in the repository\u003C/li\u003E\u003C/ul\u003E\n\u003C/blockquote\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003EIMPORTANT:\u003C/strong\u003E Make note of the database, schema, and warehouse names as you'll need them for Openflow configuration.\u003C/p\u003E\n\u003C/blockquote\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EOpenflow Configuration\u003C/h2\u003E\n","\u003Cp\u003EThis section guides you through setting up Openflow Snowflake Deployments infrastructure and creating a runtime for the Festival Operations document pipeline.\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003EIMPORTANT:\u003C/strong\u003E Before configuring connectors, you must complete the \u003Cstrong\u003EOpenflow Snowflake Deployments setup\u003C/strong\u003E. This is a one-time configuration that establishes the foundation for all your Openflow data pipelines.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003EComplete Openflow Snowflake Deployments Setup\u003C/h3\u003E\n","\u003Cp\u003EFollow the comprehensive \u003Cstrong\u003EGetting Started with Openflow Snowflake Deployments\u003C/strong\u003E quickstart to set up your infrastructure:\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EQuickstart Guide\u003C/strong\u003E: \u003Ca href=\"/en/developers/guides/getting-started-with-openflow-spcs/\"\u003EGetting Started with Openflow Snowflake Deployments\u003C/a\u003E\u003C/p\u003E\n","\u003Cp\u003EThis 25-minute setup includes:\u003C/p\u003E\n\u003Ctable\u003E\u003Cthead\u003E\u003Ctr\u003E\u003Cth colspan=\"1\" rowspan=\"1\"\u003EStep\u003C/th\u003E\u003Cth colspan=\"1\" rowspan=\"1\"\u003ETask\u003C/th\u003E\u003Cth colspan=\"1\" rowspan=\"1\"\u003EDuration\u003C/th\u003E\u003Cth colspan=\"1\" rowspan=\"1\"\u003EWhat You'll Create\u003C/th\u003E\u003C/tr\u003E\u003C/thead\u003E\u003Ctbody\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E1\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E\u003Cstrong\u003ESetup Core Snowflake\u003C/strong\u003E\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E10 min\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E\u003Ccode\u003EOPENFLOW_ADMIN\u003C/code\u003E role, network rules, BCR bundles\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E2\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E\u003Cstrong\u003ECreate Deployment\u003C/strong\u003E\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E5 min\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EOpenflow Snowflake Deployment with optional event logging\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E3\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E\u003Cstrong\u003ECreate Runtime Role\u003C/strong\u003E\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E5 min\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003ERuntime role with external access integrations\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E4\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E\u003Cstrong\u003ECreate Runtime\u003C/strong\u003E\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E5 min\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EActive runtime environment ready for connectors\u003C/td\u003E\u003C/tr\u003E\u003C/tbody\u003E\u003C/table\u003E\n","\u003Cp\u003E\u003Cstrong\u003EKey Components You'll Set Up:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003E\u003Ccode\u003EOPENFLOW_ADMIN\u003C/code\u003E Role\u003C/strong\u003E: Administrative role with deployment and integration privileges\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ENetwork Rules\u003C/strong\u003E: Required for Openflow to communicate with Snowflake and external services\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EDeployment\u003C/strong\u003E: Container environment running in Snowpark Container Services (SPCS)\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ERuntime Role\u003C/strong\u003E: For this quickstart, use \u003Ccode\u003EFESTIVAL_DEMO_ROLE\u003C/code\u003E (created in Setup Environment) with database, schema, warehouse access, and external access integrations\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EActive Runtime\u003C/strong\u003E: Ready to host connectors like Google Drive\u003C/li\u003E\u003C/ul\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETIP:\u003C/strong\u003E The quickstart includes downloadable SQL scripts and Jupyter notebooks for automated setup. You can use these scripts to accelerate your deployment process.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003EAfter Setup\u003C/strong\u003E: Once you complete the quickstart, you'll have a production-ready Openflow environment. You can then proceed with adding the Google Drive connector for this Festival Operations demo.\u003C/p\u003E\n","\u003Ch3\u003EAlternative: Use Existing Openflow Infrastructure\u003C/h3\u003E\n","\u003Cp\u003EIf you already have Openflow Snowflake Deployments set up in your account, you can reuse your existing infrastructure. However, for this quickstart, we recommend using \u003Ccode\u003EFESTIVAL_DEMO_ROLE\u003C/code\u003E to keep naming consistent:\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EUse existing deployment and runtime\u003C/strong\u003E - No need to create new ones\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EGrant \u003Ccode\u003EFESTIVAL_DEMO_ROLE\u003C/code\u003E access\u003C/strong\u003E - Ensure it has access to \u003Ccode\u003Efestival_ops_access_integration\u003C/code\u003E (created in the previous &quot;Setup Environment&quot; section)\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EGrant integration access\u003C/strong\u003E - Add the external access integration to \u003Ccode\u003EFESTIVAL_DEMO_ROLE\u003C/code\u003E:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003EUSE ROLE ACCOUNTADMIN;\nGRANT USAGE ON INTEGRATION festival_ops_access_integration TO ROLE FESTIVAL_DEMO_ROLE;\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003C/ol\u003E\n","\u003Ch3\u003EAccess Openflow Interface\u003C/h3\u003E\n","\u003Cp\u003EAfter completing the Openflow Snowflake Deployments setup, access the Openflow interface to configure your runtime:\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003EIn Snowsight, navigate to \u003Cstrong\u003EWork with data\u003C/strong\u003E in the left sidebar\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003ESelect \u003Cstrong\u003EIngestion\u003C/strong\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EClick on \u003Cstrong\u003EOpenflow\u003C/strong\u003E (this will open Openflow in a new browser tab)\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/snowsight_launch_openflow.png\" alt=\"Launch Openflow from Snowsight\"\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EAccept the authentication prompt\u003C/strong\u003E when Openflow opens in the new tab\u003C/p\u003E\n\u003C/li\u003E\u003C/ol\u003E\n","\u003Ch3\u003EConfigure Runtime for Festival Operations\u003C/h3\u003E\n","\u003Cp\u003ENow that you have Openflow open, configure your runtime for the Festival Operations pipeline:\u003C/p\u003E\n","\u003Ch4\u003EOption A: Create New Runtime (Recommended for Demo)\u003C/h4\u003E\n","\u003Cp\u003ECreate a dedicated runtime for this demo:\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003EIn the Openflow interface, click on the \u003Cstrong\u003ERuntimes\u003C/strong\u003E tab at the top\u003C/li\u003E\u003Cli\u003EClick \u003Cstrong\u003ECreate Runtime\u003C/strong\u003E button\u003C/li\u003E\u003Cli\u003EConfigure with these settings:\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003ERuntime Name\u003C/strong\u003E: \u003Ccode\u003EFESTIVAL_DOC_INTELLIGENCE\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ERuntime Role\u003C/strong\u003E: \u003Ccode\u003EFESTIVAL_DEMO_ROLE\u003C/code\u003E (created in Setup Environment)\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EExternal Access Integration\u003C/strong\u003E: \u003Ccode\u003Efestival_ops_access_integration\u003C/code\u003E (created in previous step)\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EDatabase\u003C/strong\u003E: \u003Ccode\u003EOPENFLOW_FESTIVAL_DEMO\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ESchema\u003C/strong\u003E: \u003Ccode\u003EFESTIVAL_OPS\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EWarehouse\u003C/strong\u003E: \u003Ccode\u003EFESTIVAL_DEMO_S\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003C/ol\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENOTE:\u003C/strong\u003E Ensure the \u003Ccode\u003Efestival_ops_access_integration\u003C/code\u003E is accessible to \u003Ccode\u003EFESTIVAL_DEMO_ROLE\u003C/code\u003E:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003EUSE ROLE ACCOUNTADMIN;\nGRANT USAGE ON INTEGRATION festival_ops_access_integration TO ROLE FESTIVAL_DEMO_ROLE;\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003EAfter creating the runtime, your Openflow interface will look like this:\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_spcs_overview.png\" alt=\"Openflow Snowflake Deployments Overview\"\u003E\u003C/p\u003E\n","\u003Ch4\u003EOption B: Use Existing Runtime\u003C/h4\u003E\n","\u003Cp\u003EIf you already have a runtime from the Openflow Snowflake Deployments quickstart (e.g., \u003Ccode\u003EQUICKSTART_RUNTIME\u003C/code\u003E):\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003EGrant access to the Festival Operations integration:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003EUSE ROLE ACCOUNTADMIN;\nGRANT USAGE ON INTEGRATION festival_ops_access_integration TO ROLE YOUR_RUNTIME_ROLE;\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EThe runtime will automatically have access to the integration for Google Drive connectivity\u003C/p\u003E\n\u003C/li\u003E\u003C/ol\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ERESOURCE MANAGEMENT:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EOpenflow Snowflake Deployments automatically manages compute resources and scaling\u003C/li\u003E\u003Cli\u003ENo manual compute pool configuration is required\u003C/li\u003E\u003Cli\u003EDatabase and schema access is configured at the runtime level\u003C/li\u003E\u003Cli\u003EConnector-specific settings are configured when adding the Google Drive connector\u003C/li\u003E\u003C/ul\u003E\n\u003C/blockquote\u003E\n","\u003Ch2\u003EAdd Google Drive Connector\u003C/h2\u003E\n","\u003Cp\u003EOnce the runtime is active, add the \u003Ca href=\"https://docs.snowflake.com/user-guide/data-integration/openflow/connectors/google-drive/about\"\u003EGoogle Drive connector\u003C/a\u003E (Overview tab in Openflow Home page):\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003EClick \u003Cstrong\u003EAdd Connector\u003C/strong\u003E in your runtime\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003ESearch for &quot;Google Drive&quot; in the connector marketplace\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003ESelect the \u003Cstrong\u003EGoogle Drive\u003C/strong\u003E connector\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_unstruct_connectors_list.png\" alt=\"Openflow Connectors List\"\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EClick \u003Cstrong\u003EAdd to Runtime\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_add_connector_to_runtime.gif\" alt=\"Add Connector to Runtime\"\u003E\u003C/p\u003E\n\u003C/li\u003E\u003C/ol\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENOTE:\u003C/strong\u003E After adding the connector to the runtime, you may see authorization prompts. Accept these prompts to allow the connector to access the runtime and required resources.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003EThe connector will be automatically added to your canvas:\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_gdrive_in_canvas.png\" alt=\"Google Drive Connector in Canvas\"\u003E\u003C/p\u003E\n","\u003Ch3\u003EPrepare Google Drive Location\u003C/h3\u003E\n","\u003Cp\u003EBefore configuring the connector, set up your Google Drive location:\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECreate Shared Drive\u003C/strong\u003E: In Google Drive web interface, create a new shared drive. This will be used as your \u003Cstrong\u003EGoogle Drive ID\u003C/strong\u003E in the connector configuration.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECreate Festival Operations Folder\u003C/strong\u003E: Inside the shared drive, create a folder named &quot;Festival Operations&quot;. This will be used as your \u003Cstrong\u003EGoogle Folder Name\u003C/strong\u003E in the connector configuration.\u003C/p\u003E\n\u003C/li\u003E\u003C/ol\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETIP:\u003C/strong\u003E Keep your Google Drive browser tab open - you'll need the shared drive ID and folder name for the next configuration step.\u003C/p\u003E\n\u003C/blockquote\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EConfigure Document Ingestion Pipeline\u003C/h2\u003E\n","\u003Cp\u003ENow configure the Google Drive connector with the following parameters:\u003C/p\u003E\n","\u003Ch3\u003EConfigure Source Parameters\u003C/h3\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_gdrive_source_parameters.png\" alt=\"Google Drive Source Parameters\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EGCP Service Account JSON\u003C/strong\u003E: Paste the JSON content from your Google Service Account key file\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EGoogle Delegation User\u003C/strong\u003E: \u003Ccode\u003Ehi@kameshs.dev\u003C/code\u003E (your Google Workspace user with drive access)\u003C/li\u003E\u003C/ul\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ESECURITY BEST PRACTICE:\u003C/strong\u003E For production environments, consider using a \u003Cstrong\u003ESecretManagerParameterProvider\u003C/strong\u003E (such as \u003Ccode\u003EAwsSecretsManagerParameterProvider\u003C/code\u003E) to securely manage sensitive credentials like the GCP Service Account JSON. This approach stores secrets in a dedicated secrets manager instead of directly in the connector configuration, providing better security and easier credential rotation.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003EConfigure Destination Parameters\u003C/h3\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_gdrive_destination_parameters.png\" alt=\"Google Drive Destination Parameters\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EDestination Database\u003C/strong\u003E: \u003Ccode\u003EOPENFLOW_FESTIVAL_DEMO\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EDestination Schema\u003C/strong\u003E: \u003Ccode\u003EFESTIVAL_OPS\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ESnowflake Authentication Strategy\u003C/strong\u003E: \u003Ccode\u003ESNOWFLAKE_SESSION_TOKEN\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ESnowflake Role\u003C/strong\u003E: \u003Ccode\u003EFESTIVAL_DEMO_ROLE\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ESnowflake Warehouse\u003C/strong\u003E: \u003Ccode\u003EFESTIVAL_DEMO_S\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003EConfigure Ingestion Parameters\u003C/h3\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENOTE:\u003C/strong\u003E By default, this section inherits parameters from &quot;Configure Source Parameters&quot; and &quot;Configure Destination Parameters&quot; sections above. For clarity in this quickstart, we'll turn off inheritance and configure only the required ingestion-specific parameters.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003ENavigate to Parameter Contexts from Runtime Canvas:\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_parameter_contexts.gif\" alt=\"Navigate to Parameter Contexts\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETurn Off Parameter Inheritance\u003C/strong\u003E (for clarity):\u003C/p\u003E\n","\u003Cp\u003EClick the checkbox to disable inherited parameters and show only ingestion-specific settings:\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_gdrive_ingestion_parameters_off_inhertience.png\" alt=\"Turn Off Inherited Parameters\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EConfigure the Ingestion Parameters:\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003ENow configure only the ingestion-specific parameters:\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_gdrive_ingestion_parameters_no_inhertiance.png\" alt=\"Google Drive Ingestion Parameters\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EFile Extensions To Ingest\u003C/strong\u003E: \u003Ccode\u003Epdf,txt,docx,xlsx,pptx,html,jpg\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EGoogle Domain\u003C/strong\u003E: \u003Ccode\u003E[YOUR WORKSPACE DOMAIN]\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EGoogle Drive ID\u003C/strong\u003E: \u003Ccode\u003E[Your shared drive ID]\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EGoogle Folder Name\u003C/strong\u003E: \u003Ccode\u003EFestival Operations\u003C/code\u003E (The folder path in your Google Shared Drive)\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EOCR Mode\u003C/strong\u003E: \u003Ccode\u003ELAYOUT\u003C/code\u003E (preserves document structure during text extraction)\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ESnowflake Cortex Search Service Role\u003C/strong\u003E: \u003Ccode\u003EFESTIVAL_DEMO_ROLE\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003ETest and Run the Pipeline\u003C/h3\u003E\n","\u003Cp\u003EAfter configuring all parameters, you need to enable and start the pipeline by right-clicking on the canvas:\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003EEnable Controller Services: Right-click on the canvas and select \u003Cstrong\u003EEnable all controller services\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_enable_all_services.png\" alt=\"Enable All Controller Services\"\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EStart the Connector: Right-click on the canvas and select \u003Cstrong\u003EStart\u003C/strong\u003E to begin the connector and all processors\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_start_pipeline.png\" alt=\"Start Pipeline\"\u003E\u003C/p\u003E\n\u003C/li\u003E\u003C/ol\u003E\n","\u003Cp\u003EOnce started, you should see the connector running with active processors:\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_started.png\" alt=\"Connector Started\"\u003E\u003C/p\u003E\n","\u003Ch3\u003EWhat Happens Next\u003C/h3\u003E\n","\u003Cp\u003EThe pipeline will automatically:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EConnect to Google Drive\u003C/strong\u003E - Authenticates using your service account credentials\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EScan for documents\u003C/strong\u003E - Recursively searches the specified folder for supported file formats\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EExtract content\u003C/strong\u003E - Processes PDF, DOCX, PPTX, JPG files using OCR and text extraction\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EStore in Snowflake\u003C/strong\u003E - Creates tables and stages for documents, metadata, and permissions\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ECreate Cortex Search\u003C/strong\u003E - Automatically sets up the search service with Arctic embeddings\u003C/li\u003E\u003C/ul\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EPrepare Sample Documents\u003C/h2\u003E\n","\u003Cp\u003EBefore running the pipeline, you need to prepare the Festival Operations sample documents in your Google Drive.\u003C/p\u003E\n","\u003Ch3\u003EVerify Document Collection\u003C/h3\u003E\n","\u003Cp\u003EThe repository includes \u003Cstrong\u003E15 business documents\u003C/strong\u003E across multiple formats in the \u003Ccode\u003Esample-data/google-drive-docs/\u003C/code\u003E directory:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Esample-data/google-drive-docs/\n├── Analysis/\n│   └── Post-Event-Analysis-Summer-2024.pptx\n├── Compliance/\n│   └── Health-Safety-Policy.pdf\n├── Executive Meetings/\n│   └── Board-Meeting-Minutes-Q4-2024.docx\n├── Financial Reports/\n│   └── Q3-2024-Financial-Analysis.pdf\n├── Operations/\n│   ├── Venue-Setup-Operations-Manual-0.jpg\n│   ├── Venue-Setup-Operations-Manual-1.jpg\n│   ├── Venue-Setup-Operations-Manual-2.jpg\n│   └── Venue-Setup-Operations-Manual-3.jpg\n├── Projects/\n│   └── Sound-System-Modernization-Project-Charter.docx\n├── Strategic Planning/\n│   ├── 2025-Festival-Expansion-Strategy-0.jpg\n│   ├── 2025-Festival-Expansion-Strategy-1.jpg\n│   ├── 2025-Festival-Expansion-Strategy-2.jpg\n│   ├── 2025-Festival-Expansion-Strategy-3.jpg\n│   └── 2025-Festival-Expansion-Strategy-4.jpg\n├── Training/\n│   └── Customer-Service-Training-Guide.pptx\n└── Vendors/\n    └── Audio-Equipment-Service-Agreement.pdf\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Cstrong\u003EDocument Formats\u003C/strong\u003E: PDF, DOCX, PPTX, JPG - demonstrating true multi-format document intelligence\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENOTE:\u003C/strong\u003E The \u003Ccode\u003E.md\u003C/code\u003E files in the repository are source templates. The demo uses the converted formats shown above.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003EGoogle Drive Setup\u003C/h3\u003E\n","\u003Cp\u003EComplete the document preparation in your Google Drive:\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECreate Folder Structure\u003C/strong\u003E: Inside the &quot;Festival Operations&quot; folder you created earlier, create these subfolders matching the \u003Ccode\u003Esample-data/google-drive-docs/\u003C/code\u003E structure:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EStrategic Planning/\u003C/li\u003E\u003Cli\u003EOperations/\u003C/li\u003E\u003Cli\u003ECompliance/\u003C/li\u003E\u003Cli\u003ETraining/\u003C/li\u003E\u003Cli\u003EAnalysis/\u003C/li\u003E\u003Cli\u003EExecutive Meetings/\u003C/li\u003E\u003Cli\u003EFinancial Reports/\u003C/li\u003E\u003Cli\u003EProjects/\u003C/li\u003E\u003Cli\u003EVendors/\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EUpload Documents\u003C/strong\u003E: Drag and drop files from your local \u003Ccode\u003Esample-data/google-drive-docs/\u003C/code\u003E directory into the corresponding folders\u003C/p\u003E\n\u003C/li\u003E\u003C/ol\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETIP:\u003C/strong\u003E Maintain the same folder structure in Google Drive as in \u003Ccode\u003Esample-data/google-drive-docs/\u003C/code\u003E to organize documents by category. The connector's \u003Cstrong\u003ERecursive\u003C/strong\u003E mode will scan all subfolders automatically.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003EVerify Document Upload\u003C/h3\u003E\n","\u003Cp\u003EAfter uploading, verify your Google Drive &quot;Festival Operations&quot; folder contains all 15 documents across multiple formats:\u003C/p\u003E\n\u003Ctable\u003E\u003Cthead\u003E\u003Ctr\u003E\u003Cth colspan=\"1\" rowspan=\"1\"\u003EFolder\u003C/th\u003E\u003Cth colspan=\"1\" rowspan=\"1\"\u003EDocument\u003C/th\u003E\u003Cth colspan=\"1\" rowspan=\"1\"\u003EFormat\u003C/th\u003E\u003C/tr\u003E\u003C/thead\u003E\u003Ctbody\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EStrategic Planning\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E2025-Festival-Expansion-Strategy (5 images)\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EJPG\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EOperations\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EVenue-Setup-Operations-Manual (4 images)\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EJPG\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EProjects\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003ESound-System-Modernization-Project-Charter\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EDOCX\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EFinancial Reports\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EQ3-2024-Financial-Analysis\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EPDF\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003ECompliance\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EHealth-Safety-Policy\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EPDF\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EVendors\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EAudio-Equipment-Service-Agreement\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EPDF\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EAnalysis\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EPost-Event-Analysis-Summer-2024\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EPPTX\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003ETraining\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003ECustomer-Service-Training-Guide\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EPPTX\u003C/td\u003E\u003C/tr\u003E\u003C/tbody\u003E\u003C/table\u003E\n","\u003Cp\u003E\u003Cstrong\u003EFormat Summary:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003E9 JPG files\u003C/strong\u003E - Image-based documents (scanned expansion strategy and operations manual)\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003E3 PDF files\u003C/strong\u003E - Financial analysis, policies, and vendor agreements\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003E1 DOCX file\u003C/strong\u003E - Meeting minutes or project charter\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003E2 PPTX files\u003C/strong\u003E - Analysis presentations and training materials\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ETotal: 15 documents\u003C/strong\u003E demonstrating multi-format document intelligence\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003EMonitor Pipeline Execution\u003C/h3\u003E\n","\u003Cp\u003EOnce the Google Drive Connector starts, you can monitor the pipeline execution directly from the canvas. The processor group displays real-time statistics:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EQueued\u003C/strong\u003E - Documents waiting to be processed (shows count and byte size)\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EIn\u003C/strong\u003E - Documents currently being received from Google Drive\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ERead/Write\u003C/strong\u003E - Documents being read from or written to Snowflake stages and tables\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EOut\u003C/strong\u003E - Documents successfully processed and moved to the next stage\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_monitor_pipeline.gif\" alt=\"Monitor Pipeline\"\u003E\u003C/p\u003E\n","\u003Cp\u003EThe animation demonstrates:\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003E\u003Cstrong\u003EHover over the processor group\u003C/strong\u003E to see a detailed statistics tooltip with real-time metrics\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EClick on the &quot;Google Drive (Cortex Connect)&quot; processor group\u003C/strong\u003E to drill down into the pipeline components\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EView individual processors\u003C/strong\u003E including:\n\u003Cul\u003E\u003Cli\u003EGoogle Drive source connector pulling documents\u003C/li\u003E\u003Cli\u003EDocument transformation processors\u003C/li\u003E\u003Cli\u003ESnowflake destination processors writing to tables\u003C/li\u003E\u003Cli\u003EController services managing the flow\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ENavigate back to the canvas\u003C/strong\u003E to see the overall pipeline health\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EMonitor byte throughput\u003C/strong\u003E for each stage (In, Read/Write, Out) shown in the statistics panel\u003C/li\u003E\u003C/ol\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENOTE:\u003C/strong\u003E Pipeline statistics automatically reset every 5 minutes, providing a rolling view of recent activity.\u003C/p\u003E\n\u003C/blockquote\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EData Pipeline Results\u003C/h2\u003E\n","\u003Ch3\u003EVerify Document Ingestion\u003C/h3\u003E\n","\u003Cp\u003ECheck that documents have been successfully ingested using the verification queries:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Switch to the correct role and database\nUSE ROLE FESTIVAL_DEMO_ROLE;\nUSE WAREHOUSE FESTIVAL_DEMO_S;\nUSE DATABASE OPENFLOW_FESTIVAL_DEMO;\nUSE SCHEMA FESTIVAL_OPS;\n\n-- Show all tables created by Openflow connector\nSHOW TABLES;\n\n-- Show all stages created by Openflow connector\nSHOW STAGES;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch3\u003ECheck Auto-Created Tables\u003C/h3\u003E\n","\u003Cp\u003EThe Openflow connector automatically creates several tables for document management:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Describe the auto-created tables\nDESC TABLE docs_chunks;      -- Document content chunks\nDESC TABLE docs_groups;      -- Document groupings\nDESC TABLE docs_perms;       -- Document permissions\nDESC TABLE doc_group_perms;  -- Group permissions\nDESC TABLE file_hashes;      -- File tracking and metadata\nDESC TABLE perms_groups;     -- Permission groups\n\n-- View file tracking information\nSELECT * FROM file_hashes;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch3\u003EExplore Document Content\u003C/h3\u003E\n","\u003Cp\u003EQuery the document chunks to see ingested content:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- View document chunks\nSELECT * FROM docs_chunks LIMIT 10;\n\n-- Get distinct document IDs and filenames\nSELECT DISTINCT \n    METADATA:id::string as id, \n    METADATA:fullName::string as filename \nFROM docs_chunks;\n\n-- Check specific document categories\nSELECT COUNT(DOC_ID) \nFROM file_hashes \nWHERE LOWER(DOC_ID) LIKE '%strategy%';\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch3\u003EComprehensive Document Verification\u003C/h3\u003E\n","\u003Cp\u003EVerify all documents are ingested across demo categories:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Comprehensive document verification by demo category\nSELECT \n    COUNT(*) as total_docs,\n\n    -- Strategic Planning Documents (Expected: 7)\n    COUNT(CASE WHEN \n        LOWER(DOC_ID) LIKE '%strategy%' OR \n        LOWER(DOC_ID) LIKE '%board%meeting%' OR \n        LOWER(DOC_ID) LIKE '%meeting%minutes%' OR\n        LOWER(DOC_ID) LIKE '%financial%analysis%' OR\n        LOWER(DOC_ID) LIKE '%q3%2024%financial%'\n    THEN 1 END) as strategic_docs,\n\n    -- Operations Excellence Documents (Expected: 5)\n    COUNT(CASE WHEN \n        (LOWER(DOC_ID) LIKE '%operation%manual%' OR LOWER(DOC_ID) LIKE '%venue%setup%') OR\n        (LOWER(DOC_ID) LIKE '%sound%system%' AND LOWER(DOC_ID) LIKE '%project%') OR\n        (LOWER(DOC_ID) LIKE '%post%event%analysis%')\n    THEN 1 END) as operations_docs,\n\n    -- Compliance &amp; Risk Documents (Expected: 3)\n    COUNT(CASE WHEN \n        (LOWER(DOC_ID) LIKE '%health%safety%' OR LOWER(DOC_ID) LIKE '%safety%policy%') OR\n        (LOWER(DOC_ID) LIKE '%service%agreement%' OR LOWER(DOC_ID) LIKE '%audio%equipment%') OR\n        (LOWER(DOC_ID) LIKE '%post%event%analysis%')\n    THEN 1 END) as compliance_docs,\n\n    -- Knowledge Management Documents (Expected: 1)\n    COUNT(CASE WHEN \n        LOWER(DOC_ID) LIKE '%training%guide%' OR \n        LOWER(DOC_ID) LIKE '%customer%service%training%'\n    THEN 1 END) as training_docs,\n\n    -- Document format breakdown\n    COUNT(CASE WHEN LOWER(DOC_ID) LIKE '%.jpg' THEN 1 END) as jpg_files,\n    COUNT(CASE WHEN LOWER(DOC_ID) LIKE '%.pdf' THEN 1 END) as pdf_files,\n    COUNT(CASE WHEN LOWER(DOC_ID) LIKE '%.docx' THEN 1 END) as docx_files,\n    COUNT(CASE WHEN LOWER(DOC_ID) LIKE '%.pptx' THEN 1 END) as pptx_files\n\nFROM file_hashes;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Cstrong\u003EExpected Results:\u003C/strong\u003E\u003C/p\u003E\n\u003Ctable\u003E\u003Cthead\u003E\u003Ctr\u003E\u003Cth colspan=\"1\" rowspan=\"1\"\u003EMetric\u003C/th\u003E\u003Cth colspan=\"1\" rowspan=\"1\"\u003ECount\u003C/th\u003E\u003C/tr\u003E\u003C/thead\u003E\u003Ctbody\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003ETotal Documents\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E15\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EStrategic Planning Documents\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E7\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EOperations Excellence Documents\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E5\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003ECompliance &amp; Risk Documents\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E3\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003ETraining Documents\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E1\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EJPG Files\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E9\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EPDF Files\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E3\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EDOCX Files\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E1\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EPPTX Files\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E2\u003C/td\u003E\u003C/tr\u003E\u003C/tbody\u003E\u003C/table\u003E\n","\u003Ch3\u003ECheck Document Stage\u003C/h3\u003E\n","\u003Cp\u003EVerify the documents stage created by the connector:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- List files in the documents stage\nLS @documents;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETIP:\u003C/strong\u003E All verification queries are available in \u003Ccode\u003Esql/checks.sql\u003C/code\u003E in the repository for easy execution.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003EExpected Document Collection\u003C/h3\u003E\n","\u003Cp\u003EThe pipeline should have ingested the Festival Operations business document collection:\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EDocument Categories:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EStrategic Planning\u003C/strong\u003E: 2025 expansion strategies, board meeting minutes, Q3 2024 financial analysis\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EOperations Excellence\u003C/strong\u003E: Sound system modernization project ($2.8M), venue setup procedures, post-event analysis\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ECompliance &amp; Risk\u003C/strong\u003E: Health and safety policies, vendor service agreements\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EKnowledge Management\u003C/strong\u003E: Customer service training materials, staff development programs\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EDocument Formats:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EPDF\u003C/strong\u003E: 3 documents (policies, financial reports, contracts)\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EDOCX\u003C/strong\u003E: 1 document (meeting minutes or project charter)\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EPPTX\u003C/strong\u003E: 2 documents (training presentations, analysis reports)\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EJPG\u003C/strong\u003E: 9 documents (strategic overviews, operational guides - exported from presentations)\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETotal\u003C/strong\u003E: 15 business documents demonstrating multi-format document intelligence\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENOTE:\u003C/strong\u003E All document counts and content are based on the Festival Operations demo dataset from \u003Ccode\u003Esample-data/google-drive-docs/\u003C/code\u003E.\u003C/p\u003E\n\u003C/blockquote\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003ECortex Search\u003C/h2\u003E\n","\u003Ch3\u003EAutomatic Cortex Search Service Creation\u003C/h3\u003E\n","\u003Cp\u003E\u003Cstrong\u003EGreat news!\u003C/strong\u003E The Cortex Search service is \u003Cstrong\u003Eautomatically created\u003C/strong\u003E by the Openflow Google Drive connector. No manual SQL required!\u003C/p\u003E\n","\u003Ch4\u003EHow It Works\u003C/h4\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_data_verify_flow.png\" alt=\"Openflow Data Verification Flow\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EAutomatic Features:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E✅ \u003Cstrong\u003EArctic Embeddings\u003C/strong\u003E: Automatically configured with \u003Ccode\u003Esnowflake-arctic-embed-m-v1.5\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E✅ \u003Cstrong\u003EDocument Indexing\u003C/strong\u003E: All processed documents automatically indexed\u003C/li\u003E\u003Cli\u003E✅ \u003Cstrong\u003ESemantic Search\u003C/strong\u003E: Ready for natural language queries immediately\u003C/li\u003E\u003Cli\u003E✅ \u003Cstrong\u003EMetadata Integration\u003C/strong\u003E: Document properties, authors, and collaboration data included\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch4\u003EVerify Automatic Service Creation\u003C/h4\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Check for the auto-created service\nSHOW CORTEX SEARCH SERVICES;\n\n-- The service will be named: CORTEX_SEARCH_SERVICE (default name)\nDESC CORTEX SEARCH SERVICE CORTEX_SEARCH_SERVICE;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch3\u003ETest Semantic Search\u003C/h3\u003E\n","\u003Cp\u003ETest the automatically created search service with Festival Operations queries:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Search for strategic planning documents\nSELECT PARSE_JSON(\n  SNOWFLAKE.CORTEX.SEARCH_PREVIEW(\n      'CORTEX_SEARCH_SERVICE',\n      '{&quot;query&quot;: &quot;2025 expansion plans target markets strategic planning&quot;, &quot;limit&quot;: 5}'\n  )\n)['results'] as strategic_documents;\n\n-- Search for technology modernization projects  \nSELECT PARSE_JSON(\n  SNOWFLAKE.CORTEX.SEARCH_PREVIEW(\n      'CORTEX_SEARCH_SERVICE',\n      '{&quot;query&quot;: &quot;technology modernization sound system upgrade budget 2.8M&quot;, &quot;limit&quot;: 5}'\n  )\n)['results'] as technology_projects;\n\n-- Search for health and safety policies\nSELECT PARSE_JSON(\n  SNOWFLAKE.CORTEX.SEARCH_PREVIEW(\n      'CORTEX_SEARCH_SERVICE',\n      '{&quot;query&quot;: &quot;health safety policies emergency protocols compliance&quot;, &quot;limit&quot;: 5}'\n  )\n)['results'] as safety_policies;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch3\u003EAdditional Search Capabilities\u003C/h3\u003E\n","\u003Cp\u003EThe auto-created service includes both content and metadata search capabilities. You can search across:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EDocument content\u003C/strong\u003E: Full text search with semantic understanding\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EMetadata\u003C/strong\u003E: File names, authors, creation dates, document types\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EMulti-format support\u003C/strong\u003E: PDF, DOCX, PPTX, JPG documents\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003ESample Questions by Category\u003C/h3\u003E\n","\u003Cp\u003EBased on the Festival Operations dataset, here are sample questions organized by business function:\u003C/p\u003E\n","\u003Ch4\u003EStrategic Planning &amp; Executive Intelligence\u003C/h4\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What are our 2025 expansion plans and target markets?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Show me all financial analysis and revenue projections&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What decisions were made in the latest board meeting?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Find all budget allocations and investment strategies&quot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch4\u003EOperations Excellence &amp; Technology\u003C/h4\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Find all technology modernization projects and their budgets&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What is our $2.8M sound system upgrade timeline?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Show me all equipment management protocols&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What post-event analysis recommendations exist?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch4\u003ECompliance &amp; Risk Management\u003C/h4\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What health and safety policies are currently in effect?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Show me all vendor contracts and service agreements&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Find emergency response procedures&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What regulatory compliance requirements exist?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch4\u003EKnowledge Management &amp; Training\u003C/h4\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Find all training materials and staff development programs&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What customer service standards are documented?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Show me onboarding procedures for new staff&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What training frameworks are currently in use?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch4\u003EAdvanced Cross-Category Queries\u003C/h4\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What are our 2025 expansion plans across all document formats - show me visual charts, meeting decisions, and financial projections&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Find all technology modernization projects with their business cases, budgets, and visual diagrams&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What health and safety policies are in effect across all formats - show me formal policies, vendor agreements, and visual guides&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETIP:\u003C/strong\u003E These sample questions are designed specifically for the Festival Operations dataset. Use them as templates and adapt the language to match your organization's terminology and business context.\u003C/p\u003E\n\u003C/blockquote\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003ESnowflake CoWork\u003C/h2\u003E\n","\u003Cp\u003ESnowflake CoWork enables you to create AI agents that can query and analyze your unstructured data using natural language. This section shows how to connect Snowflake CoWork to the Cortex Search service created by your Openflow pipeline.\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003EIMPORTANT:\u003C/strong\u003E All queries from Snowflake CoWork use the user's credentials. Role-based access control and data-masking policies automatically apply to all agent interactions.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003EPrerequisites\u003C/h3\u003E\n","\u003Cp\u003EBefore setting up Snowflake CoWork, ensure you have:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E✅ Completed Openflow pipeline setup with documents ingested\u003C/li\u003E\u003Cli\u003E✅ Appropriate Snowflake privileges (\u003Ccode\u003ECREATE AGENT\u003C/code\u003E privilege)\u003C/li\u003E\u003Cli\u003E✅ Default role and warehouse set in your Snowflake user profile\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003EInitial Setup\u003C/h3\u003E\n","\u003Cp\u003ECreate the required database and schema structure:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Use ACCOUNTADMIN role for setup\nUSE ROLE ACCOUNTADMIN;\n\n-- Create database for Snowflake CoWork\nCREATE DATABASE IF NOT EXISTS snowflake_intelligence;\nGRANT USAGE ON DATABASE snowflake_intelligence TO ROLE PUBLIC;\n\n-- Create agents schema\nCREATE SCHEMA IF NOT EXISTS snowflake_intelligence.agents;\nGRANT USAGE ON SCHEMA snowflake_intelligence.agents TO ROLE PUBLIC;\n\n-- Grant agent creation privileges to your role\nGRANT CREATE AGENT ON SCHEMA snowflake_intelligence.agents TO ROLE FESTIVAL_DEMO_ROLE;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch3\u003ECreate the Agent\u003C/h3\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003EIMPORTANT:\u003C/strong\u003E Before creating the agent, ensure you are using the \u003Ccode\u003EFESTIVAL_DEMO_ROLE\u003C/code\u003E role in Snowsight. This ensures the agent is owned by the correct role and has proper access to resources. You can switch roles using the role selector in the top-right corner of Snowsight.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch4\u003EAccess Agent Creation Interface\u003C/h4\u003E\n\u003Col\u003E\u003Cli\u003ESign in to Snowsight\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ESwitch to \u003Ccode\u003EFESTIVAL_DEMO_ROLE\u003C/code\u003E\u003C/strong\u003E using the role selector in the top-right corner\u003C/li\u003E\u003Cli\u003ENavigate directly to Agents: &lt;a href=&quot;https://app.snowflake.com/_deeplink/#/agents?utm_source=snowflake-devrel&amp;utm_medium=developer-guides&amp;utm_campaign=-us-en-all&amp;utm_content=app-buidling-new-snowflake-intelligence-agents&amp;utm_cta=developer-guides-deeplink&quot; class=&quot;_deeplink&quot;&gt;Create Snowflake CoWork Agent&lt;/a&gt;\u003C/li\u003E\u003Cli\u003ESelect \u003Cstrong\u003E&quot;Create agent&quot;\u003C/strong\u003E\u003C/li\u003E\u003C/ol\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_agent_create.png\" alt=\"Agent Creation Interface\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EPlatform Integration:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E☑️ Select \u003Cstrong\u003E&quot;Create this agent for Snowflake CoWork&quot;\u003C/strong\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EAgent Details:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EAgent object name:\u003C/strong\u003E \u003Ccode\u003EFESTIVAL_DOC_INTELLIGENCE\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EDisplay name:\u003C/strong\u003E \u003Ccode\u003EFestival Document Intelligence\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch4\u003EConfigure Agent Basics\u003C/h4\u003E\n","\u003Cp\u003EAfter creating the agent, you need to configure its details:\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EClick on the agent name\u003C/strong\u003E (\u003Ccode\u003EFESTIVAL_DOC_INTELLIGENCE\u003C/code\u003E) in the agent list to open it\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_agents_list.png\" alt=\"Agents List\"\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EClick &quot;Edit&quot;\u003C/strong\u003E button to start editing the agent configuration and details\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_agent_edit.png\" alt=\"Agent Edit Button\"\u003E\u003C/p\u003E\n\u003C/li\u003E\u003C/ol\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003EIMPORTANT:\u003C/strong\u003E As you configure each section below (About, Tools, Orchestration, Access), remember to click \u003Cstrong\u003E&quot;SAVE&quot;\u003C/strong\u003E after completing all configurations to ensure your changes are preserved.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003ENow configure the agent basics in the &quot;About&quot; section:\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_agent_about.png\" alt=\"Agent About Configuration\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EDescription:\u003C/strong\u003E \u003Ccode\u003EQuery and analyze business documents using natural language, powered by festival operations data processed via Openflow pipeline.\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EExample Questions\u003C/strong\u003E (Add these to help users get started):\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What are our 2025 expansion plans and target markets?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Find all technology modernization projects and their budgets&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What health and safety policies are currently in effect?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Find all training materials and staff development programs&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Which documents have the most collaboration and strategic importance?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch3\u003EConfigure Agent Tools\u003C/h3\u003E\n","\u003Ch4\u003EAdd Cortex Search Service\u003C/h4\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_agent_tools_defaults.gif\" alt=\"Agent Tools Configuration\"\u003E\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003ENavigate to \u003Cstrong\u003E&quot;Tools&quot;\u003C/strong\u003E tab\u003C/li\u003E\u003Cli\u003EFind \u003Cstrong\u003E&quot;Cortex Search Services&quot;\u003C/strong\u003E section\u003C/li\u003E\u003Cli\u003EClick \u003Cstrong\u003E&quot;+ Add&quot;\u003C/strong\u003E button\u003C/li\u003E\u003C/ol\u003E\n","\u003Cp\u003E\u003Cstrong\u003EConfigure the Search Service:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EName:\u003C/strong\u003E \u003Ccode\u003EFESTIVAL_OPS_INTELLIGENCE\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ESearch Service:\u003C/strong\u003E \u003Ccode\u003EOPENFLOW_FESTIVAL_DEMO.FESTIVAL_OPS.CORTEX_SEARCH_SERVICE\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EDescription:\u003C/strong\u003E \u003Ccode\u003EQuery and analyze business documents using natural language, powered by festival operations data processed via Openflow pipeline.\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETIP:\u003C/strong\u003E The search service name follows the pattern \u003Ccode\u003EDATABASE_NAME.SCHEMA_NAME.SERVICE_NAME\u003C/code\u003E. In this case:\n\u003Ccode\u003EOPENFLOW_FESTIVAL_DEMO.FESTIVAL_OPS.CORTEX_SEARCH_SERVICE\u003C/code\u003E\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003EConfigure Orchestration\u003C/h3\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_agent_orchestration.png\" alt=\"Agent Orchestration Configuration\"\u003E\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003ENavigate to \u003Cstrong\u003E&quot;Orchestration&quot;\u003C/strong\u003E tab\u003C/li\u003E\u003Cli\u003ESet \u003Cstrong\u003EModel:\u003C/strong\u003E \u003Ccode\u003Eauto\u003C/code\u003E (recommended - lets Snowflake choose the optimal model)\u003C/li\u003E\u003C/ol\u003E\n","\u003Cp\u003E\u003Cstrong\u003EOrchestration Instructions:\u003C/strong\u003E\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003EWhenever you can answer visually with a chart, always choose to generate a chart even if the user didn't specify to. Respond in the same language as the question wherever possible.\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Cstrong\u003EResponse Instructions:\u003C/strong\u003E (Optional)\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003EAlways provide specific document references when citing information. \nFocus on actionable insights and business value in your responses.\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETIP:\u003C/strong\u003E Use \u003Ccode\u003Eauto\u003C/code\u003E (default) to let Snowflake automatically select the best available model for your region and query type. Supported models include Claude 4.0, Claude 3.7, Claude 3.5, and GPT 4.1.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003ESet Access Controls\u003C/h3\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_agent_access.png\" alt=\"Agent Access Configuration\"\u003E\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003ENavigate to \u003Cstrong\u003E&quot;Access&quot;\u003C/strong\u003E tab\u003C/li\u003E\u003Cli\u003EClick \u003Cstrong\u003E&quot;Add role&quot;\u003C/strong\u003E\u003C/li\u003E\u003Cli\u003ESelect appropriate roles for your organization\u003C/li\u003E\u003C/ol\u003E\n","\u003Cp\u003E\u003Cstrong\u003EExample Role Configuration:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003ERole:\u003C/strong\u003E \u003Ccode\u003EFESTIVAL_DEMO_ROLE\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EPermission:\u003C/strong\u003E \u003Ccode\u003EOWNERSHIP\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENOTE:\u003C/strong\u003E All queries use the user's credentials. Ensure users have appropriate access to the Cortex Search service, source database/schema, and underlying data.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003ETest Your Agent\u003C/h3\u003E\n","\u003Ch4\u003EGetting Started with Queries\u003C/h4\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003EAccess Snowflake CoWork: \u003Ca href=\"https://ai.snowflake.com/sfdevrel/sfdevrel_enterprise/#/ai?utm_source=snowflake-devrel&amp;utm_medium=developer-guides&amp;utm_campaign=-us-en-all&amp;utm_content=app-snowflake-intelligence-chat\"\u003EOpen Snowflake CoWork\u003C/a\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003ESelect your agent \u003Ccode\u003EFESTIVAL_DOC_INTELLIGENCE\u003C/code\u003E from the dropdown\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_chat_choose_agent.png\" alt=\"Choose Agent\"\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EChoose the Cortex Search service as your data source\u003C/p\u003E\n\u003C/li\u003E\u003C/ol\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStart with the Example Questions\u003C/strong\u003E you configured - these are specifically tailored to your festival operations data.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_queries.gif\" alt=\"Agent Queries\"\u003E\u003C/p\u003E\n","\u003Ch4\u003ESample Questions by Category\u003C/h4\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStrategic Planning\u003C/strong\u003E:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What are our 2025 expansion plans and target markets?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What strategic initiatives are mentioned in board meeting minutes?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Cstrong\u003EOperations Excellence\u003C/strong\u003E:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Find all technology modernization projects and their budgets&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What are the key takeaways from the post-event analysis?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECompliance &amp; Risk\u003C/strong\u003E:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What health and safety policies are currently in effect?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What are the terms and conditions in our vendor service agreements?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Cstrong\u003EKnowledge Management\u003C/strong\u003E:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Find all training materials and staff development programs&quot;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What customer service training resources are available?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EAdvanced Use Cases\u003C/h2\u003E\n","\u003Ch3\u003EMulti-Document Analysis\u003C/h3\u003E\n","\u003Cp\u003EUse the agent for complex analysis across multiple documents:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Compare our Q3 2024 financial performance with the strategic goals outlined in our 2025 expansion plan. What gaps exist and what actions are recommended?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003EThis type of query demonstrates the agent's ability to:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003ESearch across different document types\u003C/li\u003E\u003Cli\u003EPerform comparative analysis\u003C/li\u003E\u003Cli\u003EIdentify discrepancies and gaps\u003C/li\u003E\u003Cli\u003EProvide strategic recommendations\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003ETrend Analysis\u003C/h3\u003E\n","\u003Cp\u003EIdentify patterns and trends across time-based documents:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What trends do you see in customer complaints and incident reports over the past year? What preventive measures have been implemented?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch3\u003EKnowledge Discovery\u003C/h3\u003E\n","\u003Cp\u003EFind hidden insights and connections:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;What vendor performance issues are mentioned across different documents, and how do they relate to our operational challenges?&quot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch3\u003EExecutive Briefing\u003C/h3\u003E\n","\u003Cp\u003EGenerate comprehensive briefings:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Prepare an executive summary of key issues and decisions from our Q4 2024 board meeting, including action items and their current status based on other documents.&quot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch3\u003ECompliance Monitoring\u003C/h3\u003E\n","\u003Cp\u003EAutomated compliance checking:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-text\"\u003E&quot;Review all our safety policies and incident reports to identify any compliance gaps or policy updates needed.&quot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch3\u003ECreate Custom Views with AI Summarization\u003C/h3\u003E\n","\u003Cp\u003ECreate enhanced views using \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/functions/ai_complete\"\u003EAI_COMPLETE\u003C/a\u003E for intelligent document summaries. These views can power custom Cortex Search services tailored to specific use cases.\u003C/p\u003E\n","\u003Ch4\u003ECreate AI-Enhanced Document View\u003C/h4\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- View with AI-generated document summaries\n-- Uses AI_COMPLETE to generate concise, intelligent summaries\nCREATE OR REPLACE VIEW document_summaries AS\nSELECT \n    DOC_ID,\n    METADATA:fullName::string as full_name,\n    METADATA:webUrl::string as web_url,\n    METADATA:lastModifiedDateTime::timestamp as last_modified_date_time,\n    chunk as original_chunk,\n    -- AI-powered summary generation\n    SNOWFLAKE.CORTEX.AI_COMPLETE(\n        'mistral-large2',\n        CONCAT(\n            'Summarize this document content in 2-3 sentences, focusing on key information: ',\n            chunk\n        )\n    ) as ai_summary,\n    user_emails,\n    user_ids\nFROM docs_chunks;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENOTE:\u003C/strong\u003E AI_COMPLETE uses \u003Ca href=\"https://docs.snowflake.com/en/user-guide/snowflake-cortex/llm-functions\"\u003EMistral Large 2\u003C/a\u003E to generate intelligent summaries. You can also use \u003Ccode\u003Emistral-large\u003C/code\u003E, \u003Ccode\u003Ellama3.1-70b\u003C/code\u003E, or other supported models.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch4\u003ECreate Custom Cortex Search Service\u003C/h4\u003E\n","\u003Cp\u003EOnce you have the custom view, create a dedicated Cortex Search service:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Create a custom Cortex Search service using the AI-enhanced view\nCREATE OR REPLACE CORTEX SEARCH SERVICE festival_ai_summaries_search\nON ai_summary\nATTRIBUTES full_name, web_url, last_modified_date_time, user_emails\nWAREHOUSE = FESTIVAL_DEMO_S\nTARGET_LAG = '1 day'\nAS (\n    SELECT \n        DOC_ID,\n        ai_summary,\n        full_name,\n        web_url,\n        last_modified_date_time,\n        user_emails\n    FROM document_summaries\n);\n\n-- Verify the new service\nSHOW CORTEX SEARCH SERVICES;\nDESC CORTEX SEARCH SERVICE festival_ai_summaries_search;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch4\u003ETest the AI-Enhanced Search Service\u003C/h4\u003E\n","\u003Cp\u003EQuery the custom search service for more focused, summarized results:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Search using AI-generated summaries\nSELECT PARSE_JSON(\n  SNOWFLAKE.CORTEX.SEARCH_PREVIEW(\n      'festival_ai_summaries_search',\n      '{&quot;query&quot;: &quot;strategic planning expansion markets&quot;, &quot;limit&quot;: 5}'\n  )\n)['results'] as summarized_strategic_docs;\n\n-- Compare with original search service\nSELECT PARSE_JSON(\n  SNOWFLAKE.CORTEX.SEARCH_PREVIEW(\n      'CORTEX_SEARCH_SERVICE',\n      '{&quot;query&quot;: &quot;strategic planning expansion markets&quot;, &quot;limit&quot;: 5}'\n  )\n)['results'] as original_strategic_docs;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Cstrong\u003EBenefits of AI-Enhanced Views:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EIntelligent Summarization\u003C/strong\u003E: AI understands context and extracts key information\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EFlexible Querying\u003C/strong\u003E: Create multiple specialized views for different use cases\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EBetter Search Results\u003C/strong\u003E: Summaries provide cleaner, more focused search hits\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EAgent-Friendly\u003C/strong\u003E: Snowflake CoWork agents can leverage summarized content more efficiently\u003C/li\u003E\u003C/ul\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECUSTOMIZATION TIP:\u003C/strong\u003E Create multiple specialized views for different departments (e.g., \u003Ccode\u003Eexecutive_summaries\u003C/code\u003E,\n\u003Ccode\u003Ecompliance_summaries\u003C/code\u003E, \u003Ccode\u003Eoperations_summaries\u003C/code\u003E) and corresponding Cortex Search services for targeted intelligence.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003EBuilding Custom Documents with Taskfile\u003C/h3\u003E\n","\u003Cp\u003EThe repository includes a \u003Ccode\u003ETaskfile.yml\u003C/code\u003E that automates document format conversion, allowing you to create additional documents for testing.\u003C/p\u003E\n","\u003Ch4\u003EPrerequisites\u003C/h4\u003E\n","\u003Cp\u003EInstall \u003Ca href=\"https://taskfile.dev/installation/\"\u003ETask\u003C/a\u003E and \u003Ca href=\"https://pandoc.org/installing.html\"\u003EPandoc\u003C/a\u003E:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-bash\"\u003E# macOS\nbrew install go-task pandoc\n\n# Ubuntu/Debian\nsudo snap install task --classic\nsudo apt-get install pandoc\n\n# Windows (via Chocolatey)\nchoco install go-task pandoc\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch4\u003EAvailable Document Conversion Tasks\u003C/h4\u003E\n","\u003Cp\u003E\u003Cstrong\u003EConvert to PDF\u003C/strong\u003E (Formal documents):\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-bash\"\u003Etask convert-to-pdf\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003EConverts markdown files to PDF format for policies, financial reports, and vendor agreements.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EConvert to PPTX\u003C/strong\u003E (Presentations):\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-bash\"\u003Etask convert-to-pptx\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003ECreates PowerPoint presentations from markdown for training materials and analysis reports.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EConvert to DOCX\u003C/strong\u003E (Word documents):\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-bash\"\u003Etask convert-to-docx\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003EGenerates Word documents from markdown for meeting minutes and project charters.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EConvert to JPG\u003C/strong\u003E (Images):\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-bash\"\u003Etask convert-to-jpg\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003EExports presentations to image format for strategic planning documents and operational guides.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EConvert All Formats\u003C/strong\u003E:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-bash\"\u003Etask convert-all-docs\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003ERuns all conversion tasks to generate documents in all supported formats (PDF, DOCX, PPTX, JPG).\u003C/p\u003E\n","\u003Ch4\u003ECreating Custom Documents\u003C/h4\u003E\n\u003Col\u003E\u003Cli\u003E\u003Cstrong\u003EAdd your markdown file\u003C/strong\u003E to the appropriate category in \u003Ccode\u003Esample-data/google-drive-docs/\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EEdit the Taskfile.yml\u003C/strong\u003E to include your new document in the conversion tasks\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ERun the conversion\u003C/strong\u003E using the appropriate task\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EUpload to Google Drive\u003C/strong\u003E and let Openflow process the new documents\u003C/li\u003E\u003C/ol\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETIP:\u003C/strong\u003E The Taskfile demonstrates how to create multi-format document collections for comprehensive testing of Openflow's document intelligence capabilities.\u003C/p\u003E\n\u003C/blockquote\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003ECleanup\u003C/h2\u003E\n","\u003Cp\u003EWhen you're finished with the demo, follow these steps to clean up resources.\u003C/p\u003E\n","\u003Ch3\u003EStop the Google Drive Connector\u003C/h3\u003E\n\u003Col\u003E\u003Cli\u003ENavigate to your Openflow runtime canvas\u003C/li\u003E\u003Cli\u003ERight-click on the \u003Cstrong\u003EGoogle Drive (Cortex Connect)\u003C/strong\u003E processor group\u003C/li\u003E\u003Cli\u003ESelect \u003Cstrong\u003EStop\u003C/strong\u003E to halt document ingestion\u003C/li\u003E\u003Cli\u003EWait for the connector to fully stop (status indicator turns red)\u003C/li\u003E\u003C/ol\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETIP:\u003C/strong\u003E Stopping the connector preserves your configuration while preventing further document processing and associated compute costs.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003EDrop the Snowflake CoWork Agent (Optional)\u003C/h3\u003E\n","\u003Cp\u003EIf you created an agent and no longer need it:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Switch to the Snowflake CoWork database\nUSE DATABASE snowflake_intelligence;\nUSE SCHEMA agents;\n\n-- Drop the agent\nDROP AGENT IF EXISTS FESTIVAL_DOC_INTELLIGENCE;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch3\u003EDrop the Demo Database (Optional)\u003C/h3\u003E\n","\u003Cp\u003ETo completely remove all data and resources:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003E-- Switch to ACCOUNTADMIN role\nUSE ROLE ACCOUNTADMIN;\n\n-- Drop the entire demo database (includes all tables, stages, and search services)\nDROP DATABASE IF EXISTS OPENFLOW_FESTIVAL_DEMO;\n\n-- Drop the demo warehouse\nDROP WAREHOUSE IF EXISTS FESTIVAL_DEMO_S;\n\n-- Drop the demo role\nDROP ROLE IF EXISTS FESTIVAL_DEMO_ROLE;\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003EWARNING:\u003C/strong\u003E Dropping the database will permanently delete all ingested documents, Cortex Search services, and pipeline configurations. Only perform this if you no longer need the demo.\u003C/p\u003E\n\u003C/blockquote\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EConclusion And Resources\u003C/h2\u003E\n","\u003Cp\u003ECongratulations! You've successfully built an end-to-end unstructured data pipeline using Openflow and Snowflake CoWork. You can now:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EAutomatically ingest documents from Google Drive\u003C/li\u003E\u003Cli\u003ESearch across business documents using natural language\u003C/li\u003E\u003Cli\u003EGet intelligent insights from your document collection\u003C/li\u003E\u003Cli\u003EBuild AI-powered assistants for business intelligence\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003EWhat You Accomplished\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EData Ingestion\u003C/strong\u003E: Set up automated document ingestion from Google Drive using Openflow\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EContent Processing\u003C/strong\u003E: Processed multiple document formats including PDF, DOCX, PPTX, and images\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ESemantic Search\u003C/strong\u003E: Created Cortex Search services for intelligent document discovery\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EAI Agents\u003C/strong\u003E: Built Snowflake CoWork agents for natural language document analysis\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EBusiness Intelligence\u003C/strong\u003E: Enabled strategic insights from unstructured business content\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003EKey Benefits Realized\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EUnified Knowledge Base\u003C/strong\u003E: All business documents searchable from a single interface\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ENatural Language Access\u003C/strong\u003E: No need for complex queries or technical knowledge\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EAutomated Processing\u003C/strong\u003E: New documents automatically available for search and analysis\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EStrategic Insights\u003C/strong\u003E: AI-powered analysis reveals patterns and opportunities\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ECompliance Support\u003C/strong\u003E: Easy access to policies, procedures, and regulatory documents\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003ENext Steps\u003C/h3\u003E\n\u003Col\u003E\u003Cli\u003E\u003Cstrong\u003EExpand Document Sources\u003C/strong\u003E: Add connectors for SharePoint, Slack, or other business systems\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EEnhance Search\u003C/strong\u003E: Create specialized search services for different document categories\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EAdvanced Analytics\u003C/strong\u003E: Build dashboards and reports based on document insights\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EIntegration\u003C/strong\u003E: Connect with existing business intelligence and workflow tools\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EGovernance\u003C/strong\u003E: Implement document retention policies and access controls\u003C/li\u003E\u003C/ol\u003E\n","\u003Ch3\u003ERelated Resources\u003C/h3\u003E\n","\u003Cp\u003E\u003Cstrong\u003EQuickstarts:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Ca href=\"/en/developers/guides/getting-started-with-openflow-spcs/\"\u003EGetting Started with Openflow Snowflake Deployments\u003C/a\u003E - Complete infrastructure setup guide\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"https://github.com/Snowflake-Labs/sfguide-getting-started-openflow-unstructured-data-pipeline\"\u003ESource Code and Sample Data\u003C/a\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EDocumentation:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Ca href=\"https://docs.snowflake.com/en/user-guide/ui-snowsight/workspaces\"\u003ESnowflake Workspaces Documentation\u003C/a\u003E\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-integration/openflow/about\"\u003EOpenflow Documentation\u003C/a\u003E\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-integration/openflow/setup-openflow-spcs\"\u003EOpenflow Snowflake Deployments Setup Guide\u003C/a\u003E - Official setup documentation\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"https://docs.snowflake.com/user-guide/data-integration/openflow/connectors/google-drive/about\"\u003EGoogle Drive Connector Documentation\u003C/a\u003E\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-search/cortex-search-overview\"\u003ECortex Search Documentation\u003C/a\u003E\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"https://docs.snowflake.com/en/user-guide/snowflake-cortex/snowflake-intelligence\"\u003ESnowflake CoWork Documentation\u003C/a\u003E\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"https://docs.snowflake.com/en/developer-guide/snowpark-container-services/overview\"\u003ESnowpark Container Services\u003C/a\u003E\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"https://docs.snowflake.com/en/developer-guide/external-network-access/creating-using-external-network-access\"\u003EExternal Access Integration\u003C/a\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003ECommunity and Support\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Ca href=\"https://community.snowflake.com/\"\u003ESnowflake Community\u003C/a\u003E\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"https://github.com/Snowflake-Labs/sfguide-getting-started-openflow-unstructured-data-pipeline\"\u003EOpenflow GitHub Repository\u003C/a\u003E\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"https://community.snowflake.com/s/\"\u003ESnowflake Support Portal\u003C/a\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003EWe would love your feedback on this QuickStart Guide! Please submit your feedback using the GitHub issues link at the top of this guide.\u003C/p\u003E"],"description":"Getting Started with Openflow Unstructured Data Pipeline using Google Drive and Snowflake CoWork","title":"Getting Started with Openflow Unstructured Data Pipeline","isDeveloperGuidesPage":false,":type":"snowflake-site/components/contentfragment",":items":{},":itemsOrder":[],"elements":{"quickstartArticleBody":{"title":"Quickstart Article Body","dataType":"string","value":"\u003C!-- ------------------------ --\u003E\n## Overview\n\nThis demo showcases how to transform Google Drive business documents into actionable strategic intelligence using Snowflake's unstructured data processing capabilities.\n\n### Festival Operations Demo Dataset\n\nYou'll work with a realistic **Festival Operations** business document collection that includes:\n\n- **15 business documents** across multiple formats (PDF, DOCX, PPTX, JPG)\n- **4 strategic categories**: Strategic Planning, Operations Excellence, Compliance & Risk, Knowledge Management  \n- **Real business scenarios**: $2.8M technology investments, market expansion strategies, regulatory compliance\n- **Multi-format intelligence**: Demonstrating cross-format document search and analysis\n\n\u003E **IMPORTANT - Demo Data Disclaimer:** All business data, financial figures, and organizational information in this demo are **entirely fictitious** and created for demonstration purposes only. This includes financial figures, project timelines, employee data, and business scenarios.\n\nBy completing this guide, you will be able to build an end-to-end unstructured data pipeline that ingests documents from Google Drive, processes them through Openflow, and enables intelligent search and analysis using Snowflake CoWork.\n\nHere is a summary of what you will be able to learn in each step by following this quickstart:\n\n- **Setup Environment**: Clone the repository, configure Snowflake database objects, and set up external access for Google Drive\n- **Openflow Configuration**: Set up [Openflow](https://docs.snowflake.com/en/user-guide/data-integration/openflow/about) SPCS runtime and add the [Google Drive connector](https://docs.snowflake.com/user-guide/data-integration/openflow/connectors/google-drive/about)\n- **Configure Document Ingestion Pipeline**: Set up source, destination, and ingestion parameters for the Google Drive connector\n- **Prepare Sample Documents**: Upload 15 Festival Operations documents to Google Drive for processing\n- **Data Pipeline Results**: Verify document ingestion and explore auto-created tables and stages\n- **Cortex Search Setup**: Explore the automatically created [Cortex Search](https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-search/cortex-search-overview) service for semantic search\n- **Snowflake CoWork**: Build an AI agent using [Snowflake CoWork](https://docs.snowflake.com/en/user-guide/snowflake-cortex/snowflake-intelligence) for natural language document analysis\n\n### What is Openflow\n\n[Openflow](https://docs.snowflake.com/en/user-guide/data-integration/openflow/about) is Snowflake's managed service for building and running data pipelines in [Snowpark Container Services (SPCS)](https://docs.snowflake.com/en/developer-guide/snowpark-container-services/overview). It provides pre-built connectors and processing capabilities that make it easy to ingest, transform, and analyze data from various sources including unstructured documents.\n\n![Openflow Snowflake Deployments Overview](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_spcs_overview.png)\n\n**Key Benefits**:\n\n- **Managed Infrastructure**: Fully managed container runtime environment\n- **Pre-built Connectors**: Ready-to-use connectors for popular data sources\n- **Scalable Processing**: Automatic scaling based on data volume and processing needs\n- **Security**: Built-in security and governance features\n\nLearn more about [Openflow](https://docs.snowflake.com/en/user-guide/data-integration/openflow/about).\n\n### What is Snowflake CoWork\n\n[Snowflake CoWork](https://docs.snowflake.com/en/user-guide/snowflake-cortex/snowflake-intelligence) is an integrated AI capability that enables natural language interactions with your data. It combines large language models with your business context to provide intelligent search, analysis, and insights.\n\n**Core Components**:\n\n- **[Cortex Search](https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-search/cortex-search-overview)**: Semantic search across structured and unstructured data\n- **AI Agents**: Natural language interfaces for business intelligence\n- **Context Awareness**: Understanding of your data schema and business domain\n\nThis quickstart will focus on:\n\n- Creating Cortex Search services for document content and metadata\n- Building AI agents that can answer questions about your documents\n- Enabling natural language queries across various document types\n\n### What You Will Learn\n\n- How to set up Openflow for unstructured data processing\n- How to configure Google Drive connector for document ingestion\n- How to process multiple document formats (PDF, DOCX, PPTX, images)\n- How to create Cortex Search services for semantic search\n- How to build Snowflake CoWork agents for natural language querying\n- How to analyze business documents for strategic insights\n\n### What You Will Build\n\n- An automated document ingestion pipeline from Google Drive\n- A searchable knowledge base of business documents\n- An AI-powered assistant for document analysis and insights\n\n### Prerequisites\n\nBefore starting, ensure you have:\n\n- **Snowflake Account**: Enterprise account with Openflow enabled (AWS or Azure Commercial Regions)\n- **Account Permissions**: ACCOUNTADMIN role or equivalent for initial setup\n- **Cortex Services**: Cortex Search and Snowflake CoWork enabled in your account\n- **Google Workspace**: Admin access to create and configure service accounts\n- **Google Service Account (GSA)**: JSON key file with domain-wide delegation configured\n\n\u003E **IMPORTANT:**\n\u003E\n\u003E **Google Service Account Setup**: You'll need to create a Google Service Account (GSA) with appropriate permissions. Follow the official Google Cloud documentation to:\n\u003E\n\u003E 1. Create a Service Account in Google Cloud Console\n\u003E 2. Download the JSON key file\n\u003E 3. Enable domain-wide delegation for the service account\n\u003E 4. Grant necessary Google Drive API scopes\n\u003E\n\u003E For detailed instructions, see: [Creating and managing service accounts](https://cloud.google.com/iam/docs/service-accounts-create)\n\u003E\n\u003E **Required Google Drive API Scopes**:\n\u003E\n\u003E - `https://www.googleapis.com/auth/drive.readonly`\n\u003E - `https://www.googleapis.com/auth/drive.metadata.readonly`\n\n\u003C!-- ------------------------ --\u003E\n## Setup Environment\n\n### Clone the QuickStart Repository\n\nFirst, clone the repository to get access to sample documents and SQL scripts:\n\n```bash\ngit clone https://github.com/Snowflake-Labs/sfguide-getting-started-openflow-unstructured-data-pipeline.git\ncd sfguide-getting-started-openflow-unstructured-data-pipeline\n```\n\n**Repository Contents:**\n\n- **`sample-data/google-drive-docs/`** - 15 Festival Operations documents in various formats (PDF, DOCX, PPTX, JPG)\n- **`sql/`** - Reusable SQL scripts for setup, checks, and verification\n- **`Taskfile.yml`** - Automation tasks for building additional documents\n\n### Alternative: Use Snowflake Workspaces with Git Integration\n\nFor executing SQL scripts directly in Snowsight, you can import this repository into [Snowflake Workspaces](https://docs.snowflake.com/en/user-guide/ui-snowsight/workspaces-git):\n\n1. Sign in to Snowsight and navigate to \u003Ca href=\"https://app.snowflake.com/_deeplink/#/workspaces?utm_source=snowflake-devrel&utm_medium=developer-guides&utm_content=getting-started-with-openflow-unstructured-data-pipeline&utm_cta=developer-guides-deeplink\" class=\"_deeplink\"\u003E**Projects** → **Workspaces**\u003C/a\u003E\n2. Select **From Git repository**\n3. Paste the repository URL: `https://github.com/Snowflake-Labs/sfguide-getting-started-openflow-unstructured-data-pipeline`\n4. Configure your API integration and credentials\n5. Execute SQL scripts directly in Snowsight without leaving your browser\n\n\u003E **IMPORTANT:** You still need to **clone or download the repository locally** to access the `sample-data/google-drive-docs/` files for uploading to Google Drive. The Git integration in \u003Ca href=\"https://app.snowflake.com/_deeplink/#/workspaces?utm_source=snowflake-devrel&utm_medium=developer-guides&utm_content=getting-started-with-openflow-unstructured-data-pipeline&utm_cta=developer-guides-deeplink\" class=\"_deeplink\"\u003EWorkspaces\u003C/a\u003E provides access to SQL scripts but not binary document files (PDF, DOCX, PPTX, JPG) needed for the demo.\n\nLearn more about [integrating Workspaces with Git](https://docs.snowflake.com/en/user-guide/ui-snowsight/workspaces-git).\n\n### Create Database and Schema\n\nLog into [Snowsight](https://docs.snowflake.com/en/user-guide/ui-snowsight.html#) using your credentials to create the necessary database objects.\n\n\u003E **IMPORTANT:**\n\u003E\n\u003E - If you use different names for objects created in this section, be sure to update scripts and configurations in the following sections accordingly.\n\u003E\n\u003E - For each SQL script block below, select all the statements in the block and execute them top to bottom.\n\nOpen \u003Ca href=\"https://app.snowflake.com/_deeplink/#/workspaces?utm_source=snowflake-devrel&utm_medium=developer-guides&utm_content=getting-started-with-openflow-unstructured-data-pipeline&utm_cta=developer-guides-deeplink\" class=\"_deeplink\"\u003ESnowflake Workspaces\u003C/a\u003E and run the following SQL commands to create the [warehouse](https://docs.snowflake.com/en/sql-reference/sql/create-warehouse.html), [database](https://docs.snowflake.com/en/sql-reference/sql/create-database.html), [schema](https://docs.snowflake.com/en/sql-reference/sql/create-schema.html), and [role](https://docs.snowflake.com/en/sql-reference/sql/create-role.html).\n\n```sql\n-- Create role and warehouse\nUSE ROLE ACCOUNTADMIN;\nCREATE ROLE IF NOT EXISTS FESTIVAL_DEMO_ROLE;\nCREATE WAREHOUSE IF NOT EXISTS FESTIVAL_DEMO_S\n  WAREHOUSE_SIZE = SMALL\n  AUTO_SUSPEND = 300\n  AUTO_RESUME = TRUE;\nGRANT USAGE ON WAREHOUSE FESTIVAL_DEMO_S TO ROLE FESTIVAL_DEMO_ROLE;\n\n-- Create database and grant ownership\nCREATE DATABASE IF NOT EXISTS OPENFLOW_FESTIVAL_DEMO;\nGRANT OWNERSHIP ON DATABASE OPENFLOW_FESTIVAL_DEMO TO ROLE FESTIVAL_DEMO_ROLE;\n\n-- Grant role to current user\nSET CURR_USER=(SELECT CURRENT_USER());\nGRANT ROLE FESTIVAL_DEMO_ROLE TO ROLE IDENTIFIER($CURR_USER);\n\n-- Switch to demo role and create schema\nUSE ROLE FESTIVAL_DEMO_ROLE;\nUSE DATABASE OPENFLOW_FESTIVAL_DEMO;\nCREATE SCHEMA IF NOT EXISTS FESTIVAL_OPS;\n```\n\n\u003E **TIP:** These commands are also available in `sql/setup.sql` in the repository for easy execution.\n\n### Enable Required Services (Optional)\n\nCortex Search and Snowflake CoWork are available by default in most regions.\n\n\u003E **NOTE:** If your Snowflake account is in **`us-west-2`**, Cortex services are already available and this step can be skipped.\n\n**For accounts in other regions**, you may need to enable cross-region Cortex access:\n\n```sql\n-- Check current Cortex cross-region setting (requires ORGADMIN role)\nSHOW PARAMETERS LIKE 'CORTEX_ENABLED_CROSS_REGION' IN ACCOUNT;\n\n-- Enable cross-region Cortex access if needed (requires ORGADMIN role)\n-- This allows your account to use Cortex services from us-west-2\nALTER ACCOUNT SET CORTEX_ENABLED_CROSS_REGION = 'AWS_US';\n\n-- Verify the setting was applied\nSHOW PARAMETERS LIKE 'CORTEX_ENABLED_CROSS_REGION' IN ACCOUNT;\n```\n\n\u003E **TIP:** Contact your Snowflake administrator if you need assistance with ORGADMIN privileges or Cortex enablement.\n\n### Setup External Access Integration\n\nConfigure external access for Google APIs to allow Openflow to connect to Google Drive.\n\nFirst, create a schema for network configuration (or use an existing one):\n\n```sql\n-- Create schema for network rules\nUSE ROLE ACCOUNTADMIN;\nUSE DATABASE OPENFLOW_FESTIVAL_DEMO;\nCREATE SCHEMA IF NOT EXISTS NETWORKS;\n```\n\nNow create the network rules and external access integration:\n\n```sql\n-- Create network rule for Google APIs\nCREATE OR REPLACE NETWORK RULE google_network_rule\n  MODE = EGRESS\n  TYPE = HOST_PORT\n  VALUE_LIST = (\n    'admin.googleapis.com',\n    'oauth2.googleapis.com',\n    'www.googleapis.com',\n    'google.com'\n  );\n\n-- Verify the network rule was created successfully\nDESC NETWORK RULE google_network_rule;\n```\n\n#### Optional: Add network rule for your Google Workspace domain\n\nIf you need to access resources from your specific Google Workspace domain, create an additional network rule:\n\n```sql\n-- Create network rule for your Google Workspace domain\n-- Replace 'your-domain.com' with your actual Google Workspace domain\nCREATE OR REPLACE NETWORK RULE your_workspace_domain_network_rule\n  MODE = EGRESS\n  TYPE = HOST_PORT\n  VALUE_LIST = ('your-domain.com');\n\n-- Example: For a domain like kamesh.dev\n-- CREATE OR REPLACE NETWORK RULE kameshs_dev_network_rule\n--   MODE = EGRESS\n--   TYPE = HOST_PORT\n--   VALUE_LIST = ('kameshs.dev');\n\n-- Verify the domain network rule was created successfully\nDESC NETWORK RULE your_workspace_domain_network_rule;\n```\n\n#### Create the External Access Integration\n\nNow combine the network rules into an external access integration:\n\n```sql\n-- Create external access integration with Google API access\n-- If you created a workspace domain rule, add it to ALLOWED_NETWORK_RULES\nCREATE OR REPLACE EXTERNAL ACCESS INTEGRATION festival_ops_access_integration\n  ALLOWED_NETWORK_RULES = (\n    OPENFLOW_FESTIVAL_DEMO.NETWORKS.google_network_rule\n    -- Add your workspace domain rule if created:\n    -- , OPENFLOW_FESTIVAL_DEMO.NETWORKS.your_workspace_domain_network_rule\n  )\n  ENABLED = TRUE\n  COMMENT = 'Used for Openflow Snowflake Deployments runtime to access Google Drive';\n\n-- Verify the external access integration was created with correct settings\nDESC EXTERNAL ACCESS INTEGRATION festival_ops_access_integration;\n```\n\n\u003E **TIP:** If you created a workspace domain network rule, uncomment and add it to the `ALLOWED_NETWORK_RULES` list in the external access integration.\n\n### Grant Permissions\n\nGrant necessary permissions to the Openflow admin role:\n\n```sql\n-- Grant access to the external access integration\nGRANT USAGE ON DATABASE OPENFLOW_FESTIVAL_DEMO TO ROLE OPENFLOW_ADMIN;\nGRANT USAGE ON SCHEMA OPENFLOW_FESTIVAL_DEMO.NETWORKS TO ROLE OPENFLOW_ADMIN;\nGRANT USAGE ON INTEGRATION festival_ops_access_integration TO ROLE OPENFLOW_ADMIN;\n\n-- Verify grants\nSHOW GRANTS TO ROLE OPENFLOW_ADMIN;\n```\n\n\u003E **NOTE:**\n\u003E\n\u003E - The `OPENFLOW_ADMIN` role is created automatically during Openflow Snowflake Deployment setup\n\u003E - **No compute pools needed** - Openflow Snowflake Deployments manages compute resources automatically  \n\u003E - **No manual stages or tables** - All document storage objects are automatically created by the Openflow connector\n\u003E - SQL snippets available in `sql/network.sql` in the repository\n\n\u003E **IMPORTANT:** Make note of the database, schema, and warehouse names as you'll need them for Openflow configuration.\n\n\u003C!-- ------------------------ --\u003E\n## Openflow Configuration\n\nThis section guides you through setting up Openflow Snowflake Deployments infrastructure and creating a runtime for the Festival Operations document pipeline.\n\n\u003E **IMPORTANT:** Before configuring connectors, you must complete the **Openflow Snowflake Deployments setup**. This is a one-time configuration that establishes the foundation for all your Openflow data pipelines.\n\n### Complete Openflow Snowflake Deployments Setup\n\nFollow the comprehensive **Getting Started with Openflow Snowflake Deployments** quickstart to set up your infrastructure:\n\n**Quickstart Guide**: [Getting Started with Openflow Snowflake Deployments](/en/developers/guides/getting-started-with-openflow-spcs/)\n\nThis 25-minute setup includes:\n\n| Step | Task | Duration | What You'll Create |\n|------|------|----------|-------------------|\n| 1 | **Setup Core Snowflake** | 10 min | `OPENFLOW_ADMIN` role, network rules, BCR bundles |\n| 2 | **Create Deployment** | 5 min | Openflow Snowflake Deployment with optional event logging |\n| 3 | **Create Runtime Role** | 5 min | Runtime role with external access integrations |\n| 4 | **Create Runtime** | 5 min | Active runtime environment ready for connectors |\n\n**Key Components You'll Set Up:**\n\n- **`OPENFLOW_ADMIN` Role**: Administrative role with deployment and integration privileges\n- **Network Rules**: Required for Openflow to communicate with Snowflake and external services\n- **Deployment**: Container environment running in Snowpark Container Services (SPCS)\n- **Runtime Role**: For this quickstart, use `FESTIVAL_DEMO_ROLE` (created in Setup Environment) with database, schema, warehouse access, and external access integrations\n- **Active Runtime**: Ready to host connectors like Google Drive\n\n\u003E **TIP:** The quickstart includes downloadable SQL scripts and Jupyter notebooks for automated setup. You can use these scripts to accelerate your deployment process.\n\n**After Setup**: Once you complete the quickstart, you'll have a production-ready Openflow environment. You can then proceed with adding the Google Drive connector for this Festival Operations demo.\n\n### Alternative: Use Existing Openflow Infrastructure\n\nIf you already have Openflow Snowflake Deployments set up in your account, you can reuse your existing infrastructure. However, for this quickstart, we recommend using `FESTIVAL_DEMO_ROLE` to keep naming consistent:\n\n1. **Use existing deployment and runtime** - No need to create new ones\n2. **Grant `FESTIVAL_DEMO_ROLE` access** - Ensure it has access to `festival_ops_access_integration` (created in the previous \"Setup Environment\" section)\n3. **Grant integration access** - Add the external access integration to `FESTIVAL_DEMO_ROLE`:\n\n   ```sql\n   USE ROLE ACCOUNTADMIN;\n   GRANT USAGE ON INTEGRATION festival_ops_access_integration TO ROLE FESTIVAL_DEMO_ROLE;\n   ```\n\n### Access Openflow Interface\n\nAfter completing the Openflow Snowflake Deployments setup, access the Openflow interface to configure your runtime:\n\n1. In Snowsight, navigate to **Work with data** in the left sidebar\n2. Select **Ingestion**\n3. Click on **Openflow** (this will open Openflow in a new browser tab)\n\n   ![Launch Openflow from Snowsight](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/snowsight_launch_openflow.png)\n\n4. **Accept the authentication prompt** when Openflow opens in the new tab\n\n### Configure Runtime for Festival Operations\n\nNow that you have Openflow open, configure your runtime for the Festival Operations pipeline:\n\n#### Option A: Create New Runtime (Recommended for Demo)\n\nCreate a dedicated runtime for this demo:\n\n1. In the Openflow interface, click on the **Runtimes** tab at the top\n2. Click **Create Runtime** button\n3. Configure with these settings:\n   - **Runtime Name**: `FESTIVAL_DOC_INTELLIGENCE`\n   - **Runtime Role**: `FESTIVAL_DEMO_ROLE` (created in Setup Environment)\n   - **External Access Integration**: `festival_ops_access_integration` (created in previous step)\n   - **Database**: `OPENFLOW_FESTIVAL_DEMO`\n   - **Schema**: `FESTIVAL_OPS`\n   - **Warehouse**: `FESTIVAL_DEMO_S`\n\n\u003E **NOTE:** Ensure the `festival_ops_access_integration` is accessible to `FESTIVAL_DEMO_ROLE`:\n\u003E\n\u003E ```sql\n\u003E USE ROLE ACCOUNTADMIN;\n\u003E GRANT USAGE ON INTEGRATION festival_ops_access_integration TO ROLE FESTIVAL_DEMO_ROLE;\n\u003E ```\n\nAfter creating the runtime, your Openflow interface will look like this:\n\n![Openflow Snowflake Deployments Overview](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_spcs_overview.png)\n\n#### Option B: Use Existing Runtime\n\nIf you already have a runtime from the Openflow Snowflake Deployments quickstart (e.g., `QUICKSTART_RUNTIME`):\n\n1. Grant access to the Festival Operations integration:\n\n   ```sql\n   USE ROLE ACCOUNTADMIN;\n   GRANT USAGE ON INTEGRATION festival_ops_access_integration TO ROLE YOUR_RUNTIME_ROLE;\n   ```\n\n2. The runtime will automatically have access to the integration for Google Drive connectivity\n\n\u003E **RESOURCE MANAGEMENT:**\n\u003E\n\u003E - Openflow Snowflake Deployments automatically manages compute resources and scaling\n\u003E - No manual compute pool configuration is required\n\u003E - Database and schema access is configured at the runtime level\n\u003E - Connector-specific settings are configured when adding the Google Drive connector\n\n## Add Google Drive Connector\n\nOnce the runtime is active, add the [Google Drive connector](https://docs.snowflake.com/user-guide/data-integration/openflow/connectors/google-drive/about) (Overview tab in Openflow Home page):\n\n1. Click **Add Connector** in your runtime\n2. Search for \"Google Drive\" in the connector marketplace\n3. Select the **Google Drive** connector\n\n   ![Openflow Connectors List](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_unstruct_connectors_list.png)\n\n4. Click **Add to Runtime**\n\n   ![Add Connector to Runtime](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_add_connector_to_runtime.gif)\n\n\u003E **NOTE:** After adding the connector to the runtime, you may see authorization prompts. Accept these prompts to allow the connector to access the runtime and required resources.\n\nThe connector will be automatically added to your canvas:\n\n![Google Drive Connector in Canvas](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_gdrive_in_canvas.png)\n\n### Prepare Google Drive Location\n\nBefore configuring the connector, set up your Google Drive location:\n\n1. **Create Shared Drive**: In Google Drive web interface, create a new shared drive. This will be used as your **Google Drive ID** in the connector configuration.\n\n2. **Create Festival Operations Folder**: Inside the shared drive, create a folder named \"Festival Operations\". This will be used as your **Google Folder Name** in the connector configuration.\n\n\u003E **TIP:** Keep your Google Drive browser tab open - you'll need the shared drive ID and folder name for the next configuration step.\n\n\u003C!-- ------------------------ --\u003E\n## Configure Document Ingestion Pipeline\n\nNow configure the Google Drive connector with the following parameters:\n\n### Configure Source Parameters\n\n![Google Drive Source Parameters](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_gdrive_source_parameters.png)\n\n- **GCP Service Account JSON**: Paste the JSON content from your Google Service Account key file\n- **Google Delegation User**: `hi@kameshs.dev` (your Google Workspace user with drive access)\n\n\u003E **SECURITY BEST PRACTICE:** For production environments, consider using a **SecretManagerParameterProvider** (such as `AwsSecretsManagerParameterProvider`) to securely manage sensitive credentials like the GCP Service Account JSON. This approach stores secrets in a dedicated secrets manager instead of directly in the connector configuration, providing better security and easier credential rotation.\n\n### Configure Destination Parameters\n\n![Google Drive Destination Parameters](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_gdrive_destination_parameters.png)\n\n- **Destination Database**: `OPENFLOW_FESTIVAL_DEMO`\n- **Destination Schema**: `FESTIVAL_OPS`\n- **Snowflake Authentication Strategy**: `SNOWFLAKE_SESSION_TOKEN`\n- **Snowflake Role**: `FESTIVAL_DEMO_ROLE`\n- **Snowflake Warehouse**: `FESTIVAL_DEMO_S`\n\n### Configure Ingestion Parameters\n\n\u003E **NOTE:** By default, this section inherits parameters from \"Configure Source Parameters\" and \"Configure Destination Parameters\" sections above. For clarity in this quickstart, we'll turn off inheritance and configure only the required ingestion-specific parameters.\n\nNavigate to Parameter Contexts from Runtime Canvas:\n\n![Navigate to Parameter Contexts](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_parameter_contexts.gif)\n\n**Turn Off Parameter Inheritance** (for clarity):\n\nClick the checkbox to disable inherited parameters and show only ingestion-specific settings:\n\n![Turn Off Inherited Parameters](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_gdrive_ingestion_parameters_off_inhertience.png)\n\n**Configure the Ingestion Parameters:**\n\nNow configure only the ingestion-specific parameters:\n\n![Google Drive Ingestion Parameters](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_gdrive_ingestion_parameters_no_inhertiance.png)\n\n- **File Extensions To Ingest**: `pdf,txt,docx,xlsx,pptx,html,jpg`\n- **Google Domain**: `[YOUR WORKSPACE DOMAIN]`\n- **Google Drive ID**: `[Your shared drive ID]`\n- **Google Folder Name**: `Festival Operations` (The folder path in your Google Shared Drive)\n- **OCR Mode**: `LAYOUT` (preserves document structure during text extraction)\n- **Snowflake Cortex Search Service Role**: `FESTIVAL_DEMO_ROLE`\n\n### Test and Run the Pipeline\n\nAfter configuring all parameters, you need to enable and start the pipeline by right-clicking on the canvas:\n\n1. Enable Controller Services: Right-click on the canvas and select **Enable all controller services**\n\n   ![Enable All Controller Services](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_enable_all_services.png)\n\n2. Start the Connector: Right-click on the canvas and select **Start** to begin the connector and all processors\n\n   ![Start Pipeline](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_start_pipeline.png)\n\nOnce started, you should see the connector running with active processors:\n\n![Connector Started](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_started.png)\n\n### What Happens Next\n\nThe pipeline will automatically:\n\n- **Connect to Google Drive** - Authenticates using your service account credentials\n- **Scan for documents** - Recursively searches the specified folder for supported file formats\n- **Extract content** - Processes PDF, DOCX, PPTX, JPG files using OCR and text extraction\n- **Store in Snowflake** - Creates tables and stages for documents, metadata, and permissions\n- **Create Cortex Search** - Automatically sets up the search service with Arctic embeddings\n\n\u003C!-- ------------------------ --\u003E\n## Prepare Sample Documents\n\nBefore running the pipeline, you need to prepare the Festival Operations sample documents in your Google Drive.\n\n### Verify Document Collection\n\nThe repository includes **15 business documents** across multiple formats in the `sample-data/google-drive-docs/` directory:\n\n```\nsample-data/google-drive-docs/\n├── Analysis/\n│   └── Post-Event-Analysis-Summer-2024.pptx\n├── Compliance/\n│   └── Health-Safety-Policy.pdf\n├── Executive Meetings/\n│   └── Board-Meeting-Minutes-Q4-2024.docx\n├── Financial Reports/\n│   └── Q3-2024-Financial-Analysis.pdf\n├── Operations/\n│   ├── Venue-Setup-Operations-Manual-0.jpg\n│   ├── Venue-Setup-Operations-Manual-1.jpg\n│   ├── Venue-Setup-Operations-Manual-2.jpg\n│   └── Venue-Setup-Operations-Manual-3.jpg\n├── Projects/\n│   └── Sound-System-Modernization-Project-Charter.docx\n├── Strategic Planning/\n│   ├── 2025-Festival-Expansion-Strategy-0.jpg\n│   ├── 2025-Festival-Expansion-Strategy-1.jpg\n│   ├── 2025-Festival-Expansion-Strategy-2.jpg\n│   ├── 2025-Festival-Expansion-Strategy-3.jpg\n│   └── 2025-Festival-Expansion-Strategy-4.jpg\n├── Training/\n│   └── Customer-Service-Training-Guide.pptx\n└── Vendors/\n    └── Audio-Equipment-Service-Agreement.pdf\n```\n\n**Document Formats**: PDF, DOCX, PPTX, JPG - demonstrating true multi-format document intelligence\n\n\u003E **NOTE:** The `.md` files in the repository are source templates. The demo uses the converted formats shown above.\n\n### Google Drive Setup\n\nComplete the document preparation in your Google Drive:\n\n1. **Create Folder Structure**: Inside the \"Festival Operations\" folder you created earlier, create these subfolders matching the `sample-data/google-drive-docs/` structure:\n   - Strategic Planning/\n   - Operations/\n   - Compliance/\n   - Training/\n   - Analysis/\n   - Executive Meetings/\n   - Financial Reports/\n   - Projects/\n   - Vendors/\n\n2. **Upload Documents**: Drag and drop files from your local `sample-data/google-drive-docs/` directory into the corresponding folders\n\n\u003E **TIP:** Maintain the same folder structure in Google Drive as in `sample-data/google-drive-docs/` to organize documents by category. The connector's **Recursive** mode will scan all subfolders automatically.\n\n### Verify Document Upload\n\nAfter uploading, verify your Google Drive \"Festival Operations\" folder contains all 15 documents across multiple formats:\n\n| Folder | Document | Format |\n|--------|----------|--------|\n| Strategic Planning | 2025-Festival-Expansion-Strategy (5 images) | JPG |\n| Operations | Venue-Setup-Operations-Manual (4 images) | JPG |\n| Projects | Sound-System-Modernization-Project-Charter | DOCX |\n| Financial Reports | Q3-2024-Financial-Analysis | PDF |\n| Compliance | Health-Safety-Policy | PDF |\n| Vendors | Audio-Equipment-Service-Agreement | PDF |\n| Analysis | Post-Event-Analysis-Summer-2024 | PPTX |\n| Training | Customer-Service-Training-Guide | PPTX |\n\n**Format Summary:**\n\n- **9 JPG files** - Image-based documents (scanned expansion strategy and operations manual)\n- **3 PDF files** - Financial analysis, policies, and vendor agreements\n- **1 DOCX file** - Meeting minutes or project charter\n- **2 PPTX files** - Analysis presentations and training materials\n- **Total: 15 documents** demonstrating multi-format document intelligence\n\n### Monitor Pipeline Execution\n\nOnce the Google Drive Connector starts, you can monitor the pipeline execution directly from the canvas. The processor group displays real-time statistics:\n\n- **Queued** - Documents waiting to be processed (shows count and byte size)\n- **In** - Documents currently being received from Google Drive\n- **Read/Write** - Documents being read from or written to Snowflake stages and tables\n- **Out** - Documents successfully processed and moved to the next stage\n\n![Monitor Pipeline](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_monitor_pipeline.gif)\n\nThe animation demonstrates:\n\n1. **Hover over the processor group** to see a detailed statistics tooltip with real-time metrics\n2. **Click on the \"Google Drive (Cortex Connect)\" processor group** to drill down into the pipeline components\n3. **View individual processors** including:\n   - Google Drive source connector pulling documents\n   - Document transformation processors\n   - Snowflake destination processors writing to tables\n   - Controller services managing the flow\n4. **Navigate back to the canvas** to see the overall pipeline health\n5. **Monitor byte throughput** for each stage (In, Read/Write, Out) shown in the statistics panel\n\n\u003E **NOTE:** Pipeline statistics automatically reset every 5 minutes, providing a rolling view of recent activity.\n\n\u003C!-- ------------------------ --\u003E\n## Data Pipeline Results\n\n### Verify Document Ingestion\n\nCheck that documents have been successfully ingested using the verification queries:\n\n```sql\n-- Switch to the correct role and database\nUSE ROLE FESTIVAL_DEMO_ROLE;\nUSE WAREHOUSE FESTIVAL_DEMO_S;\nUSE DATABASE OPENFLOW_FESTIVAL_DEMO;\nUSE SCHEMA FESTIVAL_OPS;\n\n-- Show all tables created by Openflow connector\nSHOW TABLES;\n\n-- Show all stages created by Openflow connector\nSHOW STAGES;\n```\n\n### Check Auto-Created Tables\n\nThe Openflow connector automatically creates several tables for document management:\n\n```sql\n-- Describe the auto-created tables\nDESC TABLE docs_chunks;      -- Document content chunks\nDESC TABLE docs_groups;      -- Document groupings\nDESC TABLE docs_perms;       -- Document permissions\nDESC TABLE doc_group_perms;  -- Group permissions\nDESC TABLE file_hashes;      -- File tracking and metadata\nDESC TABLE perms_groups;     -- Permission groups\n\n-- View file tracking information\nSELECT * FROM file_hashes;\n```\n\n### Explore Document Content\n\nQuery the document chunks to see ingested content:\n\n```sql\n-- View document chunks\nSELECT * FROM docs_chunks LIMIT 10;\n\n-- Get distinct document IDs and filenames\nSELECT DISTINCT \n    METADATA:id::string as id, \n    METADATA:fullName::string as filename \nFROM docs_chunks;\n\n-- Check specific document categories\nSELECT COUNT(DOC_ID) \nFROM file_hashes \nWHERE LOWER(DOC_ID) LIKE '%strategy%';\n```\n\n### Comprehensive Document Verification\n\nVerify all documents are ingested across demo categories:\n\n```sql\n-- Comprehensive document verification by demo category\nSELECT \n    COUNT(*) as total_docs,\n\n    -- Strategic Planning Documents (Expected: 7)\n    COUNT(CASE WHEN \n        LOWER(DOC_ID) LIKE '%strategy%' OR \n        LOWER(DOC_ID) LIKE '%board%meeting%' OR \n        LOWER(DOC_ID) LIKE '%meeting%minutes%' OR\n        LOWER(DOC_ID) LIKE '%financial%analysis%' OR\n        LOWER(DOC_ID) LIKE '%q3%2024%financial%'\n    THEN 1 END) as strategic_docs,\n\n    -- Operations Excellence Documents (Expected: 5)\n    COUNT(CASE WHEN \n        (LOWER(DOC_ID) LIKE '%operation%manual%' OR LOWER(DOC_ID) LIKE '%venue%setup%') OR\n        (LOWER(DOC_ID) LIKE '%sound%system%' AND LOWER(DOC_ID) LIKE '%project%') OR\n        (LOWER(DOC_ID) LIKE '%post%event%analysis%')\n    THEN 1 END) as operations_docs,\n\n    -- Compliance & Risk Documents (Expected: 3)\n    COUNT(CASE WHEN \n        (LOWER(DOC_ID) LIKE '%health%safety%' OR LOWER(DOC_ID) LIKE '%safety%policy%') OR\n        (LOWER(DOC_ID) LIKE '%service%agreement%' OR LOWER(DOC_ID) LIKE '%audio%equipment%') OR\n        (LOWER(DOC_ID) LIKE '%post%event%analysis%')\n    THEN 1 END) as compliance_docs,\n\n    -- Knowledge Management Documents (Expected: 1)\n    COUNT(CASE WHEN \n        LOWER(DOC_ID) LIKE '%training%guide%' OR \n        LOWER(DOC_ID) LIKE '%customer%service%training%'\n    THEN 1 END) as training_docs,\n\n    -- Document format breakdown\n    COUNT(CASE WHEN LOWER(DOC_ID) LIKE '%.jpg' THEN 1 END) as jpg_files,\n    COUNT(CASE WHEN LOWER(DOC_ID) LIKE '%.pdf' THEN 1 END) as pdf_files,\n    COUNT(CASE WHEN LOWER(DOC_ID) LIKE '%.docx' THEN 1 END) as docx_files,\n    COUNT(CASE WHEN LOWER(DOC_ID) LIKE '%.pptx' THEN 1 END) as pptx_files\n\nFROM file_hashes;\n```\n\n**Expected Results:**\n\n| Metric | Count |\n|--------|-------|\n| Total Documents | 15 |\n| Strategic Planning Documents | 7 |\n| Operations Excellence Documents | 5 |\n| Compliance & Risk Documents | 3 |\n| Training Documents | 1 |\n| JPG Files | 9 |\n| PDF Files | 3 |\n| DOCX Files | 1 |\n| PPTX Files | 2 |\n\n### Check Document Stage\n\nVerify the documents stage created by the connector:\n\n```sql\n-- List files in the documents stage\nLS @documents;\n```\n\n\u003E **TIP:** All verification queries are available in `sql/checks.sql` in the repository for easy execution.\n\n### Expected Document Collection\n\nThe pipeline should have ingested the Festival Operations business document collection:\n\n**Document Categories:**\n\n- **Strategic Planning**: 2025 expansion strategies, board meeting minutes, Q3 2024 financial analysis\n- **Operations Excellence**: Sound system modernization project ($2.8M), venue setup procedures, post-event analysis\n- **Compliance & Risk**: Health and safety policies, vendor service agreements\n- **Knowledge Management**: Customer service training materials, staff development programs\n\n**Document Formats:**\n\n- **PDF**: 3 documents (policies, financial reports, contracts)\n- **DOCX**: 1 document (meeting minutes or project charter)\n- **PPTX**: 2 documents (training presentations, analysis reports)\n- **JPG**: 9 documents (strategic overviews, operational guides - exported from presentations)\n\n**Total**: 15 business documents demonstrating multi-format document intelligence\n\n\u003E **NOTE:** All document counts and content are based on the Festival Operations demo dataset from `sample-data/google-drive-docs/`.\n\n\u003C!-- ------------------------ --\u003E\n## Cortex Search\n\n### Automatic Cortex Search Service Creation\n\n**Great news!** The Cortex Search service is **automatically created** by the Openflow Google Drive connector. No manual SQL required!\n\n#### How It Works\n\n![Openflow Data Verification Flow](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/openflow_connector_data_verify_flow.png)\n\n**Automatic Features:**\n\n- ✅ **Arctic Embeddings**: Automatically configured with `snowflake-arctic-embed-m-v1.5`\n- ✅ **Document Indexing**: All processed documents automatically indexed  \n- ✅ **Semantic Search**: Ready for natural language queries immediately\n- ✅ **Metadata Integration**: Document properties, authors, and collaboration data included\n\n#### Verify Automatic Service Creation\n\n```sql\n-- Check for the auto-created service\nSHOW CORTEX SEARCH SERVICES;\n\n-- The service will be named: CORTEX_SEARCH_SERVICE (default name)\nDESC CORTEX SEARCH SERVICE CORTEX_SEARCH_SERVICE;\n```\n\n### Test Semantic Search\n\nTest the automatically created search service with Festival Operations queries:\n\n```sql\n-- Search for strategic planning documents\nSELECT PARSE_JSON(\n  SNOWFLAKE.CORTEX.SEARCH_PREVIEW(\n      'CORTEX_SEARCH_SERVICE',\n      '{\"query\": \"2025 expansion plans target markets strategic planning\", \"limit\": 5}'\n  )\n)['results'] as strategic_documents;\n\n-- Search for technology modernization projects  \nSELECT PARSE_JSON(\n  SNOWFLAKE.CORTEX.SEARCH_PREVIEW(\n      'CORTEX_SEARCH_SERVICE',\n      '{\"query\": \"technology modernization sound system upgrade budget 2.8M\", \"limit\": 5}'\n  )\n)['results'] as technology_projects;\n\n-- Search for health and safety policies\nSELECT PARSE_JSON(\n  SNOWFLAKE.CORTEX.SEARCH_PREVIEW(\n      'CORTEX_SEARCH_SERVICE',\n      '{\"query\": \"health safety policies emergency protocols compliance\", \"limit\": 5}'\n  )\n)['results'] as safety_policies;\n```\n\n### Additional Search Capabilities\n\nThe auto-created service includes both content and metadata search capabilities. You can search across:\n\n- **Document content**: Full text search with semantic understanding\n- **Metadata**: File names, authors, creation dates, document types\n- **Multi-format support**: PDF, DOCX, PPTX, JPG documents\n\n### Sample Questions by Category\n\nBased on the Festival Operations dataset, here are sample questions organized by business function:\n\n#### Strategic Planning & Executive Intelligence\n\n```text\n\"What are our 2025 expansion plans and target markets?\"\n```\n\n```text\n\"Show me all financial analysis and revenue projections\"\n```\n\n```text\n\"What decisions were made in the latest board meeting?\"\n```\n\n```text\n\"Find all budget allocations and investment strategies\"\n```\n\n#### Operations Excellence & Technology\n\n```text\n\"Find all technology modernization projects and their budgets\"\n```\n\n```text\n\"What is our $2.8M sound system upgrade timeline?\"\n```\n\n```text\n\"Show me all equipment management protocols\"\n```\n\n```text\n\"What post-event analysis recommendations exist?\"\n```\n\n#### Compliance & Risk Management\n\n```text\n\"What health and safety policies are currently in effect?\"\n```\n\n```text\n\"Show me all vendor contracts and service agreements\"\n```\n\n```text\n\"Find emergency response procedures\"\n```\n\n```text\n\"What regulatory compliance requirements exist?\"\n```\n\n#### Knowledge Management & Training\n\n```text\n\"Find all training materials and staff development programs\"\n```\n\n```text\n\"What customer service standards are documented?\"\n```\n\n```text\n\"Show me onboarding procedures for new staff\"\n```\n\n```text\n\"What training frameworks are currently in use?\"\n```\n\n#### Advanced Cross-Category Queries\n\n```text\n\"What are our 2025 expansion plans across all document formats - show me visual charts, meeting decisions, and financial projections\"\n```\n\n```text\n\"Find all technology modernization projects with their business cases, budgets, and visual diagrams\"\n```\n\n```text\n\"What health and safety policies are in effect across all formats - show me formal policies, vendor agreements, and visual guides\"\n```\n\n\u003E **TIP:** These sample questions are designed specifically for the Festival Operations dataset. Use them as templates and adapt the language to match your organization's terminology and business context.\n\n\u003C!-- ------------------------ --\u003E\n## Snowflake CoWork\n\nSnowflake CoWork enables you to create AI agents that can query and analyze your unstructured data using natural language. This section shows how to connect Snowflake CoWork to the Cortex Search service created by your Openflow pipeline.\n\n\u003E **IMPORTANT:** All queries from Snowflake CoWork use the user's credentials. Role-based access control and data-masking policies automatically apply to all agent interactions.\n\n### Prerequisites\n\nBefore setting up Snowflake CoWork, ensure you have:\n\n- ✅ Completed Openflow pipeline setup with documents ingested\n- ✅ Appropriate Snowflake privileges (`CREATE AGENT` privilege)\n- ✅ Default role and warehouse set in your Snowflake user profile\n\n### Initial Setup\n\nCreate the required database and schema structure:\n\n```sql\n-- Use ACCOUNTADMIN role for setup\nUSE ROLE ACCOUNTADMIN;\n\n-- Create database for Snowflake CoWork\nCREATE DATABASE IF NOT EXISTS snowflake_intelligence;\nGRANT USAGE ON DATABASE snowflake_intelligence TO ROLE PUBLIC;\n\n-- Create agents schema\nCREATE SCHEMA IF NOT EXISTS snowflake_intelligence.agents;\nGRANT USAGE ON SCHEMA snowflake_intelligence.agents TO ROLE PUBLIC;\n\n-- Grant agent creation privileges to your role\nGRANT CREATE AGENT ON SCHEMA snowflake_intelligence.agents TO ROLE FESTIVAL_DEMO_ROLE;\n```\n\n### Create the Agent\n\n\u003E **IMPORTANT:** Before creating the agent, ensure you are using the `FESTIVAL_DEMO_ROLE` role in Snowsight. This ensures the agent is owned by the correct role and has proper access to resources. You can switch roles using the role selector in the top-right corner of Snowsight.\n\n#### Access Agent Creation Interface\n\n1. Sign in to Snowsight\n2. **Switch to `FESTIVAL_DEMO_ROLE`** using the role selector in the top-right corner\n3. Navigate directly to Agents: \u003Ca href=\"https://app.snowflake.com/_deeplink/#/agents?utm_source=snowflake-devrel&utm_medium=developer-guides&utm_campaign=-us-en-all&utm_content=app-buidling-new-snowflake-intelligence-agents&utm_cta=developer-guides-deeplink\" class=\"_deeplink\"\u003ECreate Snowflake CoWork Agent\u003C/a\u003E\n4. Select **\"Create agent\"**\n\n![Agent Creation Interface](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_agent_create.png)\n\n**Platform Integration:**\n\n- ☑️ Select **\"Create this agent for Snowflake CoWork\"**\n\n**Agent Details:**\n\n- **Agent object name:** `FESTIVAL_DOC_INTELLIGENCE`\n- **Display name:** `Festival Document Intelligence`\n\n#### Configure Agent Basics\n\nAfter creating the agent, you need to configure its details:\n\n1. **Click on the agent name** (`FESTIVAL_DOC_INTELLIGENCE`) in the agent list to open it\n\n   ![Agents List](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_agents_list.png)\n\n2. **Click \"Edit\"** button to start editing the agent configuration and details\n\n   ![Agent Edit Button](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_agent_edit.png)\n\n\u003E **IMPORTANT:** As you configure each section below (About, Tools, Orchestration, Access), remember to click **\"SAVE\"** after completing all configurations to ensure your changes are preserved.\n\nNow configure the agent basics in the \"About\" section:\n\n![Agent About Configuration](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_agent_about.png)\n\n- **Description:** `Query and analyze business documents using natural language, powered by festival operations data processed via Openflow pipeline.`\n\n**Example Questions** (Add these to help users get started):\n\n```text\n\"What are our 2025 expansion plans and target markets?\"\n```\n\n```text\n\"Find all technology modernization projects and their budgets\"\n```\n\n```text\n\"What health and safety policies are currently in effect?\"\n```\n\n```text\n\"Find all training materials and staff development programs\"\n```\n\n```text\n\"Which documents have the most collaboration and strategic importance?\"\n```\n\n### Configure Agent Tools\n\n#### Add Cortex Search Service\n\n![Agent Tools Configuration](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_agent_tools_defaults.gif)\n\n1. Navigate to **\"Tools\"** tab\n2. Find **\"Cortex Search Services\"** section\n3. Click **\"+ Add\"** button\n\n**Configure the Search Service:**\n\n- **Name:** `FESTIVAL_OPS_INTELLIGENCE`\n- **Search Service:** `OPENFLOW_FESTIVAL_DEMO.FESTIVAL_OPS.CORTEX_SEARCH_SERVICE`\n- **Description:** `Query and analyze business documents using natural language, powered by festival operations data processed via Openflow pipeline.`\n\n\u003E **TIP:** The search service name follows the pattern `DATABASE_NAME.SCHEMA_NAME.SERVICE_NAME`. In this case:\n\u003E `OPENFLOW_FESTIVAL_DEMO.FESTIVAL_OPS.CORTEX_SEARCH_SERVICE`\n\n### Configure Orchestration\n\n![Agent Orchestration Configuration](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_agent_orchestration.png)\n\n1. Navigate to **\"Orchestration\"** tab\n2. Set **Model:** `auto` (recommended - lets Snowflake choose the optimal model)\n\n**Orchestration Instructions:**\n\n```\nWhenever you can answer visually with a chart, always choose to generate a chart even if the user didn't specify to. Respond in the same language as the question wherever possible.\n```\n\n**Response Instructions:** (Optional)\n\n```\nAlways provide specific document references when citing information. \nFocus on actionable insights and business value in your responses.\n```\n\n\u003E **TIP:** Use `auto` (default) to let Snowflake automatically select the best available model for your region and query type. Supported models include Claude 4.0, Claude 3.7, Claude 3.5, and GPT 4.1.\n\n### Set Access Controls\n\n![Agent Access Configuration](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_agent_access.png)\n\n1. Navigate to **\"Access\"** tab\n2. Click **\"Add role\"**\n3. Select appropriate roles for your organization\n\n**Example Role Configuration:**\n\n- **Role:** `FESTIVAL_DEMO_ROLE`\n- **Permission:** `OWNERSHIP`\n\n\u003E **NOTE:** All queries use the user's credentials. Ensure users have appropriate access to the Cortex Search service, source database/schema, and underlying data.\n\n### Test Your Agent\n\n#### Getting Started with Queries\n\n1. Access Snowflake CoWork: [Open Snowflake CoWork](https://ai.snowflake.com/sfdevrel/sfdevrel_enterprise/#/ai?utm_source=snowflake-devrel&utm_medium=developer-guides&utm_campaign=-us-en-all&utm_content=app-snowflake-intelligence-chat)\n2. Select your agent `FESTIVAL_DOC_INTELLIGENCE` from the dropdown\n\n   ![Choose Agent](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_chat_choose_agent.png)\n\n3. Choose the Cortex Search service as your data source\n\n**Start with the Example Questions** you configured - these are specifically tailored to your festival operations data.\n\n![Agent Queries](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-openflow-unstructured-data-pipeline/si_queries.gif)\n\n#### Sample Questions by Category\n\n**Strategic Planning**:\n\n```text\n\"What are our 2025 expansion plans and target markets?\"\n```\n\n```text\n\"What strategic initiatives are mentioned in board meeting minutes?\"\n```\n\n**Operations Excellence**:\n\n```text\n\"Find all technology modernization projects and their budgets\"\n```\n\n```text\n\"What are the key takeaways from the post-event analysis?\"\n```\n\n**Compliance & Risk**:\n\n```text\n\"What health and safety policies are currently in effect?\"\n```\n\n```text\n\"What are the terms and conditions in our vendor service agreements?\"\n```\n\n**Knowledge Management**:\n\n```text\n\"Find all training materials and staff development programs\"\n```\n\n```text\n\"What customer service training resources are available?\"\n```\n\n\u003C!-- ------------------------ --\u003E\n## Advanced Use Cases\n\n### Multi-Document Analysis\n\nUse the agent for complex analysis across multiple documents:\n\n```text\n\"Compare our Q3 2024 financial performance with the strategic goals outlined in our 2025 expansion plan. What gaps exist and what actions are recommended?\"\n```\n\nThis type of query demonstrates the agent's ability to:\n\n- Search across different document types\n- Perform comparative analysis\n- Identify discrepancies and gaps\n- Provide strategic recommendations\n\n### Trend Analysis\n\nIdentify patterns and trends across time-based documents:\n\n```text\n\"What trends do you see in customer complaints and incident reports over the past year? What preventive measures have been implemented?\"\n```\n\n### Knowledge Discovery\n\nFind hidden insights and connections:\n\n```text\n\"What vendor performance issues are mentioned across different documents, and how do they relate to our operational challenges?\"\n```\n\n### Executive Briefing\n\nGenerate comprehensive briefings:\n\n```text\n\"Prepare an executive summary of key issues and decisions from our Q4 2024 board meeting, including action items and their current status based on other documents.\"\n```\n\n### Compliance Monitoring\n\nAutomated compliance checking:\n\n```text\n\"Review all our safety policies and incident reports to identify any compliance gaps or policy updates needed.\"\n```\n\n### Create Custom Views with AI Summarization\n\nCreate enhanced views using [AI_COMPLETE](https://docs.snowflake.com/en/sql-reference/functions/ai_complete) for intelligent document summaries. These views can power custom Cortex Search services tailored to specific use cases.\n\n#### Create AI-Enhanced Document View\n\n```sql\n-- View with AI-generated document summaries\n-- Uses AI_COMPLETE to generate concise, intelligent summaries\nCREATE OR REPLACE VIEW document_summaries AS\nSELECT \n    DOC_ID,\n    METADATA:fullName::string as full_name,\n    METADATA:webUrl::string as web_url,\n    METADATA:lastModifiedDateTime::timestamp as last_modified_date_time,\n    chunk as original_chunk,\n    -- AI-powered summary generation\n    SNOWFLAKE.CORTEX.AI_COMPLETE(\n        'mistral-large2',\n        CONCAT(\n            'Summarize this document content in 2-3 sentences, focusing on key information: ',\n            chunk\n        )\n    ) as ai_summary,\n    user_emails,\n    user_ids\nFROM docs_chunks;\n```\n\n\u003E **NOTE:** AI_COMPLETE uses [Mistral Large 2](https://docs.snowflake.com/en/user-guide/snowflake-cortex/llm-functions) to generate intelligent summaries. You can also use `mistral-large`, `llama3.1-70b`, or other supported models.\n\n#### Create Custom Cortex Search Service\n\nOnce you have the custom view, create a dedicated Cortex Search service:\n\n```sql\n-- Create a custom Cortex Search service using the AI-enhanced view\nCREATE OR REPLACE CORTEX SEARCH SERVICE festival_ai_summaries_search\nON ai_summary\nATTRIBUTES full_name, web_url, last_modified_date_time, user_emails\nWAREHOUSE = FESTIVAL_DEMO_S\nTARGET_LAG = '1 day'\nAS (\n    SELECT \n        DOC_ID,\n        ai_summary,\n        full_name,\n        web_url,\n        last_modified_date_time,\n        user_emails\n    FROM document_summaries\n);\n\n-- Verify the new service\nSHOW CORTEX SEARCH SERVICES;\nDESC CORTEX SEARCH SERVICE festival_ai_summaries_search;\n```\n\n#### Test the AI-Enhanced Search Service\n\nQuery the custom search service for more focused, summarized results:\n\n```sql\n-- Search using AI-generated summaries\nSELECT PARSE_JSON(\n  SNOWFLAKE.CORTEX.SEARCH_PREVIEW(\n      'festival_ai_summaries_search',\n      '{\"query\": \"strategic planning expansion markets\", \"limit\": 5}'\n  )\n)['results'] as summarized_strategic_docs;\n\n-- Compare with original search service\nSELECT PARSE_JSON(\n  SNOWFLAKE.CORTEX.SEARCH_PREVIEW(\n      'CORTEX_SEARCH_SERVICE',\n      '{\"query\": \"strategic planning expansion markets\", \"limit\": 5}'\n  )\n)['results'] as original_strategic_docs;\n```\n\n**Benefits of AI-Enhanced Views:**\n\n- **Intelligent Summarization**: AI understands context and extracts key information\n- **Flexible Querying**: Create multiple specialized views for different use cases\n- **Better Search Results**: Summaries provide cleaner, more focused search hits\n- **Agent-Friendly**: Snowflake CoWork agents can leverage summarized content more efficiently\n\n\u003E **CUSTOMIZATION TIP:** Create multiple specialized views for different departments (e.g., `executive_summaries`,\n\u003E `compliance_summaries`, `operations_summaries`) and corresponding Cortex Search services for targeted intelligence.\n\n### Building Custom Documents with Taskfile\n\nThe repository includes a `Taskfile.yml` that automates document format conversion, allowing you to create additional documents for testing.\n\n#### Prerequisites\n\nInstall [Task](https://taskfile.dev/installation/) and [Pandoc](https://pandoc.org/installing.html):\n\n```bash\n# macOS\nbrew install go-task pandoc\n\n# Ubuntu/Debian\nsudo snap install task --classic\nsudo apt-get install pandoc\n\n# Windows (via Chocolatey)\nchoco install go-task pandoc\n```\n\n#### Available Document Conversion Tasks\n\n**Convert to PDF** (Formal documents):\n\n```bash\ntask convert-to-pdf\n```\n\nConverts markdown files to PDF format for policies, financial reports, and vendor agreements.\n\n**Convert to PPTX** (Presentations):\n\n```bash\ntask convert-to-pptx\n```\n\nCreates PowerPoint presentations from markdown for training materials and analysis reports.\n\n**Convert to DOCX** (Word documents):\n\n```bash\ntask convert-to-docx\n```\n\nGenerates Word documents from markdown for meeting minutes and project charters.\n\n**Convert to JPG** (Images):\n\n```bash\ntask convert-to-jpg\n```\n\nExports presentations to image format for strategic planning documents and operational guides.\n\n**Convert All Formats**:\n\n```bash\ntask convert-all-docs\n```\n\nRuns all conversion tasks to generate documents in all supported formats (PDF, DOCX, PPTX, JPG).\n\n#### Creating Custom Documents\n\n1. **Add your markdown file** to the appropriate category in `sample-data/google-drive-docs/`\n2. **Edit the Taskfile.yml** to include your new document in the conversion tasks\n3. **Run the conversion** using the appropriate task\n4. **Upload to Google Drive** and let Openflow process the new documents\n\n\u003E **TIP:** The Taskfile demonstrates how to create multi-format document collections for comprehensive testing of Openflow's document intelligence capabilities.\n\n\u003C!-- ------------------------ --\u003E\n## Cleanup\n\nWhen you're finished with the demo, follow these steps to clean up resources.\n\n### Stop the Google Drive Connector\n\n1. Navigate to your Openflow runtime canvas\n2. Right-click on the **Google Drive (Cortex Connect)** processor group\n3. Select **Stop** to halt document ingestion\n4. Wait for the connector to fully stop (status indicator turns red)\n\n\u003E **TIP:** Stopping the connector preserves your configuration while preventing further document processing and associated compute costs.\n\n### Drop the Snowflake CoWork Agent (Optional)\n\nIf you created an agent and no longer need it:\n\n```sql\n-- Switch to the Snowflake CoWork database\nUSE DATABASE snowflake_intelligence;\nUSE SCHEMA agents;\n\n-- Drop the agent\nDROP AGENT IF EXISTS FESTIVAL_DOC_INTELLIGENCE;\n```\n\n### Drop the Demo Database (Optional)\n\nTo completely remove all data and resources:\n\n```sql\n-- Switch to ACCOUNTADMIN role\nUSE ROLE ACCOUNTADMIN;\n\n-- Drop the entire demo database (includes all tables, stages, and search services)\nDROP DATABASE IF EXISTS OPENFLOW_FESTIVAL_DEMO;\n\n-- Drop the demo warehouse\nDROP WAREHOUSE IF EXISTS FESTIVAL_DEMO_S;\n\n-- Drop the demo role\nDROP ROLE IF EXISTS FESTIVAL_DEMO_ROLE;\n```\n\n\u003E **WARNING:** Dropping the database will permanently delete all ingested documents, Cortex Search services, and pipeline configurations. Only perform this if you no longer need the demo.\n\n\u003C!-- ------------------------ --\u003E\n## Conclusion And Resources\n\nCongratulations! You've successfully built an end-to-end unstructured data pipeline using Openflow and Snowflake CoWork. You can now:\n\n- Automatically ingest documents from Google Drive\n- Search across business documents using natural language\n- Get intelligent insights from your document collection\n- Build AI-powered assistants for business intelligence\n\n### What You Accomplished\n\n- **Data Ingestion**: Set up automated document ingestion from Google Drive using Openflow\n- **Content Processing**: Processed multiple document formats including PDF, DOCX, PPTX, and images\n- **Semantic Search**: Created Cortex Search services for intelligent document discovery\n- **AI Agents**: Built Snowflake CoWork agents for natural language document analysis\n- **Business Intelligence**: Enabled strategic insights from unstructured business content\n\n### Key Benefits Realized\n\n- **Unified Knowledge Base**: All business documents searchable from a single interface\n- **Natural Language Access**: No need for complex queries or technical knowledge\n- **Automated Processing**: New documents automatically available for search and analysis\n- **Strategic Insights**: AI-powered analysis reveals patterns and opportunities\n- **Compliance Support**: Easy access to policies, procedures, and regulatory documents\n\n### Next Steps\n\n1. **Expand Document Sources**: Add connectors for SharePoint, Slack, or other business systems\n2. **Enhance Search**: Create specialized search services for different document categories\n3. **Advanced Analytics**: Build dashboards and reports based on document insights\n4. **Integration**: Connect with existing business intelligence and workflow tools\n5. **Governance**: Implement document retention policies and access controls\n\n### Related Resources\n\n**Quickstarts:**\n\n- [Getting Started with Openflow Snowflake Deployments](/en/developers/guides/getting-started-with-openflow-spcs/) - Complete infrastructure setup guide\n- [Source Code and Sample Data](https://github.com/Snowflake-Labs/sfguide-getting-started-openflow-unstructured-data-pipeline)\n\n**Documentation:**\n\n- [Snowflake Workspaces Documentation](https://docs.snowflake.com/en/user-guide/ui-snowsight/workspaces)\n- [Openflow Documentation](https://docs.snowflake.com/en/user-guide/data-integration/openflow/about)\n- [Openflow Snowflake Deployments Setup Guide](https://docs.snowflake.com/en/user-guide/data-integration/openflow/setup-openflow-spcs) - Official setup documentation\n- [Google Drive Connector Documentation](https://docs.snowflake.com/user-guide/data-integration/openflow/connectors/google-drive/about)\n- [Cortex Search Documentation](https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-search/cortex-search-overview)\n- [Snowflake CoWork Documentation](https://docs.snowflake.com/en/user-guide/snowflake-cortex/snowflake-intelligence)\n- [Snowpark Container Services](https://docs.snowflake.com/en/developer-guide/snowpark-container-services/overview)\n- [External Access Integration](https://docs.snowflake.com/en/developer-guide/external-network-access/creating-using-external-network-access)\n\n### Community and Support\n\n- [Snowflake Community](https://community.snowflake.com/)\n- [Openflow GitHub Repository](https://github.com/Snowflake-Labs/sfguide-getting-started-openflow-unstructured-data-pipeline)\n- [Snowflake Support Portal](https://community.snowflake.com/s/)\n\nWe would love your feedback on this QuickStart Guide! Please submit your feedback using the GitHub issues link at the top of this guide.\n",":type":"text/x-markdown","multiValue":false},"quickstartArticleLogoImage":{"title":"Quickstart Article Logo Image","dataType":"string",":type":"text/plain","multiValue":false}},"elementsOrder":["quickstartArticleBody","quickstartArticleLogoImage"],"model":"snowflake-site/models/quickstart-article"},"flexible_column_cont":{"id":"flexible-column-container-81e135c1cf","type":"2-column-75-25","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"none","bottomPadding":"none","spaceBetween":"none","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-8c2e4aef43",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"quickstart_last_modi":{"id":"quickstart-last-modified-3cf061587f","icon":{"id":"icon","icon":"calendar",":type":"snowflake-site/components/icon","appliedCssClassNames":"snowflake-icon-blue"},"lastModifiedDatePrefix":"Updated","lastModifiedDate":"2025-12-20",":type":"snowflake-site/components/quickstart/quickstart-last-modified","appliedCssClassNames":"snowflake-responsive-component-top-padding-small"},"text":{"id":"text-7fe31672b8","additionalClasses":"qs-disclaimer-text","text":"\u003Cp\u003E\u003Cspan style=\"color: #666;\"\u003EThis content is provided as is, and is not maintained on an ongoing basis. It may be out of date with current Snowflake instances\u003C/span\u003E\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"snowflake-responsive-component-top-padding-small"}},":itemsOrder":["quickstart_last_modi","text"]},"flexible_column_content_container_2":{"layout":"SIMPLE","id":"container-bcbdc93099",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{},":itemsOrder":[]},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container"}},":itemsOrder":["contentfragment","flexible_column_cont"]},"flexible_column_content_container_2":{"layout":"SIMPLE","id":"container-d3e61c6268",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"quickstart_table_of_":{"layout":"SIMPLE","id":"container-53e41e59d3","isDeveloperGuidesPage":false,":type":"snowflake-site/components/quickstart/quickstart-table-of-content/quickstart-table-of-content-container",":items":{"quickstart_table_of_":{"id":"quickstart-table-of-content-efd3d104a6",":type":"snowflake-site/components/quickstart/quickstart-table-of-content","fragmentPath":"/content/dam/snowflake-site/en/content-fragments/quickstarts/getting-started-with-openflow-unstructured-data-pipeline","headings":["\u003Ch2\u003EOverview\u003C/h2\u003E","\u003Ch2\u003ESetup Environment\u003C/h2\u003E","\u003Ch2\u003EOpenflow Configuration\u003C/h2\u003E","\u003Ch2\u003EAdd Google Drive Connector\u003C/h2\u003E","\u003Ch2\u003EConfigure Document Ingestion Pipeline\u003C/h2\u003E","\u003Ch2\u003EPrepare Sample Documents\u003C/h2\u003E","\u003Ch2\u003EData Pipeline Results\u003C/h2\u003E","\u003Ch2\u003ECortex Search\u003C/h2\u003E","\u003Ch2\u003ESnowflake CoWork\u003C/h2\u003E","\u003Ch2\u003EAdvanced Use Cases\u003C/h2\u003E","\u003Ch2\u003ECleanup\u003C/h2\u003E","\u003Ch2\u003EConclusion And Resources\u003C/h2\u003E"]},"quickstart_button":{"id":"quickstart-button-98e469b2d9",":type":"snowflake-site/components/quickstart/quickstart-button","fragmentPath":"/content/dam/snowflake-site/en/content-fragments/quickstarts/getting-started-with-openflow-unstructured-data-pipeline","appliedCssClassNames":"snowflake-responsive-component-top-padding-none"}},":itemsOrder":["quickstart_table_of_","quickstart_button"]}},":itemsOrder":["quickstart_table_of_"]},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container"},"markup_editor":{"id":"markup-editor-72baf621b7","title":"Page CSS","cssContent":"#quickstart-template-main-flexible-container{padding:24px}#quickstart-template-main-flexible-container \u003E .snowflake-flexible-column-container-items{grid-template-columns:1fr 0}.qs-disclaimer-text p \u003E span{font-size:15px !important}@media (min-width:768px){#quickstart-template-main-flexible-container{padding:24px 32px}#quickstart-template-main-flexible-container \u003E .snowflake-flexible-column-container-items{grid-template-columns:7fr 3fr;gap:48px}}@media (max-width:767px){#quickstart-template-main-flexible-container \u003E .snowflake-flexible-column-container-items{gap:0}}@media (min-width:1024px){#quickstart-template-main-flexible-container{padding:0 92px 48px 92px}#quickstart-template-main-flexible-container \u003E .snowflake-flexible-column-container-items{gap:117px}}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["quickstart_hero","flexible_column_cont","markup_editor"],":type":"wcm/foundation/components/responsivegrid"},"modal_container":{"layout":"SIMPLE","id":"container-88a379be0d",":type":"snowflake-site/components/modal/modal-container",":items":{},":itemsOrder":[]},"experiencefragment-footer":{"id":"experiencefragment-f5828bc59a","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/footer/master/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"additionalClasses":"sf-footer","layout":"SIMPLE","id":"container-1e6b6781c3",":type":"snowflake-site/components/container",":items":{"container_copy":{"additionalClasses":"sf-footer__inner","columnClassNames":{"flexible_column_cont":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-d88b90c989",":type":"snowflake-site/components/container",":items":{"flexible_column_cont":{"id":"flexible-column-container-bbc3c063b2","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"medium","bottomPadding":"extra-small","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"sf-footer-grid","backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-27cb655e73",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"container":{"additionalClasses":"sf-footer-grid__inner","columnClassNames":{"container":"aem-GridColumn aem-GridColumn--default--12","container_1622723482":"aem-GridColumn aem-GridColumn--default--12","container_copy_copy_":"aem-GridColumn aem-GridColumn--default--12","container_copy_copy":"aem-GridColumn aem-GridColumn--default--12","container_copy":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-cb1dede1ed",":type":"snowflake-site/components/container",":items":{"container_1622723482":{"additionalClasses":"sf-footer__column","columnClassNames":{"container":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-34acafa9bd",":type":"snowflake-site/components/container",":items":{"container":{"additionalClasses":"sf-footer__newsletter-group","columnClassNames":{"text":"aem-GridColumn aem-GridColumn--default--12","marketo_v2":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-e8a0a88e68",":type":"snowflake-site/components/container",":items":{"text":{"id":"text-53ed5ee588","additionalClasses":"sf-footer__newsletter-title","text":"\u003Cp\u003E\u003Cb\u003ESubscribe to our monthly newsletter\u003C/b\u003E\u003C/p\u003E\r\n\u003Cp\u003EStay up to date on Snowflake’s latest products, expert insights and resources—right in your inbox!\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-04"},"marketo_v2":{"id":"marketo-v2-77fdcd74d5","marketoForm":{"edit":false,"formId":"45871","successUrl":null,"hidden":null,"script":null,"values":null},"marketoConfigured":true,"formConfigured":true,"serverInstance":"252-RFO-227.mktoweb.com","munchkinId":"252-RFO-227",":type":"snowflake-site/components/form/marketo-v2"}},":itemsOrder":["text","marketo_v2"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-small"}},":itemsOrder":["container"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-small"},"container":{"columnClassNames":{"text_copy":"aem-GridColumn aem-GridColumn--default--12","text":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-8d9dea7c46",":type":"snowflake-site/components/container",":items":{"text":{"id":"text-9c8b2b4658","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003EProduct\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/product/platform/\"\u003EPlatform\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/product/snowflake-cowork/\"\u003ESnowflake CoWork\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/product/data-engineering/\"\u003EData Engineering\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/product/analytics/\"\u003EAnalytics\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/product/ai/\"\u003EAI\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/product/applications-and-collaboration/\"\u003EApplications &amp; Collaboration\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/pricing-options/\"\u003EPricing\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"},"text_copy":{"id":"text-ec1031af2f","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003ESupport\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/support/\"\u003ESupport\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/legal/addenda/priority-support-services-description/\"\u003EPriority Support\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://status.snowflake.com/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003EStatus\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"}},":itemsOrder":["text","text_copy"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-medium"},"container_copy_copy":{"columnClassNames":{"text":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-ff31490dee",":type":"snowflake-site/components/container",":items":{"text":{"id":"text-1c2c959447","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003E\u003Ca href=\"/en/solutions/industries/\"\u003EIndustries\u003C/a\u003E\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/advertising-media-entertainment/\"\u003EAdvertising, Media &amp; Entertainment\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/financial-services/\"\u003EFinancial Services\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/healthcare-and-life-sciences/\"\u003EHealthcare &amp; Life Sciences\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/manufacturing/\"\u003EManufacturing\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/public-sector/\"\u003EPublic Sector\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/retail-consumer-goods/\"\u003ERetail &amp; Consumer Goods\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/telecom/\"\u003ETelecom\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/solutions/industries/technology/\"\u003ETechnology\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"}},":itemsOrder":["text"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-small"},"container_copy":{"columnClassNames":{"text":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-49389fe2c1",":type":"snowflake-site/components/container",":items":{"text":{"id":"text-da7ffd9506","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003ECompany\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/about-snowflake/\"\u003EAbout Snowflake\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/leadership-and-board/\"\u003ELeadership &amp; Board\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://careers.snowflake.com/us/en\" target=\"_blank\" rel=\"noopener noreferrer\"\u003ECareers\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://investors.snowflake.com/overview/default.aspx\" target=\"_blank\" rel=\"noopener noreferrer\"\u003EInvestor Relations\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://trust.snowflake.com/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003ETrust Center\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/brand-guidelines/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003EBrand Guidelines\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/contact/\"\u003EContact\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/news/\"\u003ENewsroom\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/esg/\"\u003EEnvironmental, Social &amp; Governance\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/snowflake-ventures/\"\u003ESnowflake Ventures\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/end-data-disparity/\"\u003EEnd Data Disparity\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/summit/\"\u003ESnowflake Summit 26\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"}},":itemsOrder":["text"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-small"},"container_copy_copy_":{"columnClassNames":{"text":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-c7ce549a2b",":type":"snowflake-site/components/container",":items":{"text":{"id":"text-1f296df53e","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003ELearn\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://snowflake.com/en/resources/\"\u003EResource Library\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/webinars/demo/\"\u003ELive Demos\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/fundamentals/\"\u003EFundamentals\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/resources/learn/training/\"\u003ETraining\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/resources/learn/certifications/\"\u003ECertifications\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca rel=\"noopener noreferrer\" target=\"_blank\" href=\"https://learn.snowflake.com/en/\"\u003ESnowflake University\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/developers/guides\"\u003EDeveloper Guides\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca rel=\"noopener noreferrer\" target=\"_blank\" href=\"https://docs.snowflake.com/\"\u003EDocumentation\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/data-governance/\"\u003EData Governance\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"}},":itemsOrder":["text"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-small"}},":itemsOrder":["container_1622723482","container","container_copy_copy","container_copy","container_copy_copy_"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-small"}},":itemsOrder":["container"]},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container"}},":itemsOrder":["flexible_column_cont"],"appliedCssClassNames":"snowflake-container snowflake-responsive-container-inner-padding-small"},"container_573483281_":{"additionalClasses":"sf-footer__bottom","columnClassNames":{"container_112062425":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-e1c38aa9f2",":type":"snowflake-site/components/container",":items":{"container_112062425":{"columnClassNames":{"flexible_column_cont":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-56bc5f17d1",":type":"snowflake-site/components/container",":items":{"flexible_column_cont":{"id":"flexible-column-container-03d986cc61","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"none","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-41fa611fa0",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"container":{"additionalClasses":"sf-footer__legal-container","columnClassNames":{"container":"aem-GridColumn aem-GridColumn--default--12","text_copy_copy_16360":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-5466d8a160",":type":"snowflake-site/components/container",":items":{"container":{"columnClassNames":{"image":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-acc8cf5a95",":type":"snowflake-site/components/container",":items":{"image":{"id":"image-94559d3485","additionalClasses":"sf-footer__logo","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/footer/master/_jcr_content/root/container_573483281_/container_112062425/flexible_column_cont/flexible_column_content_container_1/container/container/image.coreimg.svg/1747882370694/nav-icon-snowflake-bug.svg","lazyEnabled":true,"alt":"Snowflake logo","imageLink":{"valid":true,"url":"/en/"},"height":"64","width":"64",":type":"snowflake-site/components/image"}},":itemsOrder":["image"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small"},"text_copy_copy_16360":{"id":"text-bbff2bbf1d","additionalClasses":"sf-footer__legal-links","text":"\u003Cul\u003E\r\n\u003Cli\u003E© 2026 Snowflake Inc. All Rights Reserved\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/legal/privacy/privacy-policy/\"\u003EPrivacy Policy\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://snowflake.com/en/legal/snowflake-site-terms/\"\u003ESite Terms\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://info.snowflake.com/Preference-center.html\"\u003ECommunication Preferences\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Cbutton id=\"ot-sdk-btn\" class=\"ot-sdk-show-settings\"\u003ECookie Settings\u003C/button\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/legal/privacy/privacy-policy/#12\"\u003EDo Not Share My Personal Information\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/legal/\"\u003ELegal\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"},"markup_editor":{"id":"markup-editor-f54b4c3c96","title":" ","htmlContent":"\u003Cdiv class=\"sf-footer__social\"\u003E\r\n\u003Cdiv data-testid=\"snowflake-footer-twitter\" class=\"snowflake-button-icon snowflake-button-white snowflake-footer-social-item\"\u003E\u003Cdiv class=\"snowflake-button-icon \"\u003E\u003Ca href=\"https://x.com/Snowflake\" data-testid=\"button-external\" aria-label=\"X (Twitter)\" role=\"button\" class=\"snowflake-button-container\" title=\"X (Twitter)\" tabindex=\"0\" target=\"_blank\" rel=\"noreferrer\"\u003E\u003Cdiv data-testid=\"button-icon-wrapper\"\u003E\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 59 53\" class=\"button-icon\"\u003E\u003Cpath fill=\"currentColor\" d=\"M46.614 0h9.044L35.8 22.49 59 53H40.795L26.54 34.46 10.223 53H1.18l21.036-24.055L0 0h18.657l12.878 16.937zM43.45 47.72h5.013L16.023 5.085h-5.387z\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003C/div\u003E\u003C/a\u003E\u003Cdiv\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv data-testid=\"snowflake-footer-linkedin\" class=\"snowflake-button-icon snowflake-button-white snowflake-footer-social-item\"\u003E\u003Cdiv class=\"snowflake-button-icon \"\u003E\u003Ca href=\"https://www.linkedin.com/company/3653845\" data-testid=\"button-external\" aria-label=\"LinkedIn\" role=\"button\" class=\"snowflake-button-container\" title=\"LinkedIn\" tabindex=\"0\" target=\"_blank\" rel=\"noreferrer\"\u003E\u003Cdiv data-testid=\"button-icon-wrapper\"\u003E\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" class=\"button-icon\"\u003E\u003Cpath d=\"M22.223 0H1.772C.792 0 0 .773 0 1.73v20.536C0 23.222.792 24 1.772 24h20.451c.98 0 1.777-.778 1.777-1.73V1.73C24 .773 23.203 0 22.223 0ZM7.12 20.452H3.558V8.995H7.12v11.457ZM5.34 7.434a2.064 2.064 0 1 1 0-4.125 2.063 2.063 0 0 1 0 4.125Zm15.112 13.018h-3.558v-5.57c0-1.326-.024-3.037-1.852-3.037-1.851 0-2.133 1.449-2.133 2.944v5.663H9.356V8.995h3.413v1.566h.047c.473-.9 1.636-1.852 3.365-1.852 3.605 0 4.27 2.372 4.27 5.457v6.286Z\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003C/div\u003E\u003C/a\u003E\u003Cdiv\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv data-testid=\"snowflake-footer-facebook\" class=\"snowflake-button-icon snowflake-button-white snowflake-footer-social-item\"\u003E\u003Cdiv class=\"snowflake-button-icon \"\u003E\u003Ca href=\"https://www.facebook.com/snowflakedb/\" data-testid=\"button-external\" aria-label=\"Facebook\" role=\"button\" class=\"snowflake-button-container\" title=\"Facebook\" tabindex=\"0\" target=\"_blank\" rel=\"noreferrer\"\u003E\u003Cdiv data-testid=\"button-icon-wrapper\"\u003E\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" class=\"button-icon\"\u003E\u003Cpath d=\"M24 12c0-6.627-5.373-12-12-12S0 5.373 0 12c0 5.99 4.388 10.954 10.125 11.854V15.47H7.078V12h3.047V9.356c0-3.007 1.792-4.668 4.533-4.668 1.312 0 2.686.234 2.686.234v2.953H15.83c-1.491 0-1.956.925-1.956 1.875V12h3.328l-.532 3.469h-2.796v8.385C19.612 22.954 24 17.99 24 12Z\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003C/div\u003E\u003C/a\u003E\u003Cdiv\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv data-testid=\"snowflake-footer-youtube\" class=\"snowflake-button-icon snowflake-button-white snowflake-footer-social-item\"\u003E\u003Cdiv class=\"snowflake-button-icon \"\u003E\u003Ca href=\"https://www.youtube.com/user/snowflakecomputing\" data-testid=\"button-external\" aria-label=\"YouTube\" role=\"button\" class=\"snowflake-button-container\" title=\"YouTube\" tabindex=\"0\" target=\"_blank\" rel=\"noreferrer\"\u003E\u003Cdiv data-testid=\"button-icon-wrapper\"\u003E\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" class=\"button-icon\"\u003E\u003Cpath d=\"M23.76 7.2s-.233-1.655-.955-2.381c-.914-.956-1.936-.961-2.405-1.017-3.356-.244-8.395-.244-8.395-.244h-.01s-5.039 0-8.395.244c-.469.056-1.49.06-2.405 1.017C.473 5.545.244 7.2.244 7.2S0 9.145 0 11.086v1.819c0 1.94.24 3.886.24 3.886s.233 1.654.95 2.38c.915.957 2.115.924 2.65 1.027 1.92.183 8.16.24 8.16.24s5.044-.01 8.4-.249c.469-.056 1.49-.06 2.405-1.017.722-.727.956-2.381.956-2.381S24 14.85 24 12.905v-1.819c0-1.94-.24-3.886-.24-3.886ZM9.52 15.113V8.367l6.483 3.385-6.483 3.36Z\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003C/div\u003E\u003C/a\u003E\u003Cdiv\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\r\n\u003C/div\u003E","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["container","text_copy_copy_16360","markup_editor"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-none"}},":itemsOrder":["container"]},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container"}},":itemsOrder":["flexible_column_cont"],"appliedCssClassNames":"snowflake-container snowflake-responsive-container-inner-padding-small"}},":itemsOrder":["container_112062425"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-none"},"markup_editor_copy":{"id":"markup-editor-9e3046c92f","title":"New css","cssContent":".snowflake-image-container img{background-color:transparent}div.snowflake-person-chip-avatar{width:80px !important}#snowflake-blog-template-main-container .snowflake-quote-item-card{margin-top:40px}#snowflake-blog-template-main-container .aem-GridColumn:has(.vertical-video){background-color:#000;border-radius:16px;overflow:hidden}#snowflake-blog-template-main-container .is-vertical img{max-width:400px;margin-left:auto;margin-right:auto}#snowflake-blog-template-main-container .vertical-video{max-width:240px;margin-left:auto;margin-right:auto}@media screen and (min-width:1367px){.dynamic .heading-1-v2 .snowflake-title-v2-line{font-size:72px !important;line-height:60px !important}}.snowflake-flexible-column-container-items-alignment-match-height .download-card,.snowflake-flexible-column-container-items-alignment-match-height .download-card\u003E.container{height:100%}.download-card div.code-toolbar\u003E.toolbar .copy-to-clipboard-button{background-color:white;border:1px solid #a9e1f6;margin-right:4px;top:6px;border-radius:16px;height:26px;width:40px}.download-card .snowflake-code-snippet\u003Ediv.code-toolbar\u003E.toolbar\u003E.toolbar-item\u003Ebutton:before{content:'';background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2' style='stroke:%23249EDC;'%3E%3C/rect%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1' style='stroke:%23249EDC;'%3E%3C/path%3E%3C/svg%3E\");background-size:auto 65%;background-position:center;background-repeat:no-repeat;top:0;left:0;width:100%;height:100%}.download-card .snowflake-code-snippet\u003Ediv.code-toolbar\u003E.toolbar\u003E.toolbar-item\u003Ebutton:hover:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2' style='stroke:%23fff;'%3E%3C/rect%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1' style='stroke:%23fff;'%3E%3C/path%3E%3C/svg%3E\")}.download-card\u003Ediv{background-color:#fff;border:1px solid #ccc;border-radius:8px;padding:24px}.download-chip__headline{border-bottom:1px solid #ccc;padding-bottom:16px;margin-bottom:16px}.download-chip{padding:8px 12px !important;border-radius:4px;transition:300ms ease background-color}.download-chip .black-blue-text-color .snowflake-title-v2-line{color:#000 !important;padding-right:24px;font-family:'Lato',sans-serif;font-size:14px !important;font-weight:500 !important}.download-chip .black-blue-text-color .snowflake-title-v2-line:not(:first-child){opacity:.6;font-style:italic !important}.download-chip .snowflake-content-chip-button{display:none}.download-chip.is-external-link{background-size:16px 16px;background-image:url(\"data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.06055 13.0607L11.8605 2.26067M13.0605 10.6607V1.06067H3.46055' stroke='%23249EDC' stroke-width='2.12132' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\")}.download-chip{background-image:url(\"data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_883_7979)'%3E%3Cpath d='M3.375 16.875H14.625' stroke='%23249EDC' stroke-width='1.40625' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9 1.125V11.25' stroke='%23249EDC' stroke-width='1.40625' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.5 7.875L9 12.375L13.5 7.875' stroke='%23249EDC' stroke-width='1.40625' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_883_7979'%3E%3Crect width='18' height='18' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\");background-size:24px auto;background-repeat:no-repeat;background-position:calc(100% - 12px) center}.download-chip__headline{display:flex;gap:16px;flex-direction:row !important;flex-wrap:nowrap}.download-chip__headline::before{content:'';display:inline-block;width:24px;height:24px;background-position:center;background-image:url(\"data:image/svg+xml,%3Csvg width='21' height='21' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.50005 9.89999C8.13657 9.89999 8.74702 9.64713 9.19711 9.19704C9.64719 8.74696 9.90005 8.13651 9.90005 7.49999V2.69999C9.90005 2.06347 9.64719 1.45302 9.19711 1.00293C8.74702 .552844 8.13657 .299988 7.50005 .299988H2.70005C2.06353 .299988 1.45308 .552844 1.00299 1.00293C.552905 1.45302 .300049 2.06347 .300049 2.69999V7.49999C.300049 8.13651 .552905 8.74696 1.00299 9.19704C1.45308 9.64713 2.06353 9.89999 2.70005 9.89999H7.50005ZM7.50005 7.49999H2.70005V2.69999H7.50005V7.49999Z' fill='%23249EDC' stroke='white' stroke-width='.6'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.50005 20.3C8.13657 20.3 8.74702 20.0472 9.19711 19.5971C9.64719 19.147 9.90005 18.5365 9.90005 17.9V13.1C9.90005 12.4635 9.64719 11.853 9.19711 11.403C8.74702 10.9529 8.13657 10.7 7.50005 10.7H2.70005C2.06353 10.7 1.45308 10.9529 1.00299 11.403C.552905 11.853 .300049 12.4635 .300049 13.1V17.9C.300049 18.5365 .552905 19.147 1.00299 19.5971C1.45308 20.0472 2.06353 20.3 2.70005 20.3H7.50005ZM7.50005 17.9H2.70005V13.1H7.50005V17.9Z' fill='%23249EDC' stroke='white' stroke-width='.6'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.9001 9.89999C18.5366 9.89999 19.147 9.64713 19.5971 9.19704C20.0472 8.74696 20.3001 8.13651 20.3001 7.49999V2.69999C20.3001 2.06347 20.0472 1.45302 19.5971 1.00293C19.147 .552844 18.5366 .299988 17.9001 .299988H13.1001C12.4636 .299988 11.8531 .552844 11.403 1.00293C10.9529 1.45302 10.7001 2.06347 10.7001 2.69999V7.49999C10.7001 8.13651 10.9529 8.74696 11.403 9.19704C11.8531 9.64713 12.4636 9.89999 13.1001 9.89999H17.9001ZM17.9001 7.49999H13.1001V2.69999H17.9001V7.49999Z' fill='%23249EDC' stroke='white' stroke-width='.6'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.9001 20.3C18.5366 20.3 19.147 20.0472 19.5971 19.5971C20.0472 19.147 20.3001 18.5365 20.3001 17.9V13.1C20.3001 12.4635 20.0472 11.853 19.5971 11.403C19.147 10.9529 18.5366 10.7 17.9001 10.7H13.1001C12.4636 10.7 11.8531 10.9529 11.403 11.403C10.9529 11.853 10.7001 12.4635 10.7001 13.1V17.9C10.7001 18.5365 10.9529 19.147 11.403 19.5971C11.8531 20.0472 12.4636 20.3 13.1001 20.3H17.9001ZM17.9001 17.9H13.1001V13.1H17.9001V17.9Z' fill='%23249EDC' stroke='white' stroke-width='.6'/%3E%3C/svg%3E%0A\");background-size:contain;background-repeat:no-repeat}.download-chip__headline.is-cli::before{background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 17L10 11L4 5' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 19H20' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\")}.download-card pre[class*=language-]{padding:8px 12px;background-color:var(--ui-background-05);overflow:hidden}.download-chip__headline.is-windows,.download-chip__headline.is-mac{gap:12px}.download-chip__headline.is-windows::before{width:16px;height:20px;background-image:url(\"data:image/svg+xml,%3Csvg width='4875' height='4875' viewBox='0 0 4875 4875' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_122_201)'%3E%3Cpath d='M0 0H2311V2310H0V0ZM2564 0H4875V2310H2564V0ZM0 2564H2311V4875H0V2564ZM2564 2564H4875V4875H2564' fill='%23000'/%3E%3C/g%3E%3C/svg%3E\")}.download-chip__headline.is-mac::before{width:16px;height:20px;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns:x='ns_extend;' xmlns:i='ns_ai;' xmlns:graph='ns_graphs;' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0' y='0' viewBox='0 0 41.5 51' style='enable-background:new 0 0 41.5 51;' xml:space='preserve'%3E%3Cmetadata%3E%3Csfw xmlns='ns_sfw;'%3E%3Cslices%3E%3C/slices%3E%3CsliceSourceBounds bottomLeftOrigin='true' height='51' width='41.5' x='166.1' y='-208.1'%3E%3C/sliceSourceBounds%3E%3C/sfw%3E%3C/metadata%3E%3Cg%3E%3Cpath d='M40.2,17.4c-3.4,2.1-5.5,5.7-5.5,9.7c0,4.5,2.7,8.6,6.8,10.3c-.8,2.6-2,5-3.5,7.2c-2.2,3.1-4.5,6.3-7.9,6.3s-4.4-2-8.4-2 c-3.9,0-5.3,2.1-8.5,2.1s-5.4-2.9-7.9-6.5C2,39.5,.1,33.7,0,27.6c0-9.9,6.4-15.2,12.8-15.2c3.4,0,6.2,2.2,8.3,2.2 c2,0,5.2-2.3,9-2.3C34.1,12.2,37.9,14.1,40.2,17.4z M28.3,8.1C30,6.1,30.9,3.6,31,1c0-.3,0-.7-.1-1c-2.9,.3-5.6,1.7-7.5,3.9 c-1.7,1.9-2.7,4.3-2.8,6.9c0,.3,0,.6,.1,.9c.2,0,.5,.1,.7,.1C24.1,11.6,26.6,10.2,28.3,8.1z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\")}.download-chip__headline.is-desktop::before{background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='.8'%3E%3Cpath d='M1.5 21H22.5V18H1.5V21Z' fill='%23000' stroke='white' stroke-width='.75'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M19.5 15C20.2956 15 21.0587 14.6839 21.6213 14.1213C22.1839 13.5587 22.5 12.7956 22.5 12V6C22.5 5.20435 22.1839 4.44129 21.6213 3.87868C21.0587 3.31607 20.2956 3 19.5 3H4.5C3.70435 3 2.94129 3.31607 2.37868 3.87868C1.81607 4.44129 1.5 5.20435 1.5 6V12C1.5 12.7956 1.81607 13.5587 2.37868 14.1213C2.94129 14.6839 3.70435 15 4.5 15H19.5ZM19.5 12H4.5V6H19.5V12Z' fill='%23000' stroke='white' stroke-width='.75'/%3E%3C/g%3E%3C/svg%3E%0A\")}.download-card .snowflake-code-snippet,.download-card .snowflake-code-snippet code,.download-card .snowflake-code-snippet pre{font-size:14px;color:#000;text-shadow:none !important}.download-chip:hover{background-color:var(--ui-background-05) !important;transition:300ms ease background-color}body:has(.snowflake-skip-to-content[style]) #subNav,.pushdown-banner-dismissed #subNav{top:var(--scroll-padding-top) !important;transition:300ms ease top}body:has(.snowflake-skip-to-content[style*=\"58\"]) #subNav{top:34px !important}body:has(.snowflake-skip-to-content[style*=\"82\"]) #subNav{top:58px !important}body:has(.snowflake-skip-to-content[style*=\"130\"]) #subNav{top:106px !important}body:has(.snowflake-skip-to-content[style*=\"138\"]) #subNav{top:114px !important}body:has(.snowflake-skip-to-content[style*=\"146\"]) #subNav{top:122px !important}.is-hidden .snowflake-person-chip-avatar{display:none}.is-small .snowflake-person-chip-avatar{width:56px;height:56px}.ai-summary ul{margin:16px 0 0 0 !important;padding:0 !important;list-style-type:none}.ai-summary li{margin:0;padding:0 0 0 32px;position:relative}.ai-summary li::before{content:\"\";display:block;border-radius:100%;background:#29b5e8;width:18px;height:18px;position:absolute;top:4px;left:0;border:5px solid #e5f2f7;box-sizing:border-box}.ai-summary li:not(:last-child){margin-bottom:1rem}.snowflake-content-chip-image__image{aspect-ratio:5 / 3 !important}.content-chip-new .snowflake-content-chip-image__image{height:100% !important;aspect-ratio:unset !important}.snapshot-card .snowflake-text p:not(:first-child){margin-top:var(--spacing-01)}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(2) p:has(b){font-family:'Texta',sans-serif;margin-top:24px}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(2) p b{font-weight:700 !important}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(2){border-bottom:1px solid #ccc;padding-bottom:24px}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(3) p:first-child:has(b){font-family:'Texta',sans-serif;font-size:20px !important;margin-bottom:1rem !important}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(3) li{display:inline-block}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(3) li a{display:inline-block;text-decoration:none;padding:4px 16px !important;border:1px solid #ccc;border-radius:24px;color:#666 !important}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(3) ul{list-style-type:none;display:flex;padding:0 !important;margin:0 !important;gap:12px}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container img{width:90%;max-width:240px;margin:0 auto}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container{padding:40px;max-width:450px;margin:0 0 0 auto;background-color:#fff;box-shadow:0 2px 6px 0 rgba(152,162,179,.25),0 10px 20px 0 rgba(152,162,179,.10);border-radius:8px;border-top:4px solid var(--ui-01)}.ai-summary{background-color:#f3fbfe;border-left:2px solid var(--ui-01);padding:40px}.ai-summary\u003Espan p:last-child:has(i){color:#666;font-size:14px !important}.ai-summary\u003Espan p:last-child:has(i) a{color:#666 !important;text-decoration:underline !important}.ai-summary\u003Espan p:last-child:has(i) a:hover{color:var(--ui-01) !Important}.ai-summary\u003Espan p:first-child:has(b)::after{content:'';display:inline-block;width:20px;height:20px;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.3158 3.15226C8.6475 6.2258 6.22698 8.64545 3.15232 9.31587C2.94923 9.36072 2.94923 9.63928 3.15232 9.68413C6.22698 10.3522 8.6475 12.7742 9.3158 15.8477C9.36067 16.0508 9.63933 16.0508 9.6842 15.8477C10.3525 12.7742 12.773 10.3545 15.8477 9.68413C16.0508 9.63928 16.0508 9.36072 15.8477 9.31587C12.773 8.64781 10.3525 6.2258 9.6842 3.15226C9.63933 2.94925 9.36067 2.94925 9.3158 3.15226Z' fill='%23249EDC'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.3725 11.5461C16.9098 13.6739 15.2341 15.3491 13.1054 15.8132C12.9649 15.8443 12.9649 16.0371 13.1054 16.0681C15.2341 16.5307 16.9098 18.2074 17.3725 20.3353C17.4035 20.4758 17.5965 20.4758 17.6275 20.3353C18.0902 18.2074 19.7659 16.5323 21.8946 16.0681C22.0352 16.0371 22.0352 15.8443 21.8946 15.8132C19.7659 15.3507 18.0902 13.6739 17.6275 11.5461C17.5965 11.4055 17.4035 11.4055 17.3725 11.5461Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\");background-repeat:no-repeat;background-size:contain;background-position:center;vertical-align:middle;margin-left:8px}.ai-summary\u003Espan p:first-child:has(b){color:var(--ui-01) !important;text-transform:uppercase}.border-top{border-top:1px solid rgba(0,0,0,.2)}.border-top\u003Espan{display:block;padding-top:32px}body .snowflake-card-v2-advanced-image__image{aspect-ratio:16 / 9 !important}.content-chip-new .snowflake-content-chip-image__image{border-radius:0;object-fit:cover;height:100%}.sf-footer #ot-sdk-btn.ot-sdk-show-settings,.sf-footer #ot-sdk-btn.optanon-show-settings{color:rgba(255,255,255,.7) !important;text-underline-offset:4px;border-top:none;border-left:none;border-right:none;border-bottom:1px dotted transparent;background-color:transparent !important;background-image:none !important;transition:300ms ease text-decoration-color;padding:0 !important;font-size:12px;font-family:'Lato',sans-serif}.sf-footer #ot-sdk-btn.ot-sdk-show-settings:hover,.sf-footer #ot-sdk-btn.optanon-show-settings:hover{color:rgba(255,255,255,1) !important;border-bottom:1px dotted var(--ui-01);transition:300ms ease text-decoration-color}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:last-child{flex-shrink:0}.sf-footer__disclaimers{background-color:#042130}.sf-footer__disclaimers .snowflake-simple-stat-disclaimer p a{color:inherit;text-decoration:none !important}.sf-footer__disclaimers .snowflake-simple-stat-disclaimer p sup{margin-right:2px}.sf-footer__disclaimers .snowflake-simple-stat-disclaimer p{text-indent:-5px;padding-left:5px}.sf-footer__disclaimers-inner{border-top:1px solid rgba(255,255,255,.25);padding:40px 0}.sf-footer__disclaimers .snowflake-simple-stat{align-items:flex-start;text-align:left;color:rgba(255,255,255,.7);margin-bottom:10px}.sf-footer__social{display:flex;justify-content:center;gap:12px}.sf-footer .snowflake-footer-social-item{margin:0 !important}.sf-footer .snowflake-footer-social-item a{line-height:0;background-color:rgba(3,24,35,.8);display:inline-block;width:48px !important;height:48px;border-radius:8px;display:inline-flex;justify-content:center;align-items:center;transition:300ms ease background-color}.sf-footer .snowflake-footer-social-item a:hover{background-color:var(--ui-01) !important;transition:300ms ease background-color}.sf-footer__bottom{padding-bottom:40px}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoError .mktoErrorMsg{max-width:100%;color:#fff}.sf-footer .mktoForm .mktoError .mktoErrorMsg .mktoErrorDetail{display:inline-block}.sf-footer .mktoFormRow:has(.mktoHtmlText:empty){display:none}.sf-footer .mktoFormRow .mktoHtmlText span{color:#fff !important}.sf-footer{background-color:#042130}.sf-footer .optanon-toggle-display:hover{text-decoration-color:var(--ui-01) !important;cursor:pointer !important;text-underline-offset:4px;text-decoration-style:dotted !important;text-decoration-color:var(--ui-01);color:#fff !important;transition:300ms ease text-decoration-color;text-decoration:underline;opacity:1}.sf-footer__logo{width:40px}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container{row-gap:32px}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;justify-content:space-between;align-items:center;text-align:center;row-gap:16px}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(2){text-align:center;flex-grow:1}.sf-footer__legal-links li button,.sf-footer__legal-links li a,.sf-footer__legal-links li{margin:0;color:rgba(255,255,255,.7) !important;font-weight:500}.sf-footer__legal-links li a:hover{color:rgba(255,255,255,1) !important}.sf-footer div.sf-footer__copyright p,.sf-footer div.sf-footer__legal-links li,.sf-footer div.sf-footer__legal-links a,.sf-footer div.sf-footer__legal-links p{font-size:12px !important}.sf-footer__legal-links ul{list-style-type:none;margin:0;padding:0;display:flex;gap:20px;row-gap:4px;justify-content:center;flex-wrap:wrap;text-align:center}.sf-footer__legal-links li:last-child{width:100%}.sf-footer .mktoFormRow:has(.mktoPlaceholder),.sf-footer .mktoFormRow:has(input[type=\"hidden\"]){display:none !important}.sf-footer .mktoFormCol{margin-bottom:0 !important}.sf-footer label[for=\"adhoc1\"]{width:auto !important;flex-grow:1;margin-left:16px}.sf-footer .mktoFieldWrap:has(label[for=\"adhoc1\"]){display:flex;flex-direction:row-reverse;margin-top:22px}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoCheckboxList input[type=checkbox]{background-color:transparent !important;border:1px solid rgba(255,255,255,.4) !important;border-radius:4px !important}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoEmailField,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoTelField,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoTextField,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap select{background-color:transparent !important;color:#fff !important;height:auto !important;border:1px solid rgba(255,255,255,.4) !important;border-radius:4px !important;padding:12px 18px !important}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoEmailField:focus,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoTelField:focus,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoTextField:focus,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap select:focus{border-color:var(--ui-01) !important}.sf-footer .mktoForm *{padding:0 !important}.sf-footer .mktoForm,.sf-footer .snowflake-marketo-form-container{padding:0 !important;background:transparent;margin-bottom:0;box-shadow:none}.sf-footer .mktoHtmlText.mktoHasWidth{width:100% !important;margin:24px 0}.sf-footer .mktoFormRow{flex-direction:column}.sf-footer .mktoForm .mktoButtonWrap{margin:0 !important}.sf-footer select{background-image:url(\"data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.981445 1.43496L6.90897 7.32496L12.9314 1.33496' stroke='white' stroke-width='1.33333' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\") !important}.sf-footer .snowflake-marketo-form .mktoButtonWrap.mktoNative{justify-content:flex-start}.sf-footer *::placeholder{color:#fff !important;opacity:.8}.sf-footer .mktoForm .mktoButtonWrap.mktoSimple .mktoButton{background-color:var(--ui-01) !important;color:#fff !important;width:100% !important;padding:12px 16px !important;border:1px solid var(--ui-01) !important;background-image:none !important;border-radius:48px;text-transform:uppercase;font-weight:800 !important;font-family:'Texta',sans-serif !important;font-size:16px !important;line-height:1.2}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoHtmlText\u003Espan,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoLabel\u003Espan,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap label.mktoLabel{color:#fff !important}.sf-footer__newsletter-title p:not(:first-child){margin-top:8px !important}.sf-footer__newsletter-title p b{font-weight:800 !important;font-family:'Texta',sans-serif !important;font-size:22px !important;line-height:1.2}.sf-footer__newsletter-title p:last-child{font-size:14px !important;opacity:.8}.sf-footer__link-group li a[target=\"_blank\"]::after{content:'';display:inline-block;width:10px;height:10px;margin-left:5px;background-image:url(\"data:image/svg+xml,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.72222 1.22222C6.38471 1.22222 6.11111 .948616 6.11111 .611111C6.11111 .273607 6.38471 0 6.72222 0H10.3889C10.551 0 10.7064 .0643867 10.821 .178988C10.9356 .293596 11 .449032 11 .611111V4.27778C11 4.61529 10.7264 4.88889 10.3889 4.88889C10.0514 4.88889 9.77778 4.61529 9.77778 4.27778V2.08647L4.09879 7.76545C3.86013 8.00409 3.4732 8.00409 3.23454 7.76545C2.99589 7.52681 2.99589 7.13986 3.23454 6.90122L8.91355 1.22222H6.72222ZM0 2.44444C0 1.76943 .547207 1.22222 1.22222 1.22222H4.27778C4.61529 1.22222 4.88889 1.49583 4.88889 1.83333C4.88889 2.17084 4.61529 2.44444 4.27778 2.44444H1.22222V9.77778H8.55556V6.72222C8.55556 6.38471 8.82915 6.11111 9.16667 6.11111C9.50418 6.11111 9.77778 6.38471 9.77778 6.72222V9.77778C9.77778 10.4528 9.23059 11 8.55556 11H1.22222C.547207 11 0 10.4528 0 9.77778V2.44444Z' fill='white'/%3E%3C/svg%3E%0A\");background-size:contain;background-repeat:no-repeat;background-position:center}.sf-footer__link-group ul,.sf-footer__link-group li{margin:0;padding:0;list-style-type:none}.sf-footer__link-group ul{margin-top:20px !important}.sf-footer__link-group li{margin-top:15px}.sf-footer div.sf-footer__link-group\u003Espan\u003Ep\u003Ea,.sf-footer div.sf-footer__link-group\u003Espan\u003Ep{color:var(--ui-01) !important;font-weight:800 !important;font-family:'Texta',sans-serif !important;font-size:20px !important;line-height:1.2}.sf-footer__link-group li a{opacity:.9;color:#fff !important;font-weight:500 !important;font-size:15px !important;line-height:1.3}.sf-footer__link-group li a:hover{opacity:1}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container::before,.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container::after{display:none}.sf-footer__column{flex-grow:1}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:first-child){width:50%}@media (min-width:800px){.sf-footer__legal-links ul{justify-content:flex-start;text-align:left}.sf-footer__social{justify-content:flex-end}.sf-footer__legal-links ul{padding-left:24px}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container{text-align:right;flex-wrap:nowrap}.sf-footer__legal-links.align-left ul{justify-content:flex-start}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;justify-content:space-between;flex-direction:row}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto !important;max-width:200px}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{flex-grow:1;order:2;width:100% !important;max-width:none}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto}}@media screen and (min-width:1380px){.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container{flex-wrap:nowrap}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{padding-right:48px;max-width:380px;background-color:rgba(3,24,35,.4);padding:32px;margin-left:48px;border-radius:16px}.sf-footer__link-group li,.sf-footer__link-group li a{font-size:14px !important;line-height:1.3}}@media screen and (max-width:991px){.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{order:2;margin-top:24px !important}}@media screen and (max-width:420px){.is-reduced-mobile .heading-1-v2,.is-reduced-mobile .heading-1-v2-sm{font-size:32px;line-height:28px}}.quote-content-chip{background-color:var(--ui-background-05);padding:24px;border-radius:12px;position:relative}.quote-content-chip .black-blue-text-color .snowflake-title-v2-line\u003Espan{color:rgba(0,0,0,.8) !important;font-size:15px !important;line-height:1.5 !important;font-family:'Lato',sans-serif;font-weight:400 !important}.quote-content-chip .black-blue-text-color .snowflake-title-v2-line\u003Espan:not(:first-child){max-width:calc(100% - 200px)}.quote-content-chip .black-blue-text-color .snowflake-title-v2-line\u003Espan:nth-child(2){font-family:'Texta',sans-serif;color:#000 !important;font-size:20px !important;font-weight:800 !important;margin-top:24px}.quote-content-chip .snowflake-content-chip-image{width:140px !important}@media screen and (min-width:992px){.quote-content-chip .snowflake-content-chip-image{position:absolute !important;bottom:24px;right:16px}}@media screen and (max-width:991px){.quote-content-chip .snowflake-content-chip-image{margin-bottom:40px}.quote-content-chip{flex-direction:column}}#spa-root{background-color:#fff}.lowercase .snowflake-title-v2-line{text-transform:none !important}.centered .snowflake-logo-content-container-inner{justify-content:center}div.snowflake-linklist-dropdown-menu{max-height:380px}.first-line-blue .snowflake-typographyv2 .snowflake-title-v2-line:first-child{color:var(--ui-01) !important}.is-front{position:relative;z-index:2}.use-case-body .snowflake-text h1,.use-case-body .snowflake-text h2,.use-case-body .snowflake-text h3,.use-case-body .snowflake-text h4,.use-case-body .snowflake-text h5,.use-case-body .snowflake-text h6{font-family:'Texta',sans-serif;color:#000;margin:.25rem 0 0 0}.pc-hero .button-group\u003E.container\u003E.cmp-container\u003E.aem-container{justify-content:flex-start}.sf-footer .mktoFormRow .mktoHtmlText span{font-family:'Lato',sans-serif !important}.snowflake-button-primary.snowflake-button-blue .snowflake-button-container{justify-content:center}.related-chip-25{background-color:#fff;border:1px solid rgba(204,204,204,.5);border-radius:8px;padding:20px;position:relative}.related-chip-25:hover{box-shadow:rgba(152,162,179,.1) 0 10px 20px 0}.related-chip-25:hover::after{right:24px;transition:300ms ease right}.related-chip-25::after{content:'';display:block;transition:300ms ease right;background-image:url(\"data:image/svg+xml,%3Csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.66699 7C7.66699 6.6571 7.53559 6.32825 7.30169 6.08578L2.34446 .947072C1.84529 .429617 1.0164 .429617 .517219 .947072C.0427878 1.43887 .042788 2.21798 .517219 2.70978L4.65591 7L.51722 11.2902C.0427889 11.782 .0427887 12.5611 .51722 13.0529C1.0164 13.5704 1.84529 13.5704 2.34447 13.0529L7.30169 7.91421C7.53559 7.67175 7.66699 7.34289 7.66699 7Z' fill='%2329B5E8'/%3E%3C/svg%3E%0A\");width:8px;height:14px;display:block;position:absolute;right:30px;top:50%;transform:translateY(-50%);background-size:contain;background-position:center;background-repeat:no-repeat}.related-chip-25 .heading-5-v2{font-size:22px;line-height:1.1}.related-chip-25 .snowflake-content-chip-image{width:48px;flex-shrink:0}.related-chip-25 .snowflake-content-chip-image__image{aspect-ratio:1;height:auto;object-fit:contain}.related-chip-25 .snowflake-content-chip-button{display:none}.related-chip-25 .snowflake-content-chip-content-without-tag{flex-grow:1;padding-right:24px}.case-study-25.small-logo .snowflake-case-study-card-logo img{width:60px !important}.swiper-slide .case-study-25{width:95%;margin-left:auto;margin-right:auto}.case-study-25 .snowflake-case-study-card-logo img{width:140px !important;height:auto !important;transform:none !important;margin:24px 0 8px 0}.case-study-25 .snowflake-case-study-card-image__image{object-position:left center}.case-study-25 .snowflake-case-study-card-information-container{padding-right:24px}.case-study-25 ul{list-style-type:none;padding:0;margin:8px 0 0 0}.case-study-25 li{font-size:15px !important;line-height:1.3 !important;display:flex;flex-direction:column;border-left:4px solid var(--ui-01);padding-left:24px;margin-top:24px;color:#535862;gap:4px}.case-study-25 li b{display:block;font-family:'Texta',sans-serif;font-weight:900 !important;font-size:48px !important;line-height:.9 !important;color:var(--ui-01)}.case-study-25 .snowflake-case-study-card-description p{color:#535862}.case-study-25 .snowflake-case-study-card-description p:nth-child(2):not(:has(a)){color:#000;font-family:Texta;font-size:30px !important;line-height:1 !important;font-style:normal;font-weight:700;text-indent:-8px}.case-study-25.is-story .snowflake-case-study-card-description p:nth-child(2):not(:has(a)){text-indent:0}.case-study-25 .snowflake-case-study-card-key-card{background-color:transparent}.case-study-25 .snowflake-case-study-card-button{display:none}.case-study-25{border-radius:24px;overflow:hidden}@media screen and (min-width:1024px){.case-study-25 .snowflake-case-study-card-left-container{position:static;width:60%;min-height:0}.case-study-25 .snowflake-case-study-card-right-container::after{content:'';display:block;width:60%;max-width:340px;padding-bottom:50%;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 22 16' class='snowflake-pushdown-banner-placeholder-arrow'%3E%3Cpath fill='%2329B5E8' fill-rule='evenodd' d='M17.865 8.756c.088-.274.124-.555.118-.834a2.551 2.551 0 0 0-1.3-2.142L7.887.76C6.645.055 5.063.475 4.35 1.7a2.535 2.535 0 0 0 .947 3.494l4.916 2.809-4.916 2.801a2.543 2.543 0 0 0-.947 3.502c.713 1.222 2.295 1.64 3.537.934l8.796-5.024a2.541 2.541 0 0 0 1.182-1.46Z' clip-rule='evenodd'%3E%3C/path%3E%3C/svg%3E\");background-size:contain;background-repeat:no-repeat;position:absolute;top:-10%;left:-20%}.case-study-25 .snowflake-case-study-card-right-container{max-width:none;width:40%;position:absolute;top:-5%;right:-5%;z-index:0;height:110%}}@media screen and (min-width:768px){.case-study-25 li{max-width:50%}.case-study-25 ul{display:flex;gap:48px}}.snowflake-text.section-eyebrow p{margin-left:auto;margin-right:auto;margin-bottom:16px !important}.snowflake-text.section-eyebrow p,.snowflake-text.eyebrow-text p{text-transform:uppercase;font-family:'Texta',sans-serif !important;font-weight:800 !important;letter-spacing:.025em;margin-bottom:12px;line-height:1.1 !important}.snowflake-title-v2.dynamic .heading-2-v2 span.snowflake-title-v2-line{font-size:clamp(2.5rem,4.5vw,4rem) !important;line-height:.82 !important}.checklist ul{padding:0;margin:0}.checklist ul li{list-style-type:none;padding-left:32px;position:relative}.checklist ul li:not(:last-child){margin-bottom:1em}.checklist ul li::before{content:'';display:inline-block;width:20px;height:20px;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect y='.985352' width='24' height='24' rx='12' fill='%23D4F0FA'/%3E%3Cpath d='M7.28613 13.2967L10.7147 16.7253L17.5718 9.86816' stroke='%2329B5E8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\");background-size:contain;background-repeat:no-repeat;position:absolute;top:3px;left:0}.last-line-blue .snowflake-typographyv2 .snowflake-title-v2-line:last-child{color:var(--ui-01)}.snowflake-text p sup{line-height:0}.snowflake-title-v2.lowercase .heading-3-v2{font-size:28px;line-height:1;text-transform:none;font-weight:700}.snowflake-title-v2.lowercase .heading-2-v2{font-size:32px;line-height:1;text-transform:none;font-weight:700}.content-chip-new{border:1px solid rgba(204,204,204,.5);border-radius:16px;overflow:hidden}.content-chip-new .snowflake-image-container{border-radius:0;display:none}.content-chip-new .snowflake-content-chip-image{margin-right:0;max-width:180px;flex-shrink:0}.content-chip-new .snowflake-content-chip-content{padding:24px}.content-chip-new .black-blue-text-color .snowflake-title-v2-line:first-child{font-size:24px;line-height:1.1}.content-chip-new .black-blue-text-color .snowflake-title-v2-line:not(:first-child){font-family:'Lato',sans-serif;font-size:17px;color:#535862 !important;font-weight:500;line-height:1.45;margin-top:8px;display:none}div.snowflake-text a{font-weight:normal;color:var(--ui-01);text-decoration:underline;text-underline-offset:4px;text-decoration-style:dotted !important;text-decoration-color:transparent;transition:300ms ease text-decoration-color}div.snowflake-text a:hover{text-decoration-color:var(--ui-01);transition:300ms ease text-decoration-color}.footer-nav__link-group .snowflake-button-container,.subnav__item--button,.snowflake-card-v2-advanced-button .snowflake-button-container{justify-content:flex-start}.button-container\u003E.container\u003E.cmp-container\u003E.aem-container{align-items:center}.button-container\u003E.container\u003E.cmp-container\u003E.aem-container .snowflake-button-primary+.snowflake-button-link{margin-left:12px !important}.snowflake-button-regular.snowflake-button-link .snowflake-button-container{font-size:18px !important;text-align:left;justify-content:flex-start;line-height:1.4 !important}body .snowflake-card-v2-advanced{border:1px solid rgba(204,204,204,.5);border-radius:var(--spacing-02);transition:300ms ease all}body .snowflake-card-v2-advanced:hover{transform:translateY(-10px);box-shadow:rgba(152,162,179,.1) 0 10px 20px 0;transition:300ms ease all}body .snowflake-card-v2-advanced-inner{border-bottom:none}body .snowflake-card-v2-advanced-image{line-height:0}body .snowflake-card-v2-advanced-image__image{aspect-ratio:16 / 9}body .snowflake-card-v2-advanced-content{position:relative}body .snowflake-card-v2-advanced-content::after{content:'';display:block;position:absolute;bottom:0;left:0;transition:300ms ease all;width:20%;height:4px;background-color:var(--ui-01);opacity:0}body .snowflake-card-v2-advanced:hover .snowflake-card-v2-advanced-content::after{width:100%;opacity:1;transition:300ms ease all}body .snowflake-card-v2-advanced .snowflake-button-link.snowflake-button-blue .snowflake-button-container\u003E.link-icon{transition:300ms ease transform}body .snowflake-card-v2-advanced:hover .snowflake-button-link.snowflake-button-blue .snowflake-button-container\u003E.link-icon{transform:translateX(4px);transition:300ms ease transform}.six-columns\u003E.container\u003E.cmp-container\u003E.aem-container,.three-columns\u003E.container\u003E.cmp-container\u003E.aem-container,.four-columns\u003E.container\u003E.cmp-container\u003E.aem-container,.five-columns\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-wrap:wrap;gap:24px}.six-columns.align-center\u003E.container\u003E.cmp-container\u003E.aem-container,.three-columns.align-center\u003E.container\u003E.cmp-container\u003E.aem-container,.four-columns.align-center\u003E.container\u003E.cmp-container\u003E.aem-container,.five-columns.align-center\u003E.container\u003E.cmp-container\u003E.aem-container{justify-content:center}.three-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:100%;margin:0 !important}.six-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.four-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.five-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(50% - 12px);margin:0 !important}@media screen and (min-width:768px){.three-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(50% - 12px)}.six-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.four-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.five-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(33.333% - 16px)}}@media screen and (min-width:1024px){.snowflake-title-v2.lowercase .heading-3-v2{font-size:34px}.snowflake-title-v2.lowercase.larger .heading-2-v2{font-size:44px;line-height:.95}.three-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(33.333% - 16px)}.four-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(25% - 18px)}.five-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(20% - 19.2px)}.six-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(16.6666% - 20px)}.snowflake-title-v2.lowercase .heading-3-v2{font-size:28px !important}}@media screen and (min-width:1200px){.snowflake-title-v2.lowercase .heading-2-v2{font-size:40px}.content-chip-new .snowflake-content-chip-content{padding:32px}.content-chip-new .snowflake-image-container,.content-chip-new .black-blue-text-color .snowflake-title-v2-line:not(:first-child){display:block}}.promo-banner-25{border-radius:16px;overflow:hidden}.promo-banner-25 .snowflake-premium-content-banner-image-container{position:relative;max-width:380px}.promo-banner-25 .snowflake-text{color:#535862}.promo-banner-25 .snowflake-premium-content-banner-image__image{transform:translateY(8px);transition:300ms ease transform;border-radius:0;width:85%;margin:0 auto;display:block;position:relative;z-index:1}.promo-banner-25 .snowflake-premium-content-banner-image__link:hover .snowflake-premium-content-banner-image__image{transform:translateY(0);transition:300ms ease transform}.promo-banner-25 .snowflake-premium-content-banner-image__inner{height:auto;padding-top:24px}.promo-banner-25 .snowflake-premium-content-banner-image__link{position:relative;z-index:1;height:auto}.promo-banner-25 .snowflake-premium-content-banner-image__link::after{content:'';display:block;position:absolute;clip-path:polygon(0 0,66% 0,100% 100%,0 100%);bottom:0;left:0;width:100%;height:100%;background:var(--ui-01);transition:300ms ease width}.promo-banner-25 .snowflake-premium-content-banner-image__link:hover::after{width:110%;transition:300ms ease width}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap select{background-position:95% 50%}.sf-footer__disclaimers .text-size-small .snowflake-text p{color:#fff !important;font-size:10px !important;opacity:.8}@media screen and (min-width:768px){.sf-footer__disclaimers .text-size-small .snowflake-text p{font-size:12px !important}}@media screen and (max-width:1023px){.mobile-top-padding{padding-top:64px}}@media (max-width:799px){.sf-footer .snowflake-marketo-form .mktoButtonWrap.mktoNative .mktoButton{width:100% !important}.sf-footer__logo{text-align:center;display:block;margin:0 auto}}.customer-card .snowflake-card-v2-advanced-image{aspect-ratio:4.35 / 1}.customer-card .snowflake-card-v2-advanced-image__image{width:100%;height:100%;padding-left:8px;object-fit:contain;object-position:left center;margin:0 !important;aspect-ratio:initial}.customer-card .snowflake-card-v2-advanced-image__inner{height:110px}.customer-card .snowflake-card-v2-advanced-tag-indicator{display:none}.pc-hero .snowflake-container-arrow-small-gray-image{top:-34% !important;width:18% !important}.pc-hero .snowflake-container-arrow-small-gray-image path{fill:var(--ui-01);opacity:1}@media screen and (max-width:767px){.mobile-padding-top{padding-top:64px}.hide-mobile{display:none !important}.pc-hero{padding-top:52px}.pc-hero .snowflake-text p,.pc-hero .left-alignment .snowflake-title-v2-line,.pc-hero h1 span{text-align:center !important}}div.snowflake-pushdown-banner-button{margin-top:0}.button-group.align-center\u003E.container\u003E.cmp-container\u003E.aem-container{align-items:center;justify-content:center !important}.text-center .snowflake-breadcrumb-swiper .swiper-wrapper{justify-content:center}div.snowflake-breadcrumb a.snowflake-breadcrumb-item,.snowflake-breadcrumb div.snowflake-breadcrumb-item{text-transform:none;font-weight:500}.snowflake-breadcrumb svg{display:none !important}.snowflake-breadcrumb a:has(svg)::after{content:'/';margin:0 12px;color:#666}.hide-filters .snowflake-filterable-and-searchable-grid-top-part{display:none !important}.page-section{padding-left:24px;padding-right:24px}@media screen and (min-width:768px){.page-section{padding-left:48px;padding-right:48px}}.download-card pre[class*=language-]{overflow-x:scroll !important}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["container_copy","container_573483281_","markup_editor_copy"]}},":itemsOrder":["root"],"classNames":"aem-xf"},"markup_editor":{"id":"markup-editor-09b26533dd","title":"Quickstarts Overrides","cssContent":".snowflake-markdown blockquote{padding:24px 32px;background:#f6f9fa;border:1px solid #29b5e8;border-radius:16px}.snowflake-markdown .snowflake-image-container img{width:auto !important;max-width:100%}.snowflake-markdown .snowflake-text ol{padding-left:20px !important}.snowflake-markdown .snowflake-text li{margin:0 0 12px 0 !important}.snowflake-markdown h3.snowflake-markdown-h3{font-size:20px !important;font-family:Texta,sans-serif !important}@media (min-width:768px){.snowflake-markdown h3.snowflake-markdown-h3{font-size:28px !important}}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["experiencefragment-banner","experiencefragment-header","markup_editor_1950346551","responsivegrid","modal_container","experiencefragment-footer","markup_editor"],":type":"wcm/foundation/components/responsivegrid"}},":itemsOrder":["root"],"locale":"en"}
  