概要
OneSignal HubSpotインテグレーションは、ネイティブワークフローアクションを通じてHubSpot CRMをOneSignalに接続します — サードパーティのミドルウェアは不要です。以下のことが可能です:- メッセージの送信 — HubSpotワークフローからプッシュ通知、メール、SMSをトリガー
- ユーザーの作成 — HubSpotコンタクトをメールおよびSMSサブスクリプションと共にOneSignalに同期
- タグの管理 — HubSpotコンタクトプロパティに基づいてOneSignal タグを設定または削除
- アプリ内メッセージのターゲティング — HubSpotによって設定されたタグを使用して、アプリ内メッセージの配信を制御するセグメントを構築
前提条件
- HubSpot スーパー管理者ロールまたはアプリマーケットプレイス権限
- 有料OneSignalプラン(無料プランでは利用不可)
HubSpotは2024年12月に元のサードパーティOneSignalアプリを廃止しました。OneSignalは現在、拡張された機能を持つ独自のHubSpotアプリを提供しています。以前のインテグレーションを使用していた場合は、以下の移行手順をご確認ください。
旧HubSpotインテグレーションからの移行
旧HubSpotインテグレーションからの移行
新しいインテグレーションのインストール以下のHubSpotをOneSignalに接続するセクションで説明されているように、OneSignalダッシュボードのデータ > インテグレーションからHubSpotインテグレーションを有効化します。ワークフローの移行既存のワークフローのアクションを置き換える前に、新しいインテグレーションをテストするための新しいワークフローを作成することをお勧めします。

- ワークフローのクローン作成 — HubSpotのワークフローページで、既存のワークフローの横にあるクローンをクリックします。
- トリガーの削除 — クローンされたワークフローから、公開時に自動的に起動しないよう、すべての登録トリガーを削除します。
- 旧アクションの置き換え — 各旧OneSignalアクションを削除し、新しいバージョンに置き換えます。両方のアプリがインストールされている場合、旧アプリには「Built by HubSpot」と表示されます — 表示されない方を使用してください。

- 単一コンタクトでのテスト — ワークフローを保存して公開し、1つのテストコンタクトを手動で登録します。登録履歴を確認して、アクションが正常に完了したことを確認します。

- 置き換えまたは更新 — ワークフローが正しく動作することを確認したら、元のワークフローをクローンに置き換えるか、同じ変更を元のワークフローに適用します。
support@onesignal.comにお問い合わせください。HubSpotをOneSignalに接続する
インテグレーションの有効化
OneSignalで、データ > インテグレーション > カタログに移動してHubSpotを選択します。

外部IDでユーザーを照合する
HubSpotコンタクトをOneSignalユーザーにリンクするには、OneSignalの外部IDをHubSpotの一意のプロパティ(ユーザーIDやメールアドレスなど)と一致する値に設定します。 SDKのloginメソッドを使用して、アプリまたはウェブサイトで外部IDを設定します。照合が確実になるよう、アプリとHubSpotの両方で利用可能なプロパティを選択してください。
HubSpotワークフローの作成
HubSpotで、自動化 > ワークフローに移動してワークフローを作成をクリックします。コンタクトベースを選択して、登録トリガーを設定します。 OneSignalアクションを追加するには、ワークフローエディターで**+**をクリックして「OneSignal」を検索します。

- OneSignalアプリ — セットアップ時に接続したアプリ
- 外部ID — OneSignalの外部IDに対応するHubSpotコンタクトプロパティ
OneSignalアクション
HubSpotからOneSignalユーザーを作成する
ユーザー作成アクションは、コンタクトがワークフローを通過するとOneSignalにユーザーを作成します。新しいコンタクトが追加されるにつれて、OneSignalとHubSpotの同期を維持するために使用します。 以下のHubSpotプロパティが設定されている場合、OneSignalは対応するサブスクリプションを自動的に作成します:- メール → OneSignalにメールサブスクリプションを作成
- 電話番号 → OneSignalにSMSサブスクリプションを作成

HubSpotからOneSignalタグを編集する
タグ編集アクションは、一致したOneSignalユーザーのタグを設定または削除します。タグはメッセージのパーソナライゼーションとセグメンテーションを可能にし、HubSpotからアプリ内メッセージをターゲットにするメカニズムです。タグの設定
タグフィールドにJSONオブジェクトを入力します:タグの削除
タグを削除するには、値を空の文字列に設定します:
HubSpotワークフローからメッセージを送信する
通知の送信アクションは、一致したOneSignalユーザーにプッシュ通知、メール、またはSMSを配信します。
名前)を挿入して通知コンテンツをパーソナライズできます。
HubSpotでアプリ内メッセージを送信する
アプリ内メッセージはHubSpotワークフローから直接送信することはできません。代わりに、HubSpotを使用してユーザーにタグを付け、OneSignalでセグメントベースのアプリ内メッセージでそれらのユーザーをターゲットにします。HubSpotからユーザーにタグを付ける
HubSpotワークフローで、タグ編集アクションを使用してコンタクトにタグを設定します。例:
{ "hubspot_campaign": "spring_promo" }。OneSignalでセグメントを作成する
OneSignalダッシュボードで、オーディエンス > セグメントに移動して新しいセグメントをクリックします。HubSpotによって設定されたタグのキーと値に一致するユーザータグフィルターを追加します(例:
hubspot_campaignがspring_promo)。アプリ内メッセージを作成する
メッセージ > アプリ内に移動して、新しいアプリ内メッセージを作成します。オーディエンスで特定のセグメントに表示を選択し、作成したセグメントを選択します。ユーザーがHubSpotワークフローを通過してタグを受け取ると、すぐにセグメントに追加されます。
トリガーを設定する
タグだけではアプリ内メッセージはトリガーされません。ユーザーがアプリを積極的に使用中にタグが設定された場合、次のセッションまでアプリ内メッセージは表示されません(アプリが30秒以上バックグラウンドになると新しいセッションが開始されます)。利用可能なトリガー:
- アプリ起動時 — ユーザーが次にアプリを開いたときに表示
- セッション時間 — セッション内の指定された秒数後に表示
- 最後のアプリ内メッセージからの時間 — 連続したメッセージを防止
- プログラム的 — OneSignal SDKを使用してアプリコードからトリガー
一般的なワークフローパターン
HubSpotワークフローは登録トリガー(ワークフローを開始するイベント)とOneSignalアクション(OneSignalでユーザーに何が起こるか)を組み合わせます。以下は一般的なユースケースに推奨されるパターンです。以下のすべてのワークフローパターンは、すでにHubSpotをOneSignalに接続していること、および外部IDでユーザーを照合していることを前提としています。
ウェルカムとオンボーディング
新しいユーザーがサインアップしたときにウェルカムメッセージを送信し、オンボーディングのアプリ内メッセージ用にタグを付けます。| ステップ | タイプ | 設定 |
|---|---|---|
| 登録トリガー | HubSpot | コンタクトプロパティ顧客になった日が既知 |
| アクション1 | OneSignal: ユーザー作成 | 外部IDをアプリと一致するHubSpotコンタクトプロパティ(ユーザーIDやメールアドレスなど)に設定 |
| アクション2 | OneSignal: タグ編集 | { "onboarding": "active", "name": "<First Name>" } — 名前の値にHubSpot名前プロパティトークンを挿入 |
| アクション3 | OneSignal: 通知送信 | ウェルカムプッシュテンプレートを使用、またはパーソナライズされたグリーティングでインラインで作成 |
再エンゲージメント
最近アプリを訪問していないユーザーにリーチします。| ステップ | タイプ | 設定 |
|---|---|---|
| 登録トリガー | HubSpot | コンタクトプロパティ最終アクティビティ日が14日以上前 |
| アクション1 | OneSignal: 通知送信 | 再エンゲージメントプッシュテンプレートを使用(例:「お久しぶりです — 最新情報はこちら」) |
| 遅延 | HubSpot: 3日待機 | — |
| If/thenブランチ | HubSpot | コンタクトが登録後にサイトを訪問したか確認 |
| Yesブランチ | OneSignal: タグ編集 | { "reengaged": "true" } |
| Noブランチ | OneSignal: 通知送信 | より強いインセンティブを持つメールテンプレートを使用 |
ライフサイクルステージの変更
HubSpotのライフサイクルステージの変更をOneSignalタグと同期して、異なるユーザーセグメントをターゲットにできます。| ステップ | タイプ | 設定 |
|---|---|---|
| 登録トリガー | HubSpot | コンタクトプロパティライフサイクルステージが任意の値に変更 |
| アクション1 | OneSignal: タグ編集 | { "lifecycle_stage": "<Lifecycle Stage>" } — 値にHubSpotライフサイクルステージプロパティトークンを挿入 |
| If/thenブランチ | HubSpot | ライフサイクルステージ = 顧客か確認 |
| Yesブランチ | OneSignal: 通知送信 | 「ようこそ」プッシュまたはメールテンプレートを使用 |
成約 / 購入後
成約後にお礼のメッセージをトリガーし、アップセルキャンペーン用にユーザーにタグを付けます。| ステップ | タイプ | 設定 |
|---|---|---|
| 登録トリガー | HubSpot | 案件プロパティ案件ステージ = 成約済み |
| アクション1 | OneSignal: タグ編集 | { "customer": "true", "deal_value": "<Amount>" } — 値にHubSpot案件金額プロパティトークンを挿入 |
| アクション2 | OneSignal: 通知送信 | お礼メールテンプレートを使用 |
| 遅延 | HubSpot: 7日待機 | — |
| アクション3 | OneSignal: 通知送信 | アップセル/クロスセルプッシュテンプレートを使用 |
案件ベースのワークフローには、HubSpotで案件ベースのワークフロータイプが必要です。関連するコンタクトの外部IDを使用してOneSignalユーザーを照合します。
アプリ内メッセージによるプロモーションキャンペーン
HubSpotリストまたはフォームによってトリガーされたアプリ内メッセージで特定のオーディエンスをターゲットにします。| ステップ | タイプ | 設定 |
|---|---|---|
| 登録トリガー | HubSpot | コンタクトが静的または動的リスト(例:「スプリングセール対象者」)のメンバーになる |
| アクション1 | OneSignal: タグ編集 | { "promo": "spring_2025" } |
promo = spring_2025に一致するOneSignalセグメントを作成し、そのセグメント用のアプリ内メッセージを設定します。
キャンペーン終了後にユーザーをキャンペーンから削除するには、タグを削除する2番目のワークフローを作成します:
| ステップ | タイプ | 設定 |
|---|---|---|
| 登録トリガー | HubSpot | 日付ベース、キャンペーン終了日に設定 |
| アクション1 | OneSignal: タグ編集 | { "promo": "" } |
トラブルシューティング
HubSpotでワークフローアクションが「失敗」と表示される
- エラーメッセージを確認する — HubSpotワークフロー登録履歴で失敗したアクションを展開します。エラーメッセージには多くの場合、原因が示されています(例:「ユーザーが見つかりません」、「無効なアプリID」)。
- 外部IDを確認する — 外部IDとして使用されているHubSpotコンタクトプロパティがOneSignalのユーザーと一致することを確認します。OneSignal > オーディエンス > ユーザーでユーザーのプロフィールを確認し、外部IDで検索します。
- インテグレーションがアクティブであることを確認する — OneSignal > データ > インテグレーション > HubSpotに移動して、接続ステータスがアクティブであることを確認します。
メッセージが送信されたがユーザーが受信しなかった
- サブスクリプションを確認する — ユーザーは送信するチャネル(プッシュ、メール、またはSMS)のアクティブなサブスクリプションを持っている必要があります。OneSignalのユーザープロフィールのサブスクリプションで確認します。
- セグメントメンバーシップを確認する — セグメントターゲティングのテンプレートを使用している場合は、ユーザーがターゲットセグメントに属していることを確認します。
- メッセージレポートを確認する — OneSignalダッシュボードでメッセージに移動し、メッセージを見つけて配信レポートを確認して、メッセージが配信されたか、ドロップされたか、エラーになったかを確認します。
OneSignalユーザーにタグが表示されない
- 外部ID照合を確認する — ワークフローの外部IDが既存のOneSignalユーザーと一致しない場合、タグ編集アクションは失敗します。ユーザーが存在することを確認するため、タグ編集の前にユーザー作成アクションを使用してください。
- JSON形式を確認する — タグは有効なJSONオブジェクトである必要があります。よくある間違いには、キーや値の引用符の欠如、末尾のカンマ、ダブルクォートの代わりにシングルクォートを使用することなどがあります。
- 空の値を確認する — タグ値を
""に設定するとタグが削除されます。挿入されているHubSpotコンタクトプロパティが空白でないことを確認します。
アプリ内メッセージが表示されない
以下のFAQのタグが設定された後にアプリ内メッセージが表示されなかったのはなぜですか?をご覧ください。FAQ
HubSpotとOneSignal間でどのようなデータが共有されますか?
インテグレーションはHubSpotリスト、案件、または会社レコードをOneSignalに自動的に同期しません。必要なデータを明示的に渡すには、ワークフローアクションを使用してください。
外部IDがOneSignalユーザーと一致しない場合はどうなりますか?
通知の送信とタグ編集アクションは静かに失敗します — メッセージは送信されず、タグも設定されません。ワークフローの他のOneSignalアクションの前には常にユーザー作成アクションを配置して、ユーザーがOneSignalに存在することを確認してください。HubSpotリストを使ってOneSignalセグメントをターゲットにできますか?
直接はできません。HubSpotリストとOneSignalセグメントは独立したシステムです。ブリッジするには、HubSpotリストからコンタクトを登録するワークフローを作成し、タグ編集アクションを使用してタグを設定します。次に、そのタグに基づいてOneSignalセグメントを構築します。具体的な例については、アプリ内メッセージによるプロモーションキャンペーンをご覧ください。HubSpotからどのOneSignalチャネルを送信できますか?
プッシュ通知はテンプレートまたはフォームフィールドを使用して送信できます。メールとSMSはOneSignalで作成したテンプレートを使用してのみ送信できます。アプリ内メッセージはHubSpotワークフローから送信できません — 代わりにタグとセグメントパターンを使用してください。タグが設定された後にアプリ内メッセージが表示されなかったのはなぜですか?
タグだけではアプリ内メッセージはトリガーされません。タグはユーザーをセグメントに追加しますが、アプリ内メッセージを表示するにはまだトリガーが必要です。ユーザーがアプリを積極的に使用中にタグが設定された場合、次のセッション(30秒以上バックグラウンド)まで表示されません。最も信頼性の高い動作のために、アプリ内メッセージトリガーをアプリ起動時に設定してください。すべてのトリガーオプションについては、アプリ内メッセージトリガーをご覧ください。HubSpotウェブフックを使ってOneSignal APIを直接呼び出せますか?
はい。HubSpotのカスタムコードワークフローアクションを使用して、外部APIへのHTTPリクエストを行うことができます。OneSignal REST APIを呼び出して、ネイティブインテグレーションの外でメッセージの送信、ユーザーの作成、タグの更新を行うことができます。これは、ネイティブアクションがカバーしていないユースケース(個々のユーザーではなくセグメントへの送信など)に役立ちます。OneSignalメッセージイベントをHubSpotに送り返せますか?
はい。イベントストリームを使用して、OneSignalメッセージイベント(送信済み、クリック済みなど)をウェブフックエンドポイントにエクスポートできます。これらのイベントをHubSpotのカスタムイベントAPIにルーティングするか、ミドルウェアサービスを使用してOneSignalエンゲージメントデータに基づいてHubSpotコンタクトプロパティを更新することができます。HubSpotからOneSignalジャーニーをトリガーできますか?
HubSpotユーザーをOneSignal ジャーニーに入れるには2つのオプションがあります:- タグ — タグ編集アクションを使用してユーザーにタグを設定します。そのタグに基づいてOneSignalでセグメントを作成し、そのセグメントをジャーニーの入口条件として使用します。
- カスタムイベント — HubSpotのカスタムコードアクションを使用してOneSignalカスタムイベントAPIを呼び出します。これはジャーニーの入口トリガーとして機能できます。
HubSpotからOneSignalにカスタムイベントを送信できますか?
ネイティブワークフローアクションを通じては送信できません。ネイティブインテグレーションはユーザー作成、タグ編集、通知送信をサポートしています。カスタムイベントを送信するには、HubSpotのカスタムコードアクションを使用してOneSignalカスタムイベントAPIを直接呼び出してください。どのHubSpot登録トリガーがOneSignalと連動しますか?
あらゆるHubSpot登録トリガーが機能します — OneSignalアクションはコンタクトがどのように登録されたかに関係なく実行される標準ワークフローアクションです。一般的なトリガーには以下があります:- コンタクトプロパティの変更(ライフサイクルステージ、リードステータス、最終アクティビティ日)
- フォーム送信(サインアップフォーム、デモリクエスト、イベント登録)
- リストメンバーシップ(静的または動的リストへの追加)
- 案件ステージの変更(パイプラインの進行、成約済み/失注)
- 日付ベース(スケジュールされたキャンペーン、イベントからの経過時間)
- 手動登録(一回限りの送信またはテスト用)
公開前にワークフローをテストするにはどうすればよいですか?
- ワークフローを作成して、すべての自動登録トリガーを削除する
- ワークフローを保存して公開する
- 1つのテストコンタクトを手動で登録する
- HubSpotの登録履歴でアクションの成功/失敗を確認する
- OneSignalダッシュボードでユーザー、タグ、またはメッセージを確認する
- 確認後、登録トリガーを追加して再公開する