[新機能]Snowflake CoWork の Automations でレポートの定期実行・メール配信ができるようになりました
はじめに
2026年8月のアップデートで、Snowflake CoWork の Automations 機能がパブリックプレビューとなりました。
こちらの機能を試してみた内容を本記事でまとめます。
アップデートの概要
本機能については以下に記載があります。
CoWork とのチャット中の問い合わせ(質問)を、設定したスケジュールに従って自動的に再実行し、結果をメールで配信する機能です。一度きりのレポート(ワンタイムの問い合わせ)を、スケジュール実行のレポートに変換できる点やユーザーのメールアドレスが検証済みであればレポート内容が自動でメールアドレスに配信される点がポイントです。
作成方法は以下の2パターンがあります。
- 会話形式:チャット中に定期的に実行したい旨を伝えることで、AI が頻度・時間を確認・調整して登録
- Automations タブからの手動作成:名前・指示内容(実行する質問)・頻度(時間単位 / 日次 / 週次 / 月次)を入力して登録
執筆時点でのスケジュールの実行間隔は最短1時間単位で、曜日・時刻はユーザーが自由に指定できます。
Automations の設定にはEXECUTE AGENT TASK権限が必要です(デフォルトで PUBLIC ロールに付与されています)。セキュリティ面は呼び出し元の権限(ユーザーのデフォルトロール)で実行され、RBAC や行・列マスキングポリシーを遵守する点も特徴です。
試してみる
前提条件
CoWork から利用できるように、日次売上のサンプルデータ・セマンティックビュー・エージェントを事前に用意しています。
サンプルの用意
-- スキーマ作成
CREATE SCHEMA IF NOT EXISTS yasuhara_test_db.COWORK_DEMO;
-- テーブル作成
CREATE OR REPLACE TABLE yasuhara_test_db.COWORK_DEMO.DAILY_SALES (
SALE_DATE DATE,
PRODUCT_CATEGORY VARCHAR(50),
REGION VARCHAR(30),
SALES_AMOUNT NUMBER(12,2),
QUANTITY NUMBER(38,0),
CREATED_AT TIMESTAMP_NTZ(9) DEFAULT CURRENT_TIMESTAMP()
);
-- サンプルデータ投入(過去7日分の日次売上)
INSERT INTO yasuhara_test_db.COWORK_DEMO.DAILY_SALES (SALE_DATE, PRODUCT_CATEGORY, REGION, SALES_AMOUNT, QUANTITY)
VALUES
(CURRENT_DATE() - 7, 'Electronics', 'Tokyo', 150000.00, 30),
(CURRENT_DATE() - 7, 'Apparel', 'Osaka', 85000.00, 120),
-- ...(以下略、カテゴリ:Electronics / Apparel / Food、地域:Tokyo / Osaka / Nagoya)
(CURRENT_DATE() - 1, 'Apparel', 'Nagoya', 69000.00, 97);
-- セマンティックビュー作成
CREATE OR REPLACE SEMANTIC VIEW yasuhara_test_db.COWORK_DEMO.DAILY_SALES_ANALYTICS
TABLES (
yasuhara_test_db.COWORK_DEMO.DAILY_SALES
)
FACTS (
DAILY_SALES.SALES_AMOUNT AS SALES_AMOUNT COMMENT='売上金額',
DAILY_SALES.QUANTITY AS QUANTITY COMMENT='販売数量'
)
DIMENSIONS (
DAILY_SALES.PRODUCT_CATEGORY AS PRODUCT_CATEGORY COMMENT='商品カテゴリ(Electronics, Apparel, Food)',
DAILY_SALES.REGION AS REGION COMMENT='販売地域(Tokyo, Osaka, Nagoya)',
DAILY_SALES.SALE_DATE AS SALE_DATE COMMENT='売上日'
)
METRICS (
DAILY_SALES.TOTAL_SALES AS SUM(SALES_AMOUNT) COMMENT='売上合計',
DAILY_SALES.TOTAL_QUANTITY AS SUM(QUANTITY) COMMENT='販売数量合計',
DAILY_SALES.AVG_SALES AS AVG(SALES_AMOUNT) COMMENT='平均売上金額'
)
COMMENT='日次売上データの分析用セマンティックビュー。商品カテゴリ別、地域別、日別の売上と数量を分析できます。';
-- エージェント作成
CREATE OR REPLACE AGENT yasuhara_test_db.COWORK_DEMO.SALES_ANALYTICS_AGENT
FROM SPECIFICATION $$
tools:
- tool_spec:
type: cortex_analyst_text_to_sql
name: sales_analyst
description: "日次売上データを照会するツール。カテゴリ別、地域別、日別の売上金額と販売数量を分析できます。"
tool_resources:
sales_analyst:
execution_environment:
type: warehouse
warehouse: COMPUTE_WH
semantic_view: yasuhara_test_db.COWORK_DEMO.DAILY_SALES_ANALYTICS
instructions:
response: |
あなたは日次売上データの分析アシスタントです。
簡潔かつデータに基づいた回答を心がけてください。
可視化を求められた場合は、適切なチャートタイプを選択し、データをチャートで表示してください。
orchestration: "売上、カテゴリ、地域、数量に関するすべての質問にはsales_analystツールを使用してください。"
$$;
会話の中から Automation を作成する
まず、CoWork のチャットで日次サマリーレポートを問い合わせてみます。
売上データの日次サマリーレポートを作成してください。以下の内容を含めてください:
全体の売上合計・販売数量合計・レコード数
カテゴリ別の売上合計と販売数量(テーブルとチャートで表示)
地域別の売上合計(チャートで表示)
日別の売上推移(折れ線チャートで表示)
データの対象期間と前回比で増減があれば強調してください。
以下のような応答が返ってきました。




この問い合わせの中で、自動配信の設定を促す提案が表示されました。会話の中で「2時間おきに定期実行したい」と伝えました。すると自動で設定まで対応してくれました。

上図右上の項目から設定内容を確認してみます。

左側のタブに作成した Automations が追加されていることが確認できました。未実行のため実行結果は空の状態でした。

詳細の設定内容を確認してみます。


定期実行の機能ですがSHOW TASKS などの通常の SQL コマンドでは Automation の内容を確認できず、CoWork の UI 上で会話的に設定・確認する形になっています。一方で、クエリ履歴を見ると裏側では内部的にパーソナルデータベース内にタスクが作成されていることが確認できました。
CREATE SCHEMA IF NOT EXISTS "USER$".SNOWFLAKE_INTELLIGENCE
CREATE AGENT TASK "USER$".SNOWFLAKE_INTELLIGENCE.RI_CI_KPI_1786160095404_DA14BF42
SCHEDULE = 'USING CRON 0 9 * * 1,2,3,4,5 Asia/Tokyo'
COMMENT = '日次KPI'
FROM SPECIFICATION $${"agent_name":"YASUHARA_TEST_DB.COWORK_DEMO.SALES_ANALYTICS_AGENT", ...}$$
内部的には AGENT TASK として、通常のタスクと同様に USING CRON 形式のスケジュールで管理されているようです。

定期実行後のメールを確認
設定したスケジュールに従って、下図のようなメールが届きました。


メール内の「View in Snowflake CoWork」から、元の会話の続きとして開くことができました。

手動で Automation を作成する
続けて、Automations タブから直接手動で作成するパターンも試してみます。この場合、問い合わせ内容を事前に作成しておきます。
KPIダッシュボード型
以下のKPIを一覧で表示してください:
総売上金額
総販売数量
1日あたり平均売上
最も売上の高いカテゴリとその金額
最も売上の高い地域とその金額
Automations の「+ Create」→「Configure details manually」から作成します。

設定項目は以下の3つです。
- Name:Automation を識別するためのラベル(メールのタイトルにもなる)
- Instructions:CoWork に実行させたい質問・レポートの内容(プロンプト)
- Frequency:実行頻度(hourly / daily / weekly / monthly)
Frequency ごとにスケジュール設定の画面が変わります。
Daily は、営業日のみに絞った実行にも対応していました。

Weekly は、曜日と時刻を指定します。

Monthly は、日付と時刻を指定します。

設定例は以下のとおりです。

設定後、Automations タブに登録された状態が確認できました。

なお、作成した Automation はスケジュールの一時停止も可能です。
データ更新後の値の変化を確認する
Automation の定期実行が値の変化を検知できるかを確認するため、以下のデータを追加します。売上合計が ¥1,939,000 → ¥2,469,000 に変化する想定です。
INSERT INTO yasuhara_test_db.COWORK_DEMO.DAILY_SALES (SALE_DATE, PRODUCT_CATEGORY, REGION, SALES_AMOUNT, QUANTITY)
VALUES
(CURRENT_DATE(), 'Electronics', 'Tokyo', 300000.00, 60),
(CURRENT_DATE(), 'Apparel', 'Osaka', 150000.00, 200),
(CURRENT_DATE(), 'Food', 'Nagoya', 80000.00, 350);
次の定期実行後、数値が更新されていることを確認できました。

ある Automation が複数実行された場合、下図のように実行タイミングによってレポート(会話履歴)を選択できるようになっていました。

実行時のクエリ履歴・課金を確認する
Automation 実行時の課金状況は、SNOWFLAKE_INTELLIGENCE_USAGE_HISTORY ビューから確認できました。
SELECT
START_TIME AS USAGE_DATE,
AGENT_NAME,
TOKEN_CREDITS AS TOTAL_CREDITS,
TOKENS AS TOTAL_TOKENS
FROM SNOWFLAKE.ACCOUNT_USAGE.SNOWFLAKE_INTELLIGENCE_USAGE_HISTORY
WHERE AGENT_NAME = 'SALES_ANALYTICS_AGENT'
ORDER BY 1 DESC
LIMIT 1;

現時点では定期実行に絞る項目などはありませんが、実行時刻をもとに、どのタイミングでどれだけのクレジット・トークンが消費されたかを追跡できることが確認できました。
さいごに
Snowflake CoWork の Automations 機能を試してみました。チャットで投げた質問を、会話形式・タブ操作のどちらからでも定期実行レポートに変換できます。特に、会話の中で AI がそのまま定期実行の設定まで提案・対応してくれる点は、SQL などのコードに不慣れな方でも扱いやすい特徴的な機能だと感じました。
こちらの内容がどなたかの参考になれば幸いです。









