はじめに|“つい忘れる投稿”を、仕組みでなくしていく
Shopifyで商品を公開したあと、X(旧Twitter)でもお知らせしたい。そう思っていても、日々の業務に追われて投稿を忘れてしまうことは珍しくありません。
SNSの更新作業は、タイミングが重要とは分かっていても、手が回らない。
そうした状況を減らすために、商品が「買える状態(active)」になったタイミングで、Xに自動で投稿する仕組みを作りました。
今回はこの自動化を、ノーコードツール「n8n」を使って実現した例を紹介します。
投稿漏れを防ぎたい方や、日々の手間を少しでも減らしたい方の参考になればと思います。
Shopifyの概要はこちらから👇
n8nの概要はこちらから👇
全体の流れ|Shopify → Airtable → Xの3ステップ

フローの概要:
- Shopifyで商品が更新されるとn8nが起動
- Airtableに商品が連携済みかチェック(checkExisted)
- 連携済みの場合、連携済み商品ステータスがdraftで変更内容がactiveであることをチェック(CheckActivateProcess)
- 未練系の場合、新規作成し、商品ステータスがactiveであることをチェック(CheckActiveStatus)
- 3と4の条件が合う商品だけ、投稿(FirstPost)
- 続けて、補足ツイート(SecondPost)
- Airtableに投稿済み情報を保存(UpdateStatus)
使うノードと役割
| ノード名 | 説明 |
|---|---|
| Shopify Trigger | 商品更新を検知 |
| GetProduct | Airtableで該当商品を検索 |
| checkExisted | 投稿済みかどうか確認(存在すればスキップ) |
| CheckActivateProcess | draftからactiveへの変更を検知 |
| Create | Airtableに商品情報を登録(新規) |
| CheckActiveStatus | 新規作成された商品がactiveか確認 |
| FirstPost | X(旧Twitter)に投稿 |
| SecondPost | FirstPostにぶら下げる形で補足投稿 |
| UpdateStatus | Airtableに投稿完了ステータスを記録 |
🟢 Shopify Trigger
Shopifyで商品が更新されたときに自動で起動するトリガーノードです。
「Product Updated」を選ぶことで、商品ステータス(draft → activeなど)の変更も検知できます。

- Credential to connect with: + Create new credentialを選択
- Trigger On:
Product Updatedを指定
Shopify認証情報の設定方法

- Shop Subdomain:
xxxx.myshopify.comのxxxx部分
*テスト用のshopifyのURLは(https://dvi8et-ky.myshopify.com/)のため、キャプチャのサブドメインにはdvi8et-kyを設定 - Access Token / APP Secret Key: Shopify管理画面から取得
取得方法の詳細は下のリンクをご参照ください👇
🔍 GetProduct(Airtable検索)

Airtableに対象のproduct_idが存在するかを確認します。
| 設定値 | |
| Credential to connect with | ご自身のAirtagle account *参考ブログ |
| Resource | Record |
| Operation | Search |
| Base (From list) | 任意のベース |
| Table (From list) | 任意のテーブル |
| Filter By Formula | {任意のカラム名} = {{ $json.id }} |
| Return All | ON |
※ Airtableに関しては下記のリンクで紹介しています。
Airtableのサンプル構成
利用したテーブルは下のキャプチャと同じ構成になります。
Shopifyの商品ID(ProductId)と商品名(Name)、Statusを持つシンプルな構成です。

🔍 CheckExisted
product_id指定でAirtableに商品データが存在する場合と存在しない場合で振り分けます。

{{ json }}は直前のノード(GetProduct)のデータを意味しています。
直前のノードがデータを取得していれば(is not empty)=>true, それ以外は=>falseになります。
⚖ CheckActivateProcess(draft → active への更新)
更新内容が「draft → active」の商品であれば、投稿対象とします。

{{ $('GetProduct').item.json.Status }}はAirtableで取得した商品のStatus情報を意味しています。- {{ $(‘ShopifyTrigger’).item.json.status }}はShopifyで修正した商品のStatus情報を意味しています。
🆕 Create
更新された商品をAirtableに登録です。
| 設定値 | |
| Credential to connect with | ご自身のAirtagle account *参考ブログ |
| Resource | Record |
| Operation | Create |
| Base (From list) | 任意のベース |
| Table (From list) | 任意のテーブル |
| Mapping Column Mode | Map Each Column Manually |
| Values to Send(ProductID) | {{ $(‘ShopifyTrigger’).item.json.id }} |
| Values to Send(Name) | {{ $(‘ShopifyTrigger’).item.json.title }} |
| Values to Send(Status) | {{ $(‘ShopifyTrigger’).item.json.status }} |
⚖ CheckActiveStatus(未連携商品かつactive)
作成された商品がactive状態かどうかを判定します。
新規作成された時点でactiveであれば、投稿対象とします。

🐦 FirstPost
X(旧Twitter)に投稿するノードです。OAuth認証が必要になります。

| 設定値 | |
| Credential to connect with | ご自身のX開発account |
| Resource | Tweet |
| Operation | Create |
| Text | 任意のメッセージ |
Text(投稿文) 例
新商品が入荷しました🛍️
「{{ $('ShopifyTrigger').item.json.title }}」が販売スタート!
詳しくはこちら👇
https://automation-blog.jp/
➕ Twitter SecondPost
最初の投稿に対するツイートを投稿します。
| 設定値 | |
| Credential to connect with | ご自身のX開発account |
| Resource | Tweet |
| Operation | Create |
| Text | 任意のメッセージ |
| Options(Reply to Tweet[By ID]) | {{ $json.id }} |
{{ $json.id }}は直前のノード(FirstPost)のidを指します。
🆙 UpdateStatus
Airtableの商品ステータスをactiveに更新します。
この処理により、商品ステータス以外のデータが更新されたときにXに再投稿される事を防ぎます。
| 設定値 | |
| Credential to connect with | ご自身のAirtagle account *参考ブログ |
| Resource | Record |
| Operation | Update |
| Base (From list) | 任意のベース |
| Table (From list) | 任意のテーブル |
| Mapping Column Mode | 任意のカラム名 |
| Columns to match on | {{ $(‘ShopifyTrigger’).item.json.id }} |
| Values to Update(using to match) | {{ $(‘GetProduct’).item.json.ProductId }} |
注意点|重複投稿の危険性
Shopifyのstatusフィールドは「現在の状態」しか持ちません。
そのため、draft → active → draft → activeと変更を繰り返すと、毎回トリガーが発生し投稿が行われます。
X(旧Twitter)とのOAuth2接続設定
- X Developer Portal にアクセス
- 新しいアプリを作成
- OAuth 2.0(PKCE)を有効化
Client IDとClient Secretを発行し、n8nでOAuth2 Credentialとして登録
まとめ
この仕組みを導入することで:
- 商品が「買える状態」になったタイミングで確実にXに投稿できる
- 手作業による投稿漏れや二重投稿を防げる
- SNS運用を安定させながら、日常業務の負担を減らすことができる
Shopifyの商品公開 → SNS告知という流れは、仕組みに任せられる代表的な自動化ポイントです。
まずは一商品からでも導入して、運用の軽量化を体感してみてください。
📦 n8n JSONテンプレートのダウンロード
今回紹介したn8nワークフローのJSONファイルをダウンロードできます:
※ あなたの環境に合わせて、接続設定(Shopify / Airtable / X)だけ差し替えてご利用ください。
次回予告
次回は、このフローをShopify FlowやZapierでも実装する方法を紹介する予定です。
「どのツールが自分に合っているか分からない」という方に向けて、比較も含めて整理していきます。
興味のある方はぜひチェックしてみてください。
この記事を通じてShopifyの魅力を少しでも感じていただけたなら嬉しいです。
現在Shopifyでは、3日間の無料トライアルに加え、最初の3ヶ月間は月額たったの150円というお得なキャンペーンが実施中です。
「とりあえず試してみたい」「コストを抑えて始めたい」という方にはぴったりです👇





コメント