What you can do
- Monitor every Bolt run across the Paradime workspaces you choose: status, duration, who or what triggered it, and the git branch, commit and pull request.
- Use the dashboard in the app for run activity over 14 days, schedule health over 30 days and recent failures. Each failure links to the run in Paradime.
- Query runs and schedules with SQL, point a BI tool at them, or join them with your own Snowflake data.
- Refresh on Snowflake serverless compute, every 30 minutes by default. The refresh doesn’t need a warehouse.
Prerequisites
- A Paradime account API key (it starts with
prdm_cmp_) with the Bolt schedules metadata viewer capability, and access to every workspace you want to monitor. Workspace API keys don’t work with the app. Step 1 below shows how to generate the key. - A Paradime account hosted in US East (N. Virginia), Europe (London) or Europe (Ireland). The app can’t reach accounts hosted in Europe (Frankfurt) at the moment.
- The ACCOUNTADMIN role in Snowflake for installation and setup. Setup creates an external access integration and grants account-level task privileges to the app, and ACCOUNTADMIN can do both by default.
Set up the app
Step 1: Generate an account API key in Paradime
- Go to Settings and select API Keys in the left panel.
- Click Generate API Key.
- Grant the Bolt schedules metadata viewer capability. The app only reads metadata, so it needs nothing more.
- Select every workspace you want to monitor.
- Copy the API key and the API endpoint shown with it. You can’t see the key again after you leave this screen.
Only users with the Admin role can generate account API keys, and only for workspaces where they are an Admin. The Workspace Admin role isn’t enough. See API Keys.
Step 2: Install the app from the Snowflake Marketplace
- Open the Paradime Bolt App listing and click Get. If Paradime sent you an offer link, open that link and accept the offer instead.
- Follow Snowflake’s steps to install the app.
<app_name>.
Step 3: Connect the app to Paradime
Open the app in Snowsight. The first time you open it, it takes you through four steps: Connect, Authorize, Pipeline and First sync. Connecting has two parts, in two different places:- In the app’s form, choose your Paradime hosting region, then fill in Company token or full endpoint URL and Account API key. Paste the full API endpoint from step 1 into the endpoint field. It already includes the right host, so the region choice doesn’t matter.
-
The app shows a JSON value like this one. Copy it with the copy icon.
- Click Grant network access + credentials. Snowflake opens its own dialog to create a network rule, a secret and an external access integration in your account.
- In Snowflake’s dialog, paste the JSON value from the app into the secret’s value field and finish the dialog.
The API host depends on where your Paradime account is hosted:
Step 4: Allow scheduled refreshes
Click Grant task privileges. This grants the appEXECUTE TASK and EXECUTE MANAGED TASK, so the refresh runs on Snowflake serverless compute without a warehouse.
Step 5: Create the pipeline
Click Create pipeline. This creates the procedure that calls the Paradime API and the task that runs it. The task starts paused.Step 6: Test the connection and run the first sync
- Click Test connection. When it works, the app shows the API host it reached and how many workspaces and schedules your API key can see.
- Click Sync now. The first sync finds your workspaces and starts monitoring the ones your API key can read.
Step 7: Choose workspaces and turn on the schedule
In the Setup tab:- In Workspaces, select Monitor for each workspace you want, then click Save workspace selection. The API key access column shows whether your API key can read each workspace.
- In Refresh schedule, set Refresh every (minutes) to a value from 5 to 1440 and click Apply interval. The default is 30.
- Click Enable to start the scheduled refresh. Click Pause to stop it.
Use the app
The app has three tabs:- Dashboard: run activity over the last 14 days, schedule health over the last 30 days, and recent failures with a View in Paradime link to each one.
- Runs: the latest 1,000 synced runs, which you can filter by workspace, state and schedule name. Each run links to Paradime.
- Setup: the Paradime connection, the pipeline, workspace selection, the refresh schedule and the sync history.
Query the data
The app’s tables and views are standard Snowflake objects, so you can query them with SQL or connect a BI tool to them.
For example, to see the schedules with the lowest success rate first:
Roles and access
The app has two application roles. The role that installed the app holds both.
To give other Snowflake roles access:
Everyone who can open the app sees the Setup tab and can use it, whichever application role they hold.
What the app stores
The app stores Bolt run and schedule metadata only: schedule names, cron schedules and owners, run ids and states, start and end times, durations, who triggered each run, and the git branch, commit and pull request. It doesn’t store dbt™ logs or any data from your warehouse. Your API key stays in the Snowflake secret in your account. The app only calls the API endpoint in your secret, over HTTPS. Its network rule allows only the three Paradime API hosts listed in step 3.Troubleshooting
The Paradime credentials secret must be JSON like {"api_endpoint": "...", "api_key": "..."}
This message appears at the end of a longer Connection test failed error with a Python traceback. The Snowflake secret the app reads doesn’t hold the JSON value from step 3. Usually only the API key was pasted into Snowflake’s dialog, or the field was left empty.
You don’t need to reinstall the app or grant access again. Update the secret instead:
-
Find the secret the app uses:
In the row for
PARADIME_API_CREDENTIALS, thedatabase_name,schema_nameandobject_namecolumns give the secret’s full name. -
Set the secret’s value to the JSON value. Use the role that owns the secret, usually the role that granted access during setup, such as ACCOUNTADMIN:
- In the app, open Setup and click Test connection.
Credentials secret is missing api_endpoint or Credentials secret is missing api_key
The secret holds JSON, but one of the two fields is missing or empty. Set the full value as described in the first entry above.
api_key must be an account-level Paradime API key (prdm_cmp_...); legacy workspace keys are not supported
The secret holds a workspace API key. Generate an account API key as in step 1, then update the secret as described in the first entry above.
api_endpoint must be a paradime.io URL
The api_endpoint field isn’t a Paradime API URL. Use the API endpoint shown with your API key, then update the secret as described in the first entry above.
No workspaces with Bolt schedules are visible to this API key
The app finds workspaces through their Bolt schedules, so it only lists workspaces that have at least one schedule and that your API key can access. Check which workspaces the key has, or add workspace UIDs in Setup > Workspaces > Add workspace UIDs manually.
Disabled N workspace(s) this API key cannot access
A sync turned off workspaces your API key can’t read. To monitor them:
- Generate an account API key that includes those workspaces, and update the secret with it as described in the first entry above.
- In Setup, click Discover workspaces to check access again.
- Select Monitor for the workspaces and click Save workspace selection.
No workspaces are enabled or visible to this API key
No workspace is selected for monitoring, or your API key can’t see any workspace. In Setup > Workspaces, select Monitor for at least one workspace and click Save workspace selection. If the list is empty, check which workspaces your API key includes.
Share the app’s logs with Paradime support
If your account has an event table, the app writes its logs there. To let Paradime support see them, set up an event table and turn on event sharing. Snowflake’s guide covers both: Enable logging and event sharing for an app. The SQL to turn on sharing is:FAQ
How do I change the API key the app uses?
How do I change the API key the app uses?
- In the app, open Setup and expand Change credentials or re-grant access.
- Enter your region, endpoint and new API key, and copy the JSON value the app builds.
- Update the secret with that value using
ALTER SECRET, as described in Troubleshooting. - Click Test connection.
How much run history does the app load?
How much run history does the app load?
Each sync loads the 50 most recent runs of each schedule, for up to 500 schedules per workspace, and adds them to the runs already stored. The app keeps every run it loads, so your history grows from the day you install it. It doesn’t load runs older than that.
Does the app read data from my warehouse?
Does the app read data from my warehouse?
No. The app only stores the Bolt metadata it reads from the Paradime API. See What the app stores.
Does the refresh need a warehouse?
Does the refresh need a warehouse?
No. The refresh task runs on Snowflake serverless compute. Queries you run on the app’s tables and views use your own warehouse, as with any other query.