このページの内容

GoHighLevelのアカウント間ワークフローIDリマップ(パイプライン、タグ、ユーザー、フィールド)

GoHighLevelのワークフローは、作成されたアカウントに内部IDで結び付けられています。そのIDを書き換えずに移すと、壊れた状態で届きます。何が壊れるのか、そして名前ベースのリマップでどう修復されるのかを解説します。

ワークフローが作成されたアカウントに縛られている理由

名前ではなくIDタグを追加:Hot Lead文字列ではなく tag_7c1f... のようなIDを保存コピー元のアカウントそこではIDが存在する別のアカウント同じタグでも別のIDになる参照が解決されるステップが動作参照が宙に浮く本番では何も起きない
アカウント固有のIDこそが、コピーしたワークフローが動かなくなる、ほぼすべてのケースの根本原因です。

GoHighLevelの内部では、ワークフローが扱うほぼすべてのものが、独自の内部IDを持つレコードです。パイプライン、そのパイプライン内のステージ、タスクを割り当てるユーザー、タグ、カスタムフィールド、カレンダー、テンプレート。ワークフローを作るとき、GoHighLevelはそれらのレコードの名前をワークフロー定義に保存しません。保存するのはIDです。「タグを追加:Hot Lead」というアクションは「Hot Lead」という文字列を保存せず、そのアカウント内のそのタグのIDであるtag_7c1f…のようなものを保存します。

これらのIDはアカウント固有です。同じタグを2つ目のアカウントで手作業で作ると、そこでは完全に別のIDが付きます。そのため、ワークフロー定義をあるアカウントから取り出して別のアカウントに入れると、含まれているすべてのIDは、コピー元にしか存在しないレコードを指したままになります。移行先にはそのIDのレコードがないので、参照は宙に浮きます。これが「ワークフローをコピーしたら動かなくなった」という報告のほぼすべての根本原因であり、JSONをそのままコピーしても本当の移行にならない理由です。

具体的にどの項目が壊れるのか

アカウントIDを保持する項目パイプラインとステージステージIDには親のパイプラインが必要ユーザー/担当者アカウントごとに別のIDタグアクション、トリガー、if/else分岐カスタムフィールド読み取り、書き込み、条件カレンダー予約・アポイントメントのアクションメール・SMSテンプレート保存済みテンプレートを使う送信ステップカスタム値IDで解決されるマージフィールドワークフローへのリンク別のワークフローへの移動/ワークフローからの削除
リテラル値は壊れません。壊れるのは、アカウント固有のIDを持つすべての項目です。

壊れ方はランダムではありません。リテラル値ではなく、アカウント固有のIDを保持するワークフロー内のすべての項目です。具体的には次のとおりです。

  • パイプラインとステージ。「商談を作成/更新」や「ステージに移動」のアクションは、パイプラインIDとその中のステージIDを参照します。どちらもアカウント固有で、ステージIDは親のパイプラインがなければ意味を持ちません。
  • ユーザー/担当者。「ユーザーに割り当て」やラウンドロビンのステップはユーザーIDを参照します。同じ人でもアカウントごとにIDが異なり、移行先のメンバーですらない場合もあります。
  • タグ。タグの追加・削除アクション、タグベースのトリガーやif/else分岐は、すべてタグIDで動作します。
  • カスタムフィールド。カスタムフィールドを読み書きするもの(フィールドの値で分岐する条件を含む)は、そのフィールドのIDを指しています。
  • カレンダー。予約やアポイントメントのアクションはカレンダーIDを参照します。
  • メール・SMSテンプレート。保存済みテンプレートを使う「メール送信」や「SMS送信」のステップは、そのテンプレートのIDを参照します。
  • カスタム値。マージフィールドとアカウントレベルのカスタム値はIDで解決され、それ単体では持ち運べません。
  • ワークフロー間の参照。「別のワークフローへ移動」や「ワークフローから削除」のステップは、兄弟ワークフローのIDを指します。そのワークフロー自体も移行してリマップしておかなければ、指す先がありません。

これらはどれも、静かに失敗するポイントです。GoHighLevelは、宙に浮いた参照を持つワークフローでも保存できてしまうことが多く、本番でコンタクトがそのステップに到達したときに、何も起きないか、間違ったことが起きるだけです。実際のコンタクトが通過するまで気付けない、最悪の種類の不具合です。

典型的な症状:「インポートは問題なく完了した」のに、各ステップを開くとタグ、パイプライン、担当者割り当てのアクションが空白、または選択不可になっているワークフロー。構造は届いても、アカウント固有の参照が解決されていません。

ExportGHLが名前で照合してIDを書き換える仕組み

名前で対応付け、ローカルIDに書き換えコピー元の参照移行先のレコード「Sales Pipeline」コピー元のID「Sales Pipeline」移行先のIDステージ「Booked」(パイプライン内)ステージ「Booked」(対応先パイプライン内)タグ「Hot Lead」コピー元のIDタグ「Hot Lead」移行先のIDフィールド Lead Sourceコピー元のIDフィールド Lead Source移行先のID
アカウント間で共通なのは名前。だから名前がIDを書き換えるキーになります。

ExportGHL Workflowsは、移行をコピーではなく照合として扱います。保存したワークフローを移行先のアカウントにデプロイすると、定義内のアカウント固有の参照をすべて読み取り、コピー元でその参照が何だったか(その名前)を調べ、移行先で同じ名前のレコードを探します。宙に浮いたコピー元のIDは、移行先のそのパイプライン、ステージ、タグ、ユーザー、フィールド、カレンダー、テンプレートの固有IDに書き換えられます。

名前を照合のキーにするのが正解です。2つのアカウントが実際に共有しているのは名前だからです。アカウント間で同じ内部IDを持つことはまずありませんが、「Hot Lead」というタグ、「Booked」ステージのある「Sales Pipeline」、「Lead Source」というカスタムフィールドは、どちらにもあることがよくあります。ExportGHLは、パイプライン内にネストされたステージやワークフロー間リンクを含む参照グラフ全体をたどるので、リマップされたステージは、名前が似ているだけの別のステージではなく、正しくリマップされたパイプラインの中に入ります。

移行先には新しいワークフローとしてデプロイされるため、既存のものが上書きされることはありません(既存のものを更新することも選べますが、それは明示的な選択で、既定ではありません)。その結果、移行先の実際のレコードを参照し、コピー元と同じように動作するワークフローが手に入ります。このページは、アカウント間でオートメーションを保存・移動・バックアップするためのハブ、GoHighLevelワークフローのエクスポート完全ガイドの一部です。

ExportGHLがリマップするもの、保持するもの、下書きにするもの

リマップされるものと保持されるもの名前でリマップそのまま保持対象パイプライン、ステージ、タグ、ユーザー、フィールドカレンダー、テンプレートトリガー、フィルター、ゴールアクション、待機、分岐一致しない場合ワークフロー全体が下書きで保留それ自体では下書きにならない
構成要素が下書きになるのは、それが指すアカウント固有の参照があるときだけです。

ワークフロー内には2種類のものがあります。リマップが必要なアカウント固有の参照と、そのまま引き継がれる構造上の構成要素です。

名前でリマップされる参照。それぞれ移行先の固有のレコードと照合され、IDが書き換えられます。一致するものがあれば保持され、なければ、自分で用意するかマッピングするまでワークフローは下書きのままになります。

  • パイプライン
  • ステージ(親パイプライン内)
  • タグ
  • ユーザーと担当者
  • カスタムフィールド
  • カレンダー
  • メール・SMSテンプレート

ワークフローの構成要素。オートメーションの構造は、アカウント固有ではないため、そのまま保持されます。構成要素が下書きになるのは、それが指すアカウント固有の参照が原因のときだけで、構成要素そのものが原因になることはありません。

  • トリガー
  • トリガーとアクションのフィルター
  • アクション(順序どおり)
  • 待機ステップとタイマー
  • if/else分岐
  • ゴール

要するに、構造とリテラル値(待機時間、プレーンなメッセージ本文、分岐ロジック)はそのまま保持され、アカウント固有の参照は一致すれば名前でリマップされ、一致しないものがあればワークフロー全体が壊れた状態で公開されず下書きで保留されます。

参照をマッピングできないときの動作

移行先に、その名前が本当に存在しない場合もあります。「Hot Lead」タグがそこで作られていない、ユーザーがメンバーではない、など。ExportGHLは推測せず、気付かないうちに失敗するものを公開もしません。一致しない参照をすべてフラグ付きで示すので、何が足りないのかを正確に確認でき、デプロイされたワークフローは下書きのままになります。そのうえで、不足しているレコードを作成する(またはアクションを既存のものにマッピングする)と、すべてが解決された時点で公開できます。

この下書きを既定とする動作は意図的です。避けたいのは、稼働しているように見えて静かに誤作動するワークフローなので、すべての参照が実在するものを指すまで公開を拒否するのが安全な選択です。

JSONのみの競合ツールでは壊れたままになる理由

GHL Workflows Pro、GHL Workflow Importer/Exporter、GHL Workflows JSON Exporterなどのツールは、ワークフローのJSONをエクスポートして別のアカウントにインポートできます(Super Clonerもまとめて語られることがありますが、これはワークフローではなくファネルやWebサイトのページを複製するものです)。構造は移りますが、その中のIDはそのままコピーされ、移行先と照合されません。そのため、パイプライン、タグ、ユーザー、フィールド、テンプレートの参照は、コピー元のアカウントのIDを指したままで、結局すべてのステップを手作業で直すことになります。JSONのエクスポートは簡単な8割にすぎず、アカウント固有の参照をリマップするのが、ワークフローを実際に動かす難しい2割です。そして、それこそが彼らが省略している部分です。選択肢を比べるなら、複製ツールの比較で動作を並べて確認でき、1回の移行の手順はアカウント間のコピーにあります。

GoHighLevel自身のツールでも、このギャップは埋まりません。標準の複製は1つのアカウント内でしか機能せず、スナップショットはアカウント全体のテンプレートをコピーします。スナップショットで参照が解決されるのは、すべてのパイプライン、タグ、フィールドの独自のコピーも一緒に持ち込むからにすぎず、すでに稼働中のアカウントに1つのワークフローを移す場合には役に立ちません。アカウント間リマップは、GoHighLevelがカバーしていないこのケースのために存在します。

まずは実際のワークフローで試す

無料トライアルでは、ワークフロー1つを最初から最後まで移行できるので、費用をかける前に、自分のアカウントでリマップと下書きのフラグ付けを確認できます。その後は、有効期限のない従量課金クレジットか、サブスクリプション不要の買い切りToolkitライセンスです。詳細は料金ページをご覧ください。

よくある質問

GoHighLevelのワークフローを新しいアカウントにコピーすると壊れるのはなぜですか?
GoHighLevelのワークフローは、使用するパイプライン、タグ、ユーザー、カスタムフィールドの名前を保存していません。保存しているのは内部IDで、そのIDは作成されたアカウントにスコープされています。ワークフロー定義を別のアカウントにコピーしても、IDはコピー元にしか存在しないレコードを指したままなので、移行先には照合する相手がありません。それらのIDを参照するアクションは、手作業で1つずつ修復するまで、気付かないまま失敗するか、間違ったレコードを指します。
アカウント間でどのIDがリマップされますか?
ExportGHL Workflowsは、ワークフローが依存するアカウント固有の参照をリマップします。パイプラインとそのステージ、担当ユーザー、タグ、カスタムフィールド、カレンダー、メール・SMSテンプレート、カスタム値、そしてあるワークフローから別のワークフローへの参照です。それぞれ移行先のアカウントで名前により照合され、IDが移行先の固有のIDに書き換えられます。待機時間やプレーンなメッセージ本文のように、IDではなくリテラル値のものは、アカウント固有ではないため、そのままコピーされます。
移行先にタグやパイプラインが存在しない場合はどうなりますか?
移行先に指す先がないため、その参照はリマップできません。ExportGHLは一致しない参照をすべてフラグ付きで示すので、何が足りないのかを正確に確認でき、ワークフローは壊れた状態で公開されず下書きのままになります。そのうえで、不足しているパイプラインやタグを作成するか、アクションを既存のものにマッピングして、ワークフローが完成した時点で公開します。解決できないIDを指したまま稼働することはありません。
GHLのスナップショットはこれらをリマップしますか?
いいえ。GoHighLevelのスナップショットは、アカウント全体のテンプレートを新規またはスナップショット読み込み済みのアカウントにコピーするもので、参照が解決されるのは、スナップショットがそれらのパイプライン、タグ、フィールドの独自のコピーも一緒に運ぶからにすぎません。稼働中の移行先アカウントにすでに存在するパイプライン、タグ、ユーザーに対してワークフローを照合することはないため、すでに使用中のアカウントに1つか少数のワークフローを移す用途には不向きです。アカウント間リマップは、まさにそのケースのために作られています。

ワークフローを移して、リマップの動きを確かめよう

ワークフロー1つを別のアカウントに無料でデプロイ。パイプライン、タグ、フィールドが移行先のものに書き換わる様子と、一致しないものが公開前にフラグ付きで示される様子を確認できます。

無料で始める