DrupalのAI ECA連携モジュールで自動化できる、面倒だったアレコレ
はじめに
前回の記事「DrupalのAIモジュールで業務効率化!初心者でもできる活用ガイド」でカバーできなかった機能のECA連携について紹介します。
この記事でカバーすること
- DrupalのAI ECA連携モジュールでできることを紹介
この記事でカバーしないこと
- Drupalのインストール方法
- AI ECA連携モジュールのインストール方法 (インストール方法が気になる方がいれば記事にしますので、コメントください。)
DrupalのECAモジュールとは
ECA は Event → Condition → Action の頭文字です。Drupal サイト上で発生するイベント(ノード保存・ユーザー登録・Cron 実行など)をトリガーに、条件分岐を通して任意のアクションを実行できるノーコードのワークフロー作成ツールです。
- ノーコード GUI : ブラウザ上のビジュアルモデラーでフローをドラッグ&ドロップ構築
- Drupal 7 にあったRules モジュールの後継ポジション: Entity API・Queue・Cronとネイティブ統合
ざっくり言えば “Drupal 版 Zapier / n8n”です。サイト運用で 「これ手作業つらい…」 と思った処理は、ECA で自動化できる可能性が高いです。
AI ECAモジュールでできること
AI モジュール(OpenAI 連携など)の「プロンプト送信 & 結果書き込み」アクションを、ECA のワークフローに組み込めます。シンプルなようで、非常に柔軟性があります。トリガーのタイミングは ECA のイベント次第で自由自在です。
- プロンプトは自由記述:ChatGPT に投げられるので、要約・翻訳・タグ生成・URLエイリアス生成など汎用的に使える。
- 書き込み先も自由:ノードの任意フィールド、メタタグ、Taxonomy などに自動で入力可能。
-
条件分岐とも併用:言語が
jaなら翻訳、enなら要約など、高度なロジックも GUI で実装。
ワークフローの作成例を紹介
今回は、基本的なワークフローを2つ、設定する方法を紹介します。
- 本文の要約: 本文テキストに記述した内容を自動的に要約して保存します
- 日本語記事のURLエイリアスを自動生成: 記事タイトルを英訳し、URLとして適した形式でエイリアスに指定します。
本文の要約
- Add new modelから、新規のワークフローを作成します。
- ワークフローに名前をつけます。
- スタートイベントの作成
ここから実際のワークフロー設定です。円のアイコンのスタートイベントをクリックし、Templateから、Insert content entityを選び、Typeをコンテンツ:記事に設定します。これで、記事コンテンツが作成されたことをトリガーとして設定できました。
- 記事本文の値を取得
角丸の四角形のアイコンをクリックし、タスクを作成します。まずは、作成された記事の本文を取得し、body-valueというトークンに格納します。
- AIで要約
前のタスクで取得した記事本文をAIで要約します。プロンプトは、
[body-value]
です。「絶対に要約結果だけを出力するようにしてください」と指示することで、要約の値以外の余計なレスポンスを排除できます。要約結果は、body-summaryというトークンに格納します。
ご覧の通り、プロンプト内ではトークンにブラケット([])が必要で、フィールドに入力するときは不要であったりと紛らわしいので注意してください。

7. 要約を保存
次のタスクでTemplateからset field valueを選択し、本文テキストの要約(フィールド名body.summary)に、AIが作った要約に変更させます。この時のフィールドの値にはブラケットが必要ですので注意です。Save entity項目をYesにすることで、アップデート後に自動で記事が保存されます。

8. 保存ボタンを押して、ECAの設定を完了します。本文を入力して記事を保存すると、自動的に概要が作成されています。

日本語記事のタイトルを英訳し、URLエイリアスを自動生成
次に、日本語記事のタイトルを自動で英訳し、URLエイリアスとする方法を紹介します。
日本語タイトルをpathautoでURLエイリアス化すると、漢字が中国語のピンインに変換されてしまう――「製品」→ chan-pin みたいな残念URLを経験したこと、ありませんか? これを毎回手で直すのは地味につらい。そんな悩みを一発解決します。
Pathautoなどで、URLエイリアスを自動生成する設定にしている場合は、あらかじめ、設定を無効化しておいてください。
- 上記と同様に、Add new modelから、新しいワークフローを追加します。
- ワークフローに名前をつけます。
- スタートイベントの作成
円のアイコンのスタートイベントをクリックし、Templateから、Insert content entityを選び、Typeをコンテンツ:記事に設定します。これで、記事コンテンツが作成されたことをトリガーとして設定できました。
- 記事のタイトルの値を取得
タスクを作成し、作成した記事のタイトルの値を取得します。フィールド名にtitleと入力し、取得した値をnode_title_valueというトークン名で保持します。
- AIでタイトルを英訳、URL形式にフォーマット
プロンプトは
“必ず結果だけを出力してください。以下を英訳し、URLの一部として適切なようにフォーマットしてください。例えば、「日本語の話し方」は「how-to-speak-japanese」となります。:
[node_title_value]”
としました。利用できるトークンとして、記事のタイトルの値を格納したnode_title_valueを渡し、アウトプットを格納するトークンとして、en-url-friendlyを指定しています。

6. URLエイリアスを設定
最後の設定として、AIの出力をURLエイリアスを自動で付与するようにします。set field valueのテンプレートを選択肢、フィールド名をpath、フィールドの値(Field value)に/article/[en-url-friendly]と設定します。

- 保存してテスト
ワークフローを保存して、新しく日本語タイトルの記事を作成すると、英訳されたタイトルがURLエイリアスとして自動で設定されています。
以上で、ECA AI連携モジュールの用途紹介2つは終了です。
そのほか使える用途のアイデア
ECA、AIモジュールとも非常に柔軟なため、思いつくもののほとんどに対応可能です。例えば:
- タグ(Taxonomy)自動生成 → 類似記事レコメンド強化
- 画像フィールドの alt テキストを AI で自動生成(アクセシビリティ改善)
- Webform 送信内容を AI に要約 → Slack 通知に貼り付け (ちょっと上級者向け)
このように、ちょっと面倒だな、AIでなんとかできないかな?と思ったことは、ECA AI連携モジュールで試せます。
参考になれば幸いです。
Discussion