【第21回】 Automation Studio で別のオートメーションを起動させる方法
Salesforce Marketing Cloud には Automation Studio という、ある作業を自動で定期的に動かすことができるツールが標準装備されています。
この使用例としては、基幹システムから、日次で「顧客データや購買データを取り込むインポート処理」を作ったり、毎次で「配信リストをリフレッシュして、最新のデータが入った状態の配信リストに変更」したり、月次で「離反した顧客宛にリマインドメールを配信」したりすることができます。
このオートメーションは、作業者ベースで考える「ある一連となる固まり」として作成することが多く、それをステップという形で設定し、複数の作業を一纏めにすることがあります。
下記のようなイメージです。これらの作業を Salesforce Marketing Cloud では、簡単にステップ化することができるんですね。
但し、残念ながら、あるオートメーションが終わった後に、別のオートメーションを起動させるという機能は、標準では備わっていないんですね。これを言い換えると、オートメーション間のステップのようなものは標準では存在しないと言うことになります。
もちろん、1 つのオートメーション内で、ひたすら何十ステップも繋げて、巨大なオートメーションを作ることもできるのですが、作業上長すぎるから、どこかのステップで切っておきたいという場面もあるかと思います。そして、そのステップを切った時に、前のオートメーションが終わったら、間髪入れずに、次のオートメーションを起動させたいと言うこともあるでしょう。
今回は、それを解決する「別のオートメーションを起動させる方法」をお伝えします。方法は非常に簡単で、以下を Automation Studio のスクリプトアクティビティで構成して下さい。
<script runat="server">
Platform.Load("core", "1");
var prox = new Script.Util.WSProxy();
prox.setClientId({ "ID": "xxxxxxxxx" }); // あなたの企業の MID を入力
var cols = ["Name", "ProgramID", "IsActive"];
var filter = {
Property: "Name",
SimpleOperator: "equals",
Value: "○○○○○" // 起動させたいオートメーションの名前を入力
};
var desc = prox.retrieve("Automation", cols, filter);
var props = { ObjectID: desc.Results[0].ObjectID };
var action = "start";
var opts = {};
var res = prox.performItem("Automation", props, action, opts);
prox.resetClientIds();
</script>
以下が設定時の注意点となります。
スクリプトアクティビティの設定箇所の例を挙げるのであれば、1 つ目のオートメーションの最後のステップに、スクリプトアクティビティで設定します。この 1 つ目のオートメーションがすべて終わった時に、2 つ目のオートメーションが起動するようになります。お試し下さい。
今回は以上です。
次の記事はこちら
前回の記事はこちら
私の note のトップページはこちら
この記事が気に入ったらサポートをしてみませんか?