Multi-FrameworkでReactAppを(外部向けアプリ)

拝啓 もうすぐGAでしょうか...

Salesforce Mult-Framework を使用した React による UI 開発

SalesforceでReactアプリを動かせるようになるということで試してみた備忘録を記録してみます。
以下、ご参考

GitHub - trailheadapps/multiframework-recipes: A collection of easy-to-digest code examples for React on Salesforce Platform
A collection of easy-to-digest code examples for React on Salesforce Platform - trailheadapps/multiframework-recipes

公式ドキュメント -> Integrate Your React App with the Agentforce 360 Platform

sfdxプロジェクトを作成

今回は、Externalアプリケーション(外部向けのサイト)を試してみよう、ということで sf template generate project を実行する。
このとき、--templatereactexternalapp を指定する。

$ sf template generate project --name sfdcReactExApp --template reactexternalapp

npmパッケージのインストール&ビルド

$ cd sfdcReactExApp
$ cd force-app/main/default/uiBundles/sfdcReactExApp
$ npm install
$ npm run build

デプロイする前に一度ビルドしておく必要があるのでuiBundles/ 配下まで移動してビルド実行する。

scratch orgを作成してデプロイ

みんな大好きscratch orgを作成しておこう。プロジェクトのルートディレクトリまで戻って以下実行

$ sf org create scratch -f config/project-scratch-def.json -a wk.mf --set-default -v (devhub組織を指定)
$ sf project deploy start

まぁ色々エラーが出る

色々設定できてないからそりゃそうだ、と。

Multi-Frameworkの有効化、Experience Cloudサイトの有効化...など設定が漏れている。
config/project-scratch-def.json を以下の通りに変更して、再度scratch orgを作成する。

{
  "orgName": "My Saleforce Org",
  "edition": "Developer",
  "features": ["Communities","EnableSetPasswordInApi"],
  "settings": {
    "lightningExperienceSettings": {
      "enableS1DesktopEnabled": true
    },
    "mobileSettings": {
      "enableS1EncryptedStoragePref2": false
    },
    "communitiesSettings": {
      "enableNetworksEnabled": true
    },
    "experienceBundleSettings": {
      "enableExperienceBundleMetadata": true
    },
    "UIBundleSettings": {
      "webAppOptIn": true
    }
  }
}

Experience CloudとMulti-Frameworkは有効化された状態で作成できたので、再度デプロイしてみると...

うむ。まだエラーがある。想定の範囲内。
claude codeに聞いてみると

Digital Experiences を有効化しても、org 側に以下がまだ1つも存在していません:
* CommunitiesLanding 等の標準コミュニティ VF ページ → 0件
* Site → 0件
* Network → 0件

これは「鶏と卵」問題です
CommunitiesLanding / CommunitiesLogin / CommunitiesSelfReg といった標準 VF ページは、Digital Experiences の有効化だけでは作られませんorg 内で最初の Experience サイト(コミュニティ)を1つ作成したときに初めて自動プロビジョニングされます。

ということで、サイトに入って何か適当な名前(被らない名前)で1つ作ってみる。
Build Your Own(LWR)を選んで適当なものを作って再度デプロイしてみると...

今度はデプロイできたっぽい。管理画面もこんな感じになった。

フレームワークが React になるのか。
そしてビルダーへのリンクはない。まぁそれはそうか。
URLにアクセスすると、なるほどReactアプリだ。

Browse All Accounts をクリックすると、こんな画面に。

Sample Account for Entitlements をクリックすると

Experience Cloudサイトが、いきなりSPAになった。

とりえあえず、Experience Cloudサイト上で動かせそうなので、引き続き試していきたいと思います。(もしかしたら、続く)

Read more

2026/5/15よりSalesforce組織に無償Slackワークスペースが付属

2026/5/15よりSalesforce組織に無償Slackワークスペースが付属

2026/5/15より、Salesforce組織に無償のSlackワークスペースが付属することになった。 出典: Slack is the AI Work Platform for Every Salesforce Customer, Ready on Day One Salesforce Staff / 2026-04-29 公開 既にSlackを導入している企業であれば、Salesforceと接続することで、SlackをSalesforceの新たな入口として使う体験は可能だった。 なので「前からできたじゃん」と言えばそうなのだけど、今回のポイントはそこではなさそうだ。 単に「SalesforceからSlack連携できます」が無償化という話でなくて、フォーム型UI(ユーザインタフェース)から会話型UIへ開発リソースを移していくというSalesforceの意思決定だろう。 Herokuの「sustaining engineering」に始まって、Salesforce Multi-Framework あたりから、風雲急を告げるな…的な動きと思っていたが、新しい組織での Chatt

By Hiroki Matsumoto

Salesforce

Salesforce Hosted MCPサーバーと遊んでみる

Salesforce Hosted MCPサーバーがGAになったということで、Claudeから使えるか試してみる。 https://github.com/forcedotcom/mcp-hosted (なお、大体のところはwikiを見ながら進めていけるので以下もご参考に。) https://github.com/forcedotcom/mcp-hosted/wiki 主な作業としてはこんなところ 1. 外部クライアントアプリケーションを作成 2. MCPサーバーを有効化 3. MCPクライアントから接続して試行 ※以下、Salesforce環境はDeveloper Editionを利用してます。 では早速↓ 1. 外部クライアントアプリケーションを作成 セットアップ  > アプリケーション  > 外部クライアントアプリケーション  > 外部クライアントアプリケーションマネージャー から、新規外部クライアントアプリケーションを作成する。 基本情報 アプリケーション名、API参照名などいつも通り好きに指定する。 API (OAuth設定の有効化) OAuthを有

By Takahiro Yonei

heroku

Dancing with Heroku AppLink / 2

(ローカルアプリと組み合わせる...?) 構成の概要 Heroku AppLinkの活用例として、こんな構成を試してみた。 * 個別に作成したElectronアプリケーションがあって、そのアプリケーションはSalesforceのデータを参照したり、データを作成する。 * Electronアプリケーションに、Salesforceのアクセストークンを持たせてアクセスできるようにしたい。 * しかし、Electronアプリケーション内にSalesforceのアカウント情報を持たせたくないし、個別のログイン機能なんて作りたくない。 * Electronアプリケーションに渡す情報にはSalesforce外の情報もあり、その諸々の情報をまとめるためにHerokuアプリケーションを設置した。 * (Apexコードを書くのがやや面倒...) といったあたりで、上のような構成を試してみた。 Heroku AppLinkの活用ポイント など ※主に②で大活躍するので、そこに絞った話をしてみよう。 まず、Heroku側の実装としては以下を前提として、Node.jsアプリケ

By Takahiro Yonei