2022.10.07

リッチな画面をローコードで開発できるOmniStudioを触ってみた

はじめに

年3回のバージョンアップがある中で、初めて聞いた!という機能があっても珍しいことではないSalesforceですが、ちらほらと「OmniStudio」というキーワードを耳にすることが増えてきました。
そんなOmniStudioについて、Salesforceから提供されているDeveloper環境を使ってOmniStudioを触ってみた著者が、「どんなことができる機能なのか」を紹介してみようと思います。

今やトレンドになってきたノーコード/ローコード開発の可能性をグンと広げることができるOmniStudioについて、この記事を読み終わった頃には「触ってみたい!」と思えたら幸いです。

OmniStudioとは

OmniStudioとはノーコード/ローコードで情報参照画面やガイド付きユーザエクスペリエンスを実装できる機能です。
例えば、
 ・コールセンターでお客様応対の問い合わせフロー画面を作成したい
 ・データ入力から登録までを決まった流れで実装したい
 ・Salesforce内外から抽出したデータを変換/加工して画面表示したい
 ・リッチなUIで顧客情報画面を簡単に作成したい
などなど。

今までApexやVisualforce、Lightning Web Componentを使って実装していた機能をOmniStudioを使うことで、主にアイコンを並べて設定をするようなドラッグアンドドロップ主体の開発ができるようになりました。

従ってプログラム開発(プロコード)において必要とされているテストコードが不要だったり、あらかじめLightning ExperienceベースのUIが提供されているため、少ない工数で統一感がある見た目の画面実装が可能となります。
加えて、今までApexなどプログラムを記述しないと実装できなかったような細かい実装についてもあらゆるアクションを組み合わせることで実装が可能となっており、プロコードに限りなく近いローコード機能と思っていただくのが良いと思います。

また、資産のリリースについても独自の仕組みが用意されており、非常にスムーズな形でリリースして新機能を素早く展開することが可能となっています。(詳細は後述します)

本機能はFinancial Services Cloudなどのいわゆる「IndustryCloud」と呼ばれる製品にのみバンドルされている機能であるため、Sales CloudやService Cloudのライセンスのみでは使用できない点にご注意ください。

機能構成

OmniStudioは主に下記4つの要素で構成されています。

上記表のとおり、情報参照画面などのUI系を作成する要素や、それらの画面に表示するための裏側の仕組みを制御するサーバーアクション的な要素に分かれております。
OmniStudioにおいてはこれらの要素を組み合わせて1つの機能を実装していくことになります。

例えば、下記のようなシナリオがあったとします。
「コールセンターでお客さまからECサイトで注文した商品の配送状況について問い合わせがあった」
そのような場合は下記のような実装ができそうです。

上記はあくまでイメージですが、複数の要素を組み合わせて機能を実装していくことが主になっていくと思われます。

本ブログでは各要素の概要紹介に留めさせて頂き、詳細な説明は今後のブログにて紹介させて頂きます。

開発~リリースの流れ

OmniStudioを使った開発においては、下記のような流れで機能実装からリリースまで行われます。
1. デザイナー画面でアイコンをドラッグアンドドロップして画面などを作成
2. プレビューで画面の動きやデバッガーでデータ処理を確認
3. 有効化してSandbox上で確認
4. Export機能(DataPack)やIDX Workbenchを使用して別組織にOmniStudioで作成したコンポーネントを移行
5. 対象環境で有効化

ボタンや表などの要素をドラッグアンドドロップで並べるような開発はSalesforceが得意とするところで、いわゆる画面フローを作成するような流れと非常に似ています。
開発者としてはデータの授受をUIで確認できるようなデバッガー機能が標準搭載されている点もありがたいです。

特筆すべき点はリリースです。
Salesforceでは作成した資産は通常「変更セット」や「メタデータAPI」を使用して本番環境やステージング環境にリリースします。
ですが、OmniStudioで作成した資産は「DataPack」や「IDX Workbench」などの機能を使って別組織へのリリースを行う事になります。

IDX Workbenchは試していませんが、DataPackは非常に手順が簡単でした。
OmniScriptやFlexCardから関連する資産も併せてJSONとしてExportができます。
ExportしたJSONはそのままリリース先の環境でImportができ、それで資産の移行は完了になります。
OmniScriptやIntegration ProcedureではApexクラスを呼び出すことができますが、関連するApexクラスは含めることはできないようです。

DataPackによるExport画面

OmniStudioが得意なこと、苦手なこと

少し触ってみて、私が思ったことを感想ベースで書き連ねてみます。
■得意なこと
・Lightning Experienceのデザインに沿ったリッチな画面/コンポーネント作成
・短時間での画面/コンポーネント作成
・ローコードで複雑なロジックを実装

■苦手なこと(できないこと)
・トリガベースでの処理(Salesforceフローではできる)

などなど。
まだ触ってみた序の口なので、これから機能を試していく中でもっといろんなポイントが出てきそうです。

さいごに

いかがでしたでしょうか。
SalesforceはIndustryCloud周りの機能に非常に力を入れているため、今後もOmniStudioの進化が期待できます。

ですが、新しい機能であるが故に日本での実例が少ないことも事実です。
Trailheadを除いて全て英語のドキュメントしか公開されていないため、学習コストが高いこともハードルの一つとして感じました。
加えて非常に多機能であるため、実現したい内容をどうやったらできるかにたどり着くのに最初はかなり時間がかかると思います。
日本語版のドキュメントが早く展開されることを心より願っております。笑


今回はOmniStudioの概要について触れてみました。
今後改めてFlexCardsやOmniScriptsなどの各機能をそれぞれ深堀りしていきたいと思います。

最後までご覧いただきありがとうございました。
20 件
     
  • banner
  • banner

関連する記事