Dancing with Heroku AppLink / 2

(ローカルアプリと組み合わせる...?)

構成の概要

Heroku AppLinkの活用例として、こんな構成を試してみた。

  • 個別に作成したElectronアプリケーションがあって、そのアプリケーションはSalesforceのデータを参照したり、データを作成する。
    • Electronアプリケーションに、Salesforceのアクセストークンを持たせてアクセスできるようにしたい。
    • しかし、Electronアプリケーション内にSalesforceのアカウント情報を持たせたくないし、個別のログイン機能なんて作りたくない。
  • Electronアプリケーションに渡す情報にはSalesforce外の情報もあり、その諸々の情報をまとめるためにHerokuアプリケーションを設置した。
  • (Apexコードを書くのがやや面倒...)

といったあたりで、上のような構成を試してみた。

Heroku AppLinkの活用ポイント など

※主に②で大活躍するので、そこに絞った話をしてみよう。

まず、Heroku側の実装としては以下を前提として、Node.jsアプリケーションを構築する。

  • Heroku AppLinkをAdd onに追加する
  • Heroku AppLink Service Meshをビルドパックに追加する
  • Webアプリケーションフレームワークはお好きなもので
    • fastify, Express など

そして、Salesforceからのリクエストを受け付けるエンドポイントを実装して、Salesforceにインポート(OpenAPIに沿って記述したyamlを取り込む)する。
そうすると、動的Apexとしてインポートされるので、Flowから呼び出すことも可能になる。

Salesforceからリクエストする(②)と、Heroku Router => Service Mesh => Herokuアプリケーションという順番でリクエストが流れてくる。

Service MeshではSalesforceの認証情報が含まれているか検証して、認証情報がなければエラーとしてHeroku Routerに返す。つまり、Herokuアプリケーションまでリクエストが届かないこととなる。
したがって、認証情報を持たないリクエスト(≒ Salesforce外からのリクエスト)は除外される、ということだ。
Herokuアプリケーション側に独自の認証機構を実装せずに済むのは、非常に楽と言える。

そして、Herokuアプリケーションは③の時点では、Salesforceの認証情報を持っている状態でゴニョゴニョできる。
Salesforceの認証情報のほかに、必要な情報をペイロードに持たせてJWTを返す、みたいなことも可能になる。

その他

⑤では、Electronアプリケーションを起動するためのディープリンクを返すのだが、Electronアプリケーションに登録したカスタムスキームを指定して数式項目やSalesforceが用意するタグを使用することはできない。
※Salesforceでは外部アプリケーションを起動するスキームとして https, mailtoといった標準的なものだけに限定している。

VisualforceページもしくはLightning Web Componentを作って、<a>タグで埋め込む必要がある。

Read more

Salesforce

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 PlatformA collection of easy-to-digest code examples for React on Salesforce Platform - trailheadapps/multiframework-recipesGitHubtrailheadapps 公式ドキュメント -> Integrate Your React App with the Agentforce

By Takahiro Yonei
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