こんにちは、アンダーソンです。
今回はフローについての解説を書いていきたいと思います。
何度かにわけてフローの基本的な使い方なども書いていければと思ってますが、
まずは以前から気になっていたプラットフォームイベントからのフロー起動
をやっていきます。
イベントの作成
設定からプラットフォームで検索して、新規プラットフォームイベントを作成します。

次に作成した、イベントの内容を作成していきます。
カスタム項目 & リレーション→新規から、必要に応じた項目を作成します。
今回はレコード名と作成フラグというのを作って、フラグがTrueであればフローでレコードを作成、
FalseであればName項目に同じテキストがあれば削除するといったものを
作りたいと思います。

フローを準備する
次にフローを準備しておきます。
フロー作成画面で、プラットフォームイベントフローを選択します。

次に先ほど作成したプラットフォームイベントを選択します。

下記のように受け取った値を判定して、Testオブジェクトのレコードを
作成もしくは削除という動作をしてみました。

では実際にイベントを登録してちゃんとフロー側で
処理が動くか試してみましょう。
Apexから呼び出してみる
ではプラットフォームイベントを呼び出しますが、
いくつかやり方があります。今回はApexを使ってやりますが、
プロセスビルダーからノンコーディングで呼び出すことも可能です。
Apexコードです。
TestEvent__e newsEvent = new TestEvent__e (
Name__c ='テストイベント送信!',
createFlg__c =true);
Database.SaveResult sr = EventBus.publish(newsEvent);
if (sr.isSuccess()) {
System.debug('成功');
} else {
for(Database.Error err : sr.getErrors()) {
System.debug('エラー: ' +
err.getStatusCode() +
' - ' +
err.getMessage());
}
}
これを開発者コンソールから匿名実行してみます。
おそらくテストイベント送信!という名前のレコードが作成されるはずです。

ちゃんと成功しました。
ではレコードが作成されているかみてみましょう。

できました!
では次に先ほどの値をfalseにして削除されるかどうかやってみましょう。

問題なく削除されました。
このように何かのきっかけでプラットフォームイベントを使って
処理を行うことができますので、
このような使い方にも熟知しておかないといけないですね。
ちなみにイベントにはトリガを作成することもできますので、
外部からきたイベントに対してプラットフォーム側で反応する
というやり方もあります。
是非いろいろなパターンでの実装を考えてみてください。