ブログを更新したら、X(旧Twitter)にもすぐ流したい。僕が欲しかったのは、いわゆる“公開連動”です。
やりたかったのは、ざっくりこの流れです。
- 件名に「【公開】」が入ったメールを受信したらオートメーション起動
- (理想)メール本文から タイトル/URL を取り出す
- そのまま 「タイトル↵URL」 の2行でXに投稿する
※ただし、僕の環境では ②ができなかったのが今回の出発点でした。
結論:完全自動投稿はできなかった。でも「投稿画面に2行を入れる」まではできた

すべてiPad Air(第4世代)でやりました。
最初に結論を言うと、僕の今回の目標だった完全自動でXに投稿は失敗です。ただ、途中までの成果はあって、
- ChatGPTにサイトを見に行ってもらい、最新記事の タイトル+URL(2行) を返してもらう
- URL行に混ざる
oai_citation:...(余計なメタ情報)をショートカット側で削る - Xの投稿画面に「タイトル改行URL」を入れた状態まで持っていく
ここまでは到達しました。
そのうえで、どこで詰まったのか、どうやって回避したのかを順番に書きます。
ショートカットで「メール受信 → X 自動投稿」をやりたかった
オートメーション メール受信をトリガーにする

トリガーはシンプルです。
- トリガー:メール受信
- 条件:件名に
【公開】ブログ記事更新(とりこのすすめ)を含む - 受信したらオートメーションを起動
ここまではショートカット側で作れます。
ちなみに話が前後しますが、「Better Notifications for WP」プラグインでブログ更新時にメールを送るようにしています。
メール本文が取れない…
「入力からテキストを取得」しかなく、本文が取れない

次にやりたかったのが、メール本文の2行を取り出すことです。ところが僕の環境だと、ショートカットの入力にメール本文が渡ってきていない感じでした。
- クイックルック → 「項目なし」
- 選べるアクションも実質 「入力からテキストを取得」 くらい
- つまり、本文の2行を抜くルート(A案)が成立しない
ここは正直、「仕様なのか/環境依存なのか」までは断言できません。ただ僕の手元では再現性高めに詰まったので、今回は割り切って メールは“起動スイッチ”として使い、本文は使わない方針に変えました。
回避策:メール本文は捨てて、ChatGPTに“最新記事のタイトル+URL”を取らせる
特定メール受信=「起動スイッチ」と割り切る
メール本文が取れないなら、メールは「起動のためのスイッチ」にします。
- メール受信したら起動する
- 本文は使わない
- ChatGPTにサイトを見に行ってもらい、最新記事のタイトルとURLを返してもらう
この方針に変えたら、かなり前に進みました。
ChatGPTに投げるプロンプトは「テキスト」アクション経由にした(改行ありOK)

ここも地味にハマりました。僕の環境では、「ChatGPTに質問する」アクションの入力欄に、改行入りの長文プロンプトをそのまま貼れないみたいです。
なので、ひとつ前に 「テキスト」アクションを置き、そこに改行ありプロンプトを入れて、「ChatGPTに質問する」の入力はそのテキスト変数にしました。
この形にすると、プロンプトを読みやすく管理できます。
やっていることはシンプルで、
- テキストアクションに、改行ありのプロンプトを貼る
- 次の ChatGPTに質問する の入力を「テキスト(変数)」にする
という流れです。これなら、プロンプトは読みやすい形(複数行)にできます。
実際に使ったプロンプト例(改行あり)
(このまま「テキスト」アクションに貼ってOK)
あなたはWebブラウズ可能なアシスタントです。
次のページを開いて、最新の公開ブログ記事を1本だけ特定してください:
https://www.infoatmackers.jp/weblog/出力ルール:
- 返答は必ず2行のみ(余計な説明は禁止)
- 1行目:記事タイトル
- 2行目:記事URL(httpsで始まる正規のパーマリンク)
注意:
- PR/固定表示/人気記事があれば除外し、時系列で最新の「通常記事」を選ぶ
- 取得できない場合は次の2行のみで返す:
取得失敗
https://www.infoatmackers.jp/weblog/
問題発生:URL末尾に oai_citation が混ざる

oai_citationが、Xに貼ると見た目を崩すので対策が必要でした。ChatGPTで最新記事の2行取得自体はうまくいきました。ただ、次の壁がありました。
- URLの末尾に
oai_citation:...のようなメタ情報が付いてしまう
oai_citation は、たぶん ChatGPT側の引用メタ情報が混ざったものだと思います(少なくともXに貼る用途では邪魔でした)。
Xに貼ると見た目が悪いし、リンクとしても邪魔です。プロンプトで抑止しても、毎回きれいになるとは限らない感じでした。
そこで、プロンプトで頑張るのではなく、ショートカット側で確実に削る方向に切り替えました。
oai_citation の消し方:URL行をスペースで分割して先頭だけ採用
URLの後ろに“空白+メタ情報”が付くなら、空白で切ればいい

僕が採用したのは、かなり単純な方法です。
- ChatGPTの返答を改行で分割
- 1行目(タイトル)を取り出す
- 2行目(URL行)を取り出す(ここに
oai_citationが混ざることがある) - URL行をスペース(空白)で分割
- 分割した先頭(=純粋なURL)だけを採用する
これで oai_citation:... を実質的に切り捨てられました。
ショートカットの処理手順(箇条書き)
- ChatGPTの返答を 「テキストを分割(区切り:改行)」
- 「リストから項目を取得」
- インデックス1 → タイトル
- インデックス2 → URL行
- 「テキストを分割(区切り:スペース)」(入力:URL行)
- 「リストから項目を取得」(インデックス1)→ URLだけ
- 「テキスト」で2行(タイトル改行URL)に整形
- 「Xに投稿」で投稿画面を開く
結果として、Xの投稿画面に2行がきれいに入った状態までは作れました。
でも「投稿ボタン」は手動だった

ここが今回の最後の壁です。
- 投稿画面は開ける
- テキストも入る
- でも、投稿ボタンのタップだけは必要
「有料でAPIを使えば完全自動で投稿できるかも」という話はありますが、僕はそこにお金をかけるつもりがないので深追いしませんでした。
ショートカットだけで“完全自動投稿”を狙うと、この手の「最終確認」が残りがち、という印象です。
iPad スリープ中は止まるっぽい
さらに現実的な問題として、iPadのスリープが絡みます。
- iPadがスリープ中は、当然Xは起動しない
- スリープ明けに勝手にXが開くわけでもない
- たぶんどこかの段階で処理が止まってる(もしくは保留になってる)っぽい
このへんはOSの制約やアプリ連携の都合が絡みそうで、僕の環境では「スリープ中に完走」は厳しそうでした。
完全な X 自動投稿は失敗。でも“ここまではできた”
結論として、僕の目標だった 「完全自動でXに投稿」はできませんでした。ただ、同じことを狙っている人にとっては、少なくともここまでは再現できると思います。
- メール受信をトリガーにできた
- 本文が取れない問題に当たった(→本文は捨てて回避)
- ChatGPTで最新記事の「タイトル+URL」2行取得はできた
oai_citationはショートカット側で削除できた- 投稿画面に2行を入れるところまではできた(※最後の投稿タップは手動)
「どこで止まるか」が分かるだけでも、僕としては収穫でした。