Developer Changelog / Sidekick

Sidekick が「intents だけ」の拡張機能も
提案対象にするように

これまでは tools を宣言した拡張機能しか Sidekick に拾われなかった。今後は intents だけを宣言した拡張機能も対象になる。ただし extensions_summary が無いと次回の deploy で検証エラーになる。

このページの構成
  1. そもそも何が変わるのか(30秒で理解)
  2. 仕組み図解 : Sidekick 対象になる条件の変化
  3. 影響を受けるアプリ/受けないアプリ
  4. 変更前 vs 変更後の比較
  5. 次回 deploy 前にやること(4ステップ)
  6. 設定例 : extensions_summary
  7. 技術者が押さえるべき5つのポイント
  8. 業務に活かせる3つのユースケース
  9. 提案で使える1行サマリ

1そもそも何が変わるのか

これまで、拡張機能が Sidekick の対象になるには tools の宣言が必須だった。
今後は tools・intents のどちらか(または両方)を宣言していれば対象になる。intents だけの拡張機能も Sidekick に提案されるようになる。

変更前 : intents だけだと無視される

admin.app.intent.link / admin.app.intent.render の拡張機能が intent しか登録していないと対象外になり、Sidekick はそのアプリを提案しなかった。

変更後 : intents だけで対象になる

すでに宣言している [[extensions.targeting.intents]] ブロックだけで対象になる。設定フォーマット自体は変わっていない。

2仕組み図解 : Sidekick 対象になる条件の変化

変更前 変更後 tools あり (intents 有無は問わない) intents のみ tools なし Sidekick が提案 スキップ アプリは提案されない tools だけが判定基準 tools あり (intents 有無は問わない) intents のみ tools なし Sidekick が提案 Sidekick が提案 ただちに表示対象に extensions_summary 必須 無いと deploy で検証エラー tools / intents の どちらかで OK
対象となる target は admin.app.intent.link と admin.app.intent.render の両方。
intents は app actions 用にすでに宣言している [[extensions.targeting.intents]] ブロックそのもの。新しい書き方は不要。

3影響を受けるアプリ/受けないアプリ

影響あり

intents のみの拡張機能を持つ

tools なしで intents を宣言した拡張機能が 1 つ以上ある。ただちに Sidekick の表示対象になる。shopify.app.toml に extensions_summary が無ければ、次回の deploy がその項目名を示す検証エラーで失敗する。

影響なし

全拡張機能が tools を宣言済み

もともと対象で、もともと extensions_summary も必須だった。何も変わらない。

影響なし

Sidekick 拡張機能が無い

Sidekick 向けの拡張機能を持たないアプリには関係しない。

オプトアウトの方法はない。feature preview・権限・スコープの条件はなく、全アプリ・全ストアに一斉適用される。API バージョンにも紐づいていないので、古いバージョンに固定しても回避できない。

4変更前 vs 変更後の比較

項目変更前変更後
Sidekick 対象の条件 tools 必須 tools / intents のどちらか
intents のみの拡張機能 スキップされ、提案されない ただちに提案対象になる
設定フォーマット [[extensions.targeting.intents]] 変更なし(同じブロックで足りる)
extensions_summary tools 宣言ありのアプリだけ必須 intents のみでも必須 無いと deploy 失敗
適用範囲 — 全アプリ・全ストア。API バージョン非依存、オプトイン不要

5次回 deploy 前にやること(4ステップ)

ほとんどのアプリは変更不要。intents のみの拡張機能がある場合だけ、次回 deploy の前に以下を行う。

1

extension.toml を点検

各 shopify.extension.toml で、intent.link / intent.render に [[extensions.targeting.intents]] があり、tools ファイルが無いものを探す。

2

extensions_summary を確認

該当があれば、shopify.app.toml の [sidekick] に extensions_summary があるか確認。無ければ追加。

3

開発ストアへ deploy

開発ストアに対して shopify app deploy を実行する。

4

Sidekick で動作確認

登録した intent に合う質問を Sidekick に投げ、自分のアプリが提案されるか確かめる。

6設定例 : extensions_summary

記事に掲載されている shopify.app.toml の例:

[sidekick] extensions_summary = "Search and analyze product reviews, create review request campaigns, and manage review display settings"
置き場所は 拡張機能ごとの shopify.extension.toml ではなく、アプリ全体の shopify.app.toml の [sidekick] セクション。文言の書き方の詳細は関連ドキュメント「Add an extensions summary to your app」を参照(本記事には記載なし)。

7技術者が押さえるべき5つのポイント

T I

1. 対象判定が「tools OR intents」に

判定ロジックだけが変わり、設定フォーマットは変わっていない。app actions 用に書いた intents の宣言がそのまま Sidekick 対象の根拠になる。

2. 壊れるのは deploy 時の検証

intents のみ+extensions_summary 無しだと、次回の shopify app deploy が欠けている項目名を示す検証エラーで失敗する。CI/CD で自動 deploy しているなら先に直しておく。

API ver

3. バージョン固定では逃げられない

API バージョンに紐づかない、feature preview や scope 条件も無い。全ストアに一斉適用なので「影響が出るのはいつか」は「次の deploy」と考えてよい。

4. 表示は deploy を待たず即時

intents のみの拡張機能は「ただちに」Sidekick に見えるようになる。提案時に自アプリがどう出るかは、事前に開発ストアで確認しておくと安全。

5. 点検は「target × intents ブロック × tools ファイル無し」の3条件

admin.app.intent.link または admin.app.intent.render の target に [[extensions.targeting.intents]] があり、隣に tools ファイルが無いものが該当。複数の拡張機能を持つアプリは、各 shopify.extension.toml をひとつずつ確認する。

8業務に活かせる3つのユースケース

USE CASE 1

保守中のアプリで「次回 deploy 失敗」を未然に防ぐ

課題
運用中のカスタムアプリ/公開アプリに intents のみの拡張機能があり、次の改修リリースで deploy が突然検証エラーになるおそれがある。
打ち手
記事の 4 ステップを点検チェックリスト化し、保守中アプリを横断で確認。該当アプリの shopify.app.toml に [sidekick] の extensions_summary を追加しておく。
効果
リリース当日の deploy 失敗や緊急対応を避けられる。
技術メモ
失敗時のエラーには欠けている項目名が出る。CI で開発ストアへ先に deploy する手順を入れておくと検知しやすい。
App
USE CASE 2

tools を作らずに Sidekick 経由でアプリを見つけてもらう

課題
管理画面の特定画面を開く/描画するだけのアプリで、Sidekick 対応のために tools まで作るのは工数に見合わない。
打ち手
app actions 用の intents(admin.app.intent.link / admin.app.intent.render)と extensions_summary だけを用意する。
効果
tools 実装なしで、マーチャントが Sidekick に質問した際にアプリが提案されるようになる。
技術メモ
intent の内容と extensions_summary の文言が、Sidekick に何を聞かれたら提案されるかの手がかりになる。提案の精度・順位の仕組みは記載なし。
「レビューを 分析したい」
USE CASE 3

リリース前の「Sidekick 提案テスト」を検収項目に入れる

課題
intents のみの拡張機能が即時に Sidekick 対象になったため、意図した場面で提案されるか未確認のままになっている。
打ち手
開発ストアに deploy 後、登録した intent に合う質問を Sidekick に投げてアプリが提案されるかを確認する手順を、検収チェックリストに加える。
効果
Sidekick 経由の導線が機能していることを、クライアント・社内に根拠を持って報告できる。
技術メモ
確認は記事の Step 4 と同じ。質問例は extensions_summary に書いた機能(例:レビューの検索・分析)から作ると漏れにくい。

9提案で使える1行サマリ

「Sidekick は tools が無くても intents だけでアプリを提案するようになった。
全ストア一斉適用・オプトアウト不可・API バージョン非依存。
intents のみの拡張機能があるなら、次の deploy 前に extensions_summary を追加すること。」