【第21回】 Automation Studio で別のオートメーションを起動させる方法
Salesforce Marketing Cloud には Automation Studio という作業を自動化できるツールがあります。
例えば、基幹システムから顧客データなどを取り込むインポートの自動化処理を作ったり、配信リストをリフレッシュして、最新のデータが入った状態にするフィルターや SQL の自動化処理を作ったりすることができます。
そして、それらは下記のようなイメージでステップ化できます。これらの作業を 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 つ目のオートメーションのステップのどこかに配置するだけです。そのスクリプトアクティビティが実行されますと、起動させたいオートメーションが起動するようになります。
今回は以上です。