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

Agentforce

文字起こしエージェントアクションの追加(Summer'26)

エージェントアクションにWhisper V3 Turbo (Whisper Large V3 Turboと思われる)による文字起こし機能が追加。6/22週から利用可能。 * Whisperはセルフホストっぽい。 * 5MB未満 * 話者識別やタイムスタンプはない。 電話音声だと帯域狭いから、適切な前処理すれば50分ぐらいいけるかも。MP3 64Kbpsだと10分ほどの計算になる。 Choose a Transcription Model for the Speech to Text Agent Action Use the Transcription Model parameter on the Speech to Text action to control which model converts audio to text. Choose the model

By Hiroki Matsumoto

Salesforce

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

あれ、もうGAになったのかな? 前に外部向け(Experience Cloud)のReact Appを作成してみたので、今度は内部向けも試してみる。今回はSandbox環境にデプロイして動かせるのか試してみよう。 内部向けのsfdxプロジェクトを作成 今回は --template に reactinternalapp を指定する $ sf template generate project --name wkInReactApp --template reactinternalapp npmパッケージのインストール&ビルド READMEにある通りに、作成したプロジェクトのルートディレクトリで、以下を実行する $ npm install $ npm run sf-project-setup > @salesforce/ui-bundle-template-base-sfdx-project@1.135.0 sf-project-setup >

By Takahiro Yonei

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

By Takahiro Yonei