Prerequisites for App Installs

What must be in place in Snowflake and your SBT project before an app can install and run successfully.

New to SBT? Start with the SBT Overview.

Installing an app means giving one organization access to an app you published. Most install and run failures trace back to a missing item on this list. Check it before installing, and again whenever a run fails with a permissions error. Everything here applies to both SBT Beta and SBT 1.0 apps.

The checklist

Snowflake (publisher, once per source table) — full script and explanations in Publisher Snowflake Setup:

  • MTA_ADMIN_ROLE has SELECT on every source table WITH GRANT OPTION

  • MTA_ADMIN_ROLE has USAGE on the source database and schema WITH GRANT OPTION

  • Each source table's proxy role (DB__SCHEMA__TABLE__ROLE) EXISTS (the sync engine does not create it)

  • Each proxy role has SELECT on its table and USAGE on the database and schema

  • Your pipelines use TRUNCATE + INSERT, not drop/recreate (rebuilding a table silently destroys its grants)

SBT project:

  • Every table your app reads is declared in sources/ yaml — hardcoded references to undeclared tables are not covered by managed permissions and will fail (see Sources)

  • sbtconf.toml has a working dbcon and seek block — verify with sbt check-conn (see Configuring Your Project (sbtconf.toml))

  • Beta model files have no top-level imports — bare def model(session, seek): only (see Models > How models execute)

  • Every values_query helper returns columns aliased value and label (see Helpers & the Run Context) — required for parameter dropdowns, install-blocking for RLS parameters

SBT version:

  • You are on SBT 1.0.14 or newer — verify with pip show sbt (there is no sbt --version).

  • Install and upgrade by pinning an exact version, then verify with pip show sbt — see Setting Up SBT for the command.

Warehouse:

  • The app has a warehouse configured on its catalog page / App Connections. If a run fails with "no active warehouse," report it through Contact Us.

FAQ

Do I need to wait after installing before running the app? No. Runs wait for Insight Cloud to finish provisioning permissions before executing.

Why does a newly installed app look empty or show errors at first? Output data exists only after the app's first successful run. An empty or erroring state right after install is expected — run the app or wait for its schedule.

I did the grants but things are still red in the Sync Engine Visualizer. Click Retry failed resources, wait for it (it queues behind any running sync), then rerun the variant. Details in Publisher Snowflake Setup.

Related articles

⏭️ Next: Installing an App into an Organization