メインコンテンツへスキップ
見出し画像

『まじん式v3』をGoogle Workspace Flowsの部品として組み込む手順

    この記事でやること

    この記事では、

    「自分で作ったGAS(まじん式v3)を、Google Workspace Flowsの
    1つのステップ(Action)として呼び出せるようにする」

    ところまでをゴールにします。

    つまり、最終的にはこういうことができるようになります。

    • Flows の画面から
      → 「トリガー(きっかけ)」を決めて
      → 「まじん式v3(GAS)」を 1ステップとして追加
      → その結果として Google スライドが自動生成される

    「もうGASを単体で実行するんじゃなくて、
    全体のワークフローの中の1パーツとして再利用する」イメージです。

    このガイドの前提

    本記事で紹介する Google Workspace Flows は、
    個人の Gmail アカウントでは利用できず、
    会社・学校などの Google Workspace アカウント向けの機能 です。

    「社内アカウントで Google ドライブやドキュメントは使っているけれど、
    Flows が見当たらない」という場合は、
    管理者側でまだ有効化されていない可能性があります。

    個人の Gmail でもできる
    「Opal × まじん式v3」でつくる“AI自動スライド生成フロー”は付録に付けておきます。ただし制限あり。


    まずは用語のおさらい

    Google Apps Script(GAS)とは?

    • Googleのサービス(スプレッドシート、ドキュメント、スライド、Gmail など)を
      自動化したり拡張したりできる「スクリプト(プログラム)」環境です。

    • ブラウザ上で編集・実行できて、JavaScript風のコードで書けます。

    • 例:

      • スプレッドシートの内容からレポートを自動生成

      • フォームの回答をSlackへ通知

      • ドキュメントからスライドを自動生成(まさに「まじん式v3」がこれ)

    まじん式v3とは?

    まじんさんがnoteで公開してくれているスライド生成プロンプトです。
    神ツールです! 明日11/14に、まじん式v4が公開予定です。

    この記事では、ざっくりこう理解してもらえればOKです。

    「Google Docs の台本から、
    Google スライドをいい感じのレイアウトで自動生成してくれるGAS」

    細かいテンプレやデザインの話は一旦置いておき、
    「スライド自動生成GAS」 と捉えてください。

    Google Workspace Flows とは?

    • Google Workspace 版の「ノーコード/ローコード自動化ツール」だと思ってください。

    • 「トリガー」+「アクション」を組み合わせて

      • 例:

        • ドキュメントが更新されたら

        • GASを実行して

        • スライドを作る

        • できたリンクをチャットに送る
          といった「流れ」をGUIで組み立てられます。

    イメージ:
    IFTTTやZapier、Make の “Google公式版” であり、
    そこに 自分のGASを差し込める のが今回のポイントです。


    全体像:何をつなぐのか?

    この記事のメインテーマは、

    「まじん式v3(GAS)を Flows の 1ステップとして呼び出せるようにする」

    ことです。

    ざっくりした流れはこんな感じです。

    1. まじん式v3 の GAS プロジェクトを用意する

    2. GAS 側で「外部(Flowsなど)から呼び出せる」形に整える

    3. Flows から「Apps Script アクション」として、そのGASを選べるようにする

    4. Flows のフローの中に

      • 「トリガー」

      • 「まじん式v3を呼び出すステップ」
        を並べて保存・実行する


    ステップ0:前提条件の確認

    この記事の手順を進めるために、最低限次のものが必要です。

    • Google Workspace 環境(組織アカウント)

    • Google Workspace Flows が使える状態
      (組織で有効になっていること。※ここは管理者設定に依存します)

    • まじん式v3 の GAS プロジェクト

      • すでに持っている場合:それを流用

      • まだない場合:サンプルでも構いません

    🔍 補足:組織で Flows が使えない場合
    ・
    管理コンソール側で機能がOFFになっている可能性があります。
    ・その場合は、管理者の方に「Workspace Flows を有効にしてほしい」と相談してみてください。


    ステップ1:GAS(まじん式v3)プロジェクトの入口と出口を揃える

    Flows からGASを呼び出すときに大事なのは

    • GAS側の「入口(引数)」

    • GAS側の「出口(戻り値)」

    を 分かりやすく、シンプルにしておくこと です。

    1-1. エントリポイント用の関数を用意する

    たとえば、まじん式v3 の中に、こういう関数を1つ用意しておくイメージです。

    /**
     * Flowsから呼び出すためのエントリポイント関数。
     * params で必要な情報をまとめて受け取り、
     * スライドのURLなどをJSON形式で返す。
     */
    function runMajinFromFlows(params) {
      var docId = params.doc_id;
      var stylePreset = params.style_preset || "clean";
    
      // ここで「まじん式v3」本体を呼び出すイメージ
      // 例:createSlidesFromDoc(docId, stylePreset) など
      var result = createSlidesFromDoc(docId, stylePreset);
    
      // Flows側に返したい情報をオブジェクトにまとめる
      return {
        slidesUrl: result.slidesUrl,
        slideIds: result.slideIds || []
      };
    }

    💡ポイント
    ・引数は1つのオブジェクト(params)にまとめる
       → Flows側から値を渡しやすくなります。
    ・戻り値もオブジェクト
       → Flows側で $.result.slidesUrl のように参照しやすくなります。

    1-2. 中身(createSlidesFromDoc)はすでにある前提でOK

    この記事では、
    createSlidesFromDoc(docId, stylePreset) の実装詳細には入りません。

    「まじん式v3として、すでに動いているものがある」
    という前提で考えます。

    ここで伝えたいのは、
    「GAS の中に Flows から呼ぶための入口関数を1つ決めておこう」 という考え方です。


    ステップ2:appsscript.json を確認する(Execution API 有効化)

    GAS には「マニフェストファイル」と呼ばれる appsscript.json があり、
    ここで 外部からの実行方法 などを設定できます。

    典型的には、次のような形になっています。

    {
      "timeZone": "Asia/Tokyo",
      "dependencies": {},
      "exceptionLogging": "STACKDRIVER",
      "runtimeVersion": "V8",
      "executionApi": {
        "access": "MYSELF"
      },
      "oauthScopes": [
        "https://www.googleapis.com/auth/documents",
        "https://www.googleapis.com/auth/presentations",
        "https://www.googleapis.com/auth/drive"
      ]
    }

    2-1. 押さえておきたいポイント

    • executionApi

      • "access": "MYSELF" などの指定があることで、
        自分のアカウントとして、このGASをAPI的に呼び出せるようになります。

    • oauthScopes

      • スクリプトが触るGoogleサービスごとの「権限」です。

      • まじん式v3でよくあるパターン:

        • ドキュメントを読む → documents

        • スライドを作る → presentations

        • ファイルを作成する → drive

    🔍 補足:ここが整っていないとどうなる?
    Flows から呼び出したときに
    「権限が足りない」「実行できません」のようなエラーの原因になります。


    ステップ3:GAS をデプロイする

    次に、GAS側を「外から呼び出せる状態」にします。

    具体的なUIは時期やバージョンで変わることがありますが、
    考え方としては次のようなステップになります。

    1. GAS エディタから「デプロイ」メニューを開く

    2. 「新しいデプロイ」または同等のオプションを選択

    3. 実行する関数として runMajinFromFlows を指定

    4. 実行ユーザー・アクセス権限を設定

      • 例:「自分として実行」「自分のみが呼び出せる」など

    ⚠️ 注意
    ・組織ポリシーによっては、「誰が実行できるか」「どの範囲に公開できるか」が制限されている場合があります。
    ・自分だけが使うのであれば、基本的には「自分として実行」かつ「自分のみが呼び出し可」で問題ありません。


    ステップ4:Workspace Flows から GAS をアクションとして選ぶ

    ここからが「統合」のハイライト部分です。

    4-1. 新しいフローを作成する

    1. Google Workspace Flows の画面を開く

    2. 「新しいフローを作成」や「+ 作成」に相当するボタンから、フローを新規作成

    3. まずは分かりやすい名前をつけます

      • 例:Docからスライド自動生成(まじん式v3連携)

    4-2. トリガーを決める

    シンプルな例として:

    • トリガー:手動実行(ボタンを押したら走る)

      • 最初はこれがおすすめです。
        「まず動くこと」を確認しやすいからです。

    慣れてきたら、例えば:

    • 「特定フォルダにファイルが追加されたとき」

    • 「ドキュメントが更新されたとき」

    などに変えていくと、
    より“自動化している感”が出てきます。

    4-3. アクションとして「Apps Script」を追加

    1. フローの中に 新しいステップ(アクション) を追加

    2. 利用できるアクション一覧から
      → 「Apps Script」(もしくはそれに相当する項目)を選ぶ

    3. スクリプト選択画面で、先ほどデプロイした まじん式v3 のGAS を選ぶ

    4. 実行する関数として runMajinFromFlows を指定する

    💡ここで効いてくるのが「appsscript.json とデプロイ設定」です
    ・executionApi が有効で、
    ・デプロイが正しく設定されていると
      → Flows 側の「Apps Script アクション」から、自分のGASが選べるようになります。


    ステップ5:引数(入力)と戻り値(出力)をFlowsに紐づける

    5-1. GAS側で受け取る引数(params)を決める

    先ほどの runMajinFromFlows 関数では、次のような形でした。

    function runMajinFromFlows(params) {
      var docId = params.doc_id;
      var stylePreset = params.style_preset || "clean";
      // ...
    }

    つまり、Flows側からは

    • doc_id

    • style_preset

    という2つの値を渡せばよい、ということになります。

    5-2. Flows 側で値を指定する

    Flows の「Apps Script アクション」の設定画面で、

    • doc_id →

      • テスト用として、まずは固定値のDoc IDを入力

      • 慣れてきたら、トリガーや前のステップの出力を参照するように変更

    • style_preset →

      • "clean" などの文字列を指定

    という形で、GASの引数とFlowsのパラメータを対応づけます。

    5-3. 戻り値の利用

    runMajinFromFlows の戻り値はこんなイメージでした。

    return {
      slidesUrl: result.slidesUrl,
      slideIds: result.slideIds || []
    };

    Flows 側では、たとえば次のようにして利用します。

    • $.result.slidesUrl を次のステップに渡す

      • 例:チャットに送る

      • 例:メールで通知する

      • 例:スプレッドシートに書き込む

    💡おすすめの最初の構成
    1.トリガー:手動
    2.アクション1:Apps Script(まじん式v3)
    3.アクション2:チャットやメールで slidesUrl を通知
    こうしておくと、「実行したらリンクが飛んできて、
    クリックしたらスライドが開く」という分かりやすい成功体験が作れます。


    よくあるつまずきポイントと対策

    Q1. Flows から自分のGASが見つからない

    可能性:

    • executionApi が有効になっていない

    • デプロイがされていない、または古い

    • 組織の権限で制限されている

    対策:

    1. appsscript.json に executionApi があるか確認

    2. GAS を「新しいデプロイ」で作り直してみる

    3. それでもダメな場合は、管理者に
      「Apps Script を Workspace Flows から実行できる設定になっているか」
      を確認する


    Q2. 実行すると「権限がありません」と出る

    可能性:

    • スクリプトに必要なスコープ(oauthScopes)が不足している

    • デプロイ時の実行ユーザー設定が合っていない

    対策:

    • oauthScopes に

      • ドキュメント:documents

      • スライド:presentations

      • ドライブ:drive
        が含まれているか確認する

    • デプロイ設定で「自分として実行」になっているか確認する


    Q3. まじん式v3は動いているのに、Flowsから呼ぶとエラーになる

    可能性:

    • runMajinFromFlows の引数・戻り値が想定と合っていない

    • Flows 側から渡している doc_id が空、または間違っている

    対策:

    • まずは、GAS エディタから runMajinFromFlows を手動実行し、
      引数や戻り値が期待どおりか確認する

    • Flows 側で設定している doc_id を、コピペで再確認する
      (特に「全角スペース」「余計な文字」が紛れ込みやすいです)


    応用:他のGAS資産もFlowsのパーツ化できる

    今回の記事では「まじん式v3」を例にしましたが、
    実は以下のようなGASも、同じ考え方で Flows に組み込めます。

    • 不具合レポートを集計してGoogleスライドにレポートを作成するGAS

    • スプレッドシートの内容を整形し、PDFとしてエクスポートするGAS

    • APIから取得したデータをドライブにまとめて保存するGAS

    ポイントはただ1つです。

    「入口と出口を、Flowsから扱いやすい形(paramsと戻り値のオブジェクト)に揃える」

    これができていれば、
    GASはどんどん「部品化」され、Flows上の好きな場所に挿せる ようになります。


    まとめ:今日できる最小の一歩

    この記事でおさらいしてきた内容を整理すると、次の4ステップになります。

    1. まじん式v3 のGASプロジェクトに
      → Flows用のエントリポイント関数(例:runMajinFromFlows)を用意する

    2. appsscript.json と oauthScopes、デプロイ設定を確認する

    3. Google Workspace Flows で新しいフローを作り、
      → アクションとして「Apps Script」を追加
      → まじん式v3 のGASとエントリ関数を指定する

    4. Flowsから実行して、スライドURLが返ってくるところまで確認する


    次にできること

    • トリガーを「手動実行」から
      → 「ドキュメント更新」「フォルダへのファイル追加」などに変えてみる

    • まじん式v3の戻り値(スライドURL)を
      → Chatやメール、スプレッドシートなど好きな通知先に流す

    • 別のGAS(レポート作成やデータ整形)も、同じパターンでFlowsに組み込み
      → 「自社専用の自動化ライン」を少しずつ増やしていく


    付録: 個人の Gmail でもできる✨

    「Opal × まじん式v3」でつくる“AI自動スライド生成フロー”

    〜Google Workspace Flows が無くても、同じ体験は作れる〜


    はじめに:

    「Flows は使えない。でも、自動化したい」は個人ユーザーの共通の悩み

    Google が提供している Google Workspace Flows は、
    社内アカウント(企業 / 学校)向けの機能で、
    個人の Gmail アカウント(@gmail.com)では使えません。

    そのため、

    • 「まじん式v3 をフローの部品にして、スライド生成を自動化したい」

    • 「文書更新 → スライド再生成」

    • 「AI が代わりに作業してくれるワークフローを作りたい」

    …という人にとっては、Flowsが使えないのは大きな制約に見えます。

    ところが。


    ✨ 実は Opal を使えば、個人アカウントでも

    “かなり近い自動化体験” が作れます

    Opal は Google が個人向けに展開している AIサイドバー で、

    • Docs

    • Sheets

    • Gmail

    • Drive

    • Search
      などと密接に連携し、

    「AIがあなたの代わりにツール操作をやってくれる」
    という新しい体験を提供しています。

    この Opal の仕組みを利用すると、
    Google Workspace Flows の代わりとして、
    “まじん式v3スライド生成フロー” を組み立てることが可能になります。

    この記事は、そのための 具体的な手順ガイド です。


    1. 全体像:Opal版フローのアーキテクチャ

    Opal は Flows のように
    「明確な GUI ノードで自動化フローを組む」仕組みではありません。

    代わりに:

    Opal に自然言語で指示すると、その場で必要な操作を実行してくれる

    というスタイルの自動化です。

    これを活かすと、
    まじん式v3によるスライド自動生成フローは
    次の構成で実現可能です。


    🔧 アーキテクチャ図(概念)

    1. Docs(台本)

      • スライドにしたい文章を書く

    2. Opal(AIアシスタント)

      • Docs からデータを取得

      • スクリプトの実行URLを生成・呼び出し

      • 結果(スライドURL)を受け取り、その後の処理に回す

    3. GAS(まじん式v3)

      • Docs → Slides 変換処理を担当

      • Web API として公開しておく(個人アカOK)


    2. Step 0:GAS(まじん式v3)を Web API にする

    Flows のときは「Apps Script アクション」でしたが、
    Opal と連携するには別の方法が必要です。

    それが Web API 化(Webアプリとしてデプロイ) です。


    2-1. Web API 用の関数例

    function doGet(e) {
      const docId = e.parameter.docId;
      const style = e.parameter.style || "clean";
    
      const result = createSlidesFromDoc(docId, style);
    
      return ContentService
        .createTextOutput(JSON.stringify(result))
        .setMimeType(ContentService.MimeType.JSON);
    }

    これで、

    https://script.google.com/macros/s/XXXXX/exec?docId=xxxx

    のように呼び出せるようになります。


    2-2. 公開設定

    GAS の「デプロイ > 新しいデプロイ」から

    • 種類:Webアプリ

    • 誰がアクセス:全員(匿名ユーザー含む)

    にしておくと、Opal から叩けます。

    ※ 個人Gmailであれば、これで問題ありません。


    匿名公開前に、実行権限・対象文書・返却内容の制限を確認してください

    3. Step 1:Docs で台本を書く

    OpalはいろんなGoogleアプリを横断的に扱えるので、

    • 書き途中の台本

    • タスクのメモ

    • Markdown的な構成

    • 章立てもOK

    どんな書き方でも使えます。

    例:

    # 今日のプレゼン台本
    
    ## 1. 導入
    〜〜〜
    
    ## 2. 本題
    〜〜〜

    4. Step 2:Opalを呼び出し、指示を与える

    ここが Opal版フローの核心 です。

    Opalに対して、次のような指示を与えます。


    ⭐ 推奨:Opal用“指示テンプレ”(コピペ可)

    Opalへ指示する文(例)
    今開いているGoogleドキュメントのIDを取得し、このIDを docId として、以下のWeb APIを実行してください:https://script.google.com/macros/s/XXXXX/exec?docId=[ID]
    実行結果として返されるJSONの中の slidesUrl を抽出し、
    そのURLを開いてください。
    最後に、このスライドURLを Gmail ドラフトに貼り付けて、
    “本日のプレゼン資料が完成しました” という本文を作ってください。」

    「

    🧠 Opalが行う処理のイメージ

    1. ドキュメントから ID を取得

    2. API 実行URLを構築

    3. GAS を呼び出す

    4. 返ってきた JSON を解析

    5. slidesUrl を開く

    6. Gmail ドラフトを作成して貼り付け

    7. 文章まで整えてくれる

    まさに Flows の「AI版」 です。


    5. Step 3:Opalが返ってきたスライドを開く / 通知する

    Opal は続けて指示すれば、

    • スライドURLをSlack風メモとして保存

    • カレンダーに“作成完了”イベントを作る

    • Drive の特定フォルダに整理する

    • 同じ処理を再現するためのテンプレ指示を作る

    など、連続操作をすべて自動化してくれます。

    ※ これが「Opalは単なるチャットではなく“AI付き操作代理人”」と呼ばれる所以です。


    6. Step 4:Opalに“この手順をテンプレ化して”と依頼する

    Opalの強みは、
    「手順をテンプレ化する能力」にあります。

    次のように依頼します:

    「今実行した一連の手順を、
    再利用できるテンプレートとして自然言語でまとめてください。
    次からはこのテンプレだけで自動化が動くようにしたいです。」

    すると、Opalは

    • API URLの挿入方法

    • docId の取得方法

    • スライド生成後の処理

    • Gmailへの貼り付け

    • 後片付け

    まで含めた「再現可能フロー」を自然言語化してくれます。

    これをメモしておけば
    次回以降は Opal にテンプレを読み上げるだけでフローが起動します。


    7. Opal版フローのメリット / デメリットまとめ

    ✔ メリット

    • 個人Gmailアカウントで使える

    • Flows より柔軟(AIが操作してくれる)

    • 複雑な分岐や調整も自然言語でOK

    • 手順のテンプレ化が簡単

    • 自動化しつつ、必要な部分は対話で調整できる

    ✘ デメリット

    • イベントトリガー(更新検知 → 自動実行)はできない

    • 完全自動化ラインより、AI補助の自動化に近い

    • 精度はAIの判断に少し依存

    • 明確なGUIフロー図がほしい人には向かない


    8. まとめ:個人のGmailでも“自動化フロー”は作れる時代

    Opal は単なるAIチャットではなく、
    Googleアプリ横断の「AI操作代理人」 です。

    その特性を利用すると、

    • Google Workspace Flows がない環境でも

    • まじん式v3を使ったスライド自動生成は可能で

    • 操作の続き(共有、整理、メール作成)も全部 Opal がやってくれる

    個人アカウントの範囲でも
    強力な「日常的 AI 自動化基盤」が手の中に入ります。

     
     
    AIを仕事に生かし、暮らしで楽しむ。そのための使い方と考え方を書いています。メカ・ソフトの開発、PM、ソフトQAを経験。日常の違和感から長文論考、AI要件コンパイラ・AIハーネスの設計と実装まで。PromptOps Lab運営。

    あなたへのおすすめ