Table of Contents [expand]
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2025年09月09日(火)
Heroku AppLink は、Heroku アプリを Salesforce の API サービスとして公開します。この記事では、Heroku AppLink の使用方法と必要な権限について説明します。
Heroku AppLink は、パイロット版の Heroku Integration アドオンとは別のアドオンです。パイロットに参加した場合は、Heroku AppLink アドオンをプロビジョニングし、Heroku アプリを再公開する必要があります。
Heroku AppLink のプロビジョニング
アドオンをプロビジョニングするには、次のコマンドを実行します。
$ heroku addons:create heroku-applink -a example-app
Creating heroku-applink on ⬢ example
applink-regular-78506 is being created in the background. The app will restart when complete...
Use heroku addons:info applink-regular-78506 to check creation progress
Use heroku addons:docs example-app to view documentation
プロビジョニング後、アドオンは環境設定を作成します。
HEROKU_APPLINK_URL: CLI がリクエストを行うためのベース URL が含まれます。HEROKU_APPLINK_TOKEN: アクセストークンが含まれます。
heroku config コマンドを使用して、環境設定を取得できます。
$ heroku config -a example-app
=== example-app Config Vars
HEROKU_APPLINK_API_URL: https://heroku-applink.heroku.com/addons/894792c1-c1e8-4f34-ba32-00000000000
HEROKU_APPLINK_TOKEN: af0a7e7984d4ef28948db6431dc036ae383fcb2f02064cbb0000000000000000
データアクションターゲットを作成するには、HEROKU_APP_ID 環境設定も設定する必要があります。
$ heroku config:set HEROKU_APP_ID="$(heroku apps:info --json | jq -r '.app.id')"
アドオンに他の設定変数を追加する場合、その環境設定を HEROKU_ で始めることはできません。エラーが発生した場合は、別の名前を使用して再度試してください。
アプリケーション間でアドオンを共有する
特定のアプリの接続や承認を独立して管理する場合は、アプリや環境間でアドオンを共有しないでください。代わりに、1 つのアプリに 1 つのアドオンをプロビジョニングする 1:1 モデルを使用します。アプリ間で接続や認証を共有する場合は、アドオンのアタッチメントメニューまたは heroku addons:attach コマンドを使用して、複数のアプリ間で 1 つの AppLink アドオンを共有できます。以下のように、--as フラグを使用してアドオンのエイリアスを指定します。
$ heroku addons:attach applink-regular-78506 -a applink-app --as ATTACHED_APPLINK
Attaching applink-regular-78506 to applink-app... done
Setting ATTACHED_APPLINK config vars and restarting applink-app... done, v4
たとえば、AppLink アドオンを使用してアプリ A で接続または承認を確立した場合、同じアドオンをアプリ B にアタッチすることで、この接続または承認をアプリ B と共有できます。

同じ AppLink アドオンを複数のアプリにアタッチすると、接続や承認の重複がなくなり、AppLink の管理が容易になります。同じアプリに複数の AppLink アドオンを設定することもできます。
Heroku ダッシュボードでは、アプリの Resources (リソース) タブの Add-ons (アドオン) セクションでアタッチメントを確認できます。

アドオンを削除する
アドオンを削除すると、すべての接続、承認、パブリケーションが削除されます。アドオンを削除する前に、接続、承認、パブリケーションがいずれの場所にも使用されていないことを確認するようお勧めします。
Heroku AppLink アドオンを削除するには、次のコマンドを実行します。
$ heroku addons:destroy heroku-applink
ユーザー権限の割り当て
Heroku AppLink で操作を実行するには、Heroku または Salesforce で必要なユーザー権限を持っている必要があります。AppLink の操作は Heroku アプリと Salesforce 環境の両方に影響する可能性があります。そのため、AppLink コマンドを使用して接続の作成、変更、承認、公開を行う際に使用する Heroku ユーザーアカウントや Salesforce ユーザーアカウントには、必要な権限が付与されている必要があります。
| AppLink 操作 | Heroku ユーザー権限 | Salesforce ユーザー権限 |
|---|---|---|
| 接続を表示する | deploy、operate、またはアプリの所有者 |
|
| 承認を表示する | deploy、operate、またはアプリの所有者 |
|
| 接続を作成・変更する | deploy、operate、またはアプリの所有者 |
Manage Heroku AppLink |
| 承認を作成・変更する | deploy、operate、またはアプリの所有者 |
Manage Heroku AppLink |
| アプリを公開する | deploy、operate、またはアプリの所有者 |
|
| パブリケーションを表示する | deploy、operate、またはアプリの所有者 |
|
| Heroku 外部サービス登録を作成・編集・削除する | Manage Heroku AppLink |
|
| 公開済みの App アクションを呼び出す | アプリの公開時に --authorizationPermissionSetName フラグを設定した場合に生成される権限セット |
2025 年 9 月以降、Salesforce ユーザーは接続を作成するのに Approve Uninstalled Connected Apps 権限と Use Any API Client 権限も必要になります。Approve Uninstalled Connected Apps は信頼できるユーザーが自己承認を行い、アンインストールされたアプリを Salesforce で引き続き使用できるようにします。Use Any API Client は、信頼できるユーザーが、アンインストールされた接続済みアプリとブロックされた接続済みアプリを引き続き使用できるようにします。
これらの権限は、接続されたアプリを実際に管理している管理者、開発者、ユーザーにのみ付与してください。詳細は、「「Prepare for Connected App Usage Restrictions Change」(接続アプリの使用制限の変更に備える) を参照してください。
AppLink を Data Cloud および Agentforce で使用している場合は、それらの機能を使用するために必要となる権限も付与されていることを確認してください。詳細は、「Data Cloud Standard Permission Sets」(Data Cloud 標準権限セット) および「Enable Agentforce」(Agentforce の有効化) を参照してください。
Salesforce でユーザーに権限を割り当てる方法についての詳細は、「Manage Permission Set Assignments」(権限セットの割り当ての管理) を参照してください。
Salesforce で Heroku AppLink の管理権限を追加する
Salesforce システム管理者は、接続または承認を作成するユーザーに Manage Heroku AppLink 権限を付与する必要があります。この権限は権限セット内の System Permissions に含まれています。
Manage Heroku AppLink ユーザー権限を既存の権限セットに追加するか、次の手順に従い新しい権限セットに追加します。
- Salesforce の [設定] から、
Quick Find(クイック検索) ボックスにPermission Sets と入力して選択します。 New(新規) を選択し、権限セットに名前を付けます。Save(保存) を選択します。Find Settings…(設定の検索…) ボックスにManage Heroku AppLink と入力して選択します。- [システム権限] ページの上部で、
Edit(編集) を選択します。 Manage Heroku AppLink の横にあるチェックボックスをオンにしてSave(保存) を選択し、もう一度Save(保存) を選択します。- [システム権限] ページのナビゲーションバーで、
Manage Assignments(割り当ての管理) を選択します。 Add Assignments(割り当てを追加) を選択します。- 権限セットを追加するユーザーの横にあるチェックボックスをオンにし、
Next(次へ) を選択してからAssign(割り当て) を選択します。

接続を作成する
接続とは、Heroku アプリと Salesforce または Data Cloud 組織との間の信頼できる接続です。接続を使用すると、アプリを外部サービスとして公開し、Salesforce で API アクションを生成できます。詳細は、「アプリ上の接続」を参照してください。
本番組織および開発者組織の場合は、ログイン URL は “https://login.salesforce.com” を使用してください。サンドボックス組織とスクラッチ組織の場合は、ログイン URL に “https://test.salesforce.com” を使用します。
すでに組織にログインしている場合、このコマンドはすでにログインしている組織への接続を試みます。別の組織に接続する場合は、このコマンドを実行する前に既存のすべての組織からログアウトしてください。
組織を初めて接続するときに、Salesforce ログイン情報を入力するためのブラウザウィンドウが表示されます。Heroku に付与するアクセスレベルを承認する必要があります。
Salesforce 組織に接続する
Salesforce 組織に接続するには、次のコマンドを実行します。
$ heroku salesforce:connect production-org --addon applink-regular-78506 -a example-app
Opening browser to https://login.salesforce.com/services/oauth2/authorize?client_id=…
Press any key to open up the browser to connect ⬢ example-app to production-org, or q to exit:
Connecting Salesforce org production-org to ⬢ example-app... Connected
Data Cloud に接続する
この手順を完了するには、Salesforce 組織で Data Cloud を有効にする必要があります。手順を参照して、Data Cloud を有効にしてください。
Data Cloud 組織に接続するには、次のコマンドを実行します。
$ heroku datacloud:connect my-datacloud --addon applink-regular-78506 -a example-app
Opening browser to https://login.salesforce.com/services/oauth2/authorize?client_id=…
Press any key to open up the browser to connect ⬢ example-app to my-datacloud, or q to exit:
Connecting Data Cloud org my-datacloud to ⬢ example-app... Connected
JWT を使用して Salesforce に接続する
JWT 認証トークンを使用して Salesforce 組織に接続することもできます。JWT を使用した接続は、既存の CI/CD ワークフローで AppLink を使用する場合に便利です。
JWT を使用して Salesforce に接続するには、次のコマンドを実行します。
$ heroku salesforce:connect:jwt org_jwt --addon applink-simple-60625 -a example-app --client-id 3MVG9N7GK6... --jwt-key-file jwt/server.key --username test-user@example.com --login https://test.salesforce.com
Adding credentials for test-user@example.com to example-app as org_jwt... Connected
接続を表示する
接続は、Heroku AppLink ダッシュボードのConnections (接続) タブから、または CLI を使用して確認できます。
applink:connections を使用すると、自分が所有しているアプリや共同作業者であるアプリのすべての接続が表示されます。Heroku チームまたはエンタープライズチームの管理者の場合は、チーム内のアプリで作成されたすべての接続を表示できます。
接続されている組織のリストを表示するには、次のコマンドを実行します。
$ heroku applink:connections -a example-app
=== Heroku AppLink connections for app ⬢ example-app
Add-on Type Connection Name Status
────────────────────── ─────────────── ──────────────── ─────────
applink-regular-78506 Salesforce Org production-org Connected
applink-regular-78506 Data Cloud Org my-datacloud Connected
特定の接続に関する情報を表示するには、次のコマンドを実行します。
$ heroku applink:connections:info production-org -a example-app --addon applink-regular-78506
=== production-org on ⬢ app example-app
Connection Type: Salesforce Org
Created By: admin@heroku.com
Created Date: 2025-05-30T18:55:42.863808Z
Id: b36e267d-3af0-4647-b4dc-060e980e2f99
Instance URL: https://acme-corp.my.salesforce.com
Last Modified: 2025-05-30T18:56:02.282284Z
Last Modified By: admin@heroku.com
Org ID: 00DSB00000VAyPF2A1
Status: Connected
接続を削除する
この操作を行うと組織への接続が削除され、元に戻すことはできません。
接続を削除すると、その Salesforce 組織にアプリを公開できなくなります。Salesforce 組織から接続を削除するには、次のコマンドを実行します。
$ heroku salesforce:disconnect production-org -a example-app
› Warning: Destructive action
› This command disconnects the connection production-org from add-on applink-regular-78506 on app ⬢ example-app.
›
To proceed, type production-org or re-run this command with --confirm production_org: production-org
Disconnecting Salesforce org production-org from example-app ... done
Data Cloud 組織から接続を削除するには、次のコマンドを実行します。
$ heroku datacloud:disconnect datacloud-org -a example-app
› Warning: Destructive action
› This command disconnects the connection datacloud-org from add-on applink-regular-78506 on app ⬢ example-app.
›
To proceed, type datacloud-org or re-run this command with --confirm datacloud: datacloud-org
Disconnecting Data Cloud org datacloud-org from example-app ... done
接続状況
接続の状態は Heroku AppLink ダッシュボード、CLI、または API を使用して確認できます。
| ステータス | 説明 |
|---|---|
connecting |
組織はアドオンインスタンスに接続中です。 |
connected |
組織はアドオンインスタンスに接続済みです。 |
disconnecting |
組織はアドオンインスタンスから切断中です。 |
disconnected |
ユーザーが組織を切断したか、またはアクセストークンの有効期限が切れたため、組織はアドオンインスタンスから切断されました。salesforce:connect を使用して再接続してください。 |
failed |
予期しないエラーが発生したため、接続に失敗しました。ログで詳細を確認し、再度接続を試みてください。問題が解決しない場合は、チケットを作成して Heroku サポートに問い合わせてください。 |
承認を作成する
承認には、ユーザーの資格情報とセキュリティトークンが保存されます。保存されたセキュリティトークンは、後でアプリのコード内で使用したり、承認済みユーザーとして公開済みのアプリを呼び出すときに使用したりできます。authorized-user 接続専用の統合ユーザーを作成することをお勧めします。詳細は、「アプリ上の承認」を参照してください。
本番組織および開発者組織の場合は、ログイン URL は “https://login.salesforce.com” を使用してください。サンドボックス組織とスクラッチ組織の場合は、ログイン URL に “https://test.salesforce.com” を使用します。
すでに組織にログインしている場合、このコマンドはすでにログインしている組織への接続を試みます。別の組織に接続する場合は、このコマンドを実行する前に既存のすべての組織からログアウトしてください。
組織を初めて接続するときに、Salesforce ログイン情報を入力するためのブラウザウィンドウが表示されます。Heroku に付与するアクセスレベルを承認する必要があります。
Salesforce ユーザーを承認する
Salesforce ユーザーを承認するには、次のコマンドを実行します。
$ heroku salesforce:authorizations:add auth-user --addon applink-regular-78506 -a example-app
Opening browser to https://login.salesforce.com/services/oauth2/authorize?client_id=…
Press any key to open up the browser to add credentials to ⬢ example-app as auth_user, or q to exit:
Adding credentials to ⬢ example-app as auth_user... Authorized
Data Cloud ユーザーを承認する
この手順を完了するには、Salesforce 組織で Data Cloud を有効にする必要があります。Data Cloud を有効にする手順を参照してください。
Data Cloud ユーザーを承認するには、次のコマンドを実行します。
$ heroku datacloud:authorizations:add dc-user --addon applink-regular-78506 -a example-app
Opening browser to https://login.salesforce.com/services/oauth2/authorize?client_id=…
Press any key to open up the browser to add credentials to ⬢ example-app as auth_user, or q to exit:
Adding credentials to ⬢ example-app as dc_user... Authorized
コード内で承認を使用する
以下は、コード内で org_name という承認を参照する例です。
getAuthorization('org_name'); // Defaults to the default AppLink add-on
getAuthorization('org_name', 'add-on-name-or-uuid'), // Use if you have more than one AppLink add-on on the same app
承認を表示する
接続は、Heroku AppLink ダッシュボードの Authorizations (承認) タブから、または CLI を使用して確認できます。
applink:authorizations を使用すると、自分が所有しているアプリや共同作業者であるアプリに保存されているすべての承認済みユーザーが表示されます。Heroku チームまたはエンタープライズチームの管理者の場合は、チーム内のアプリで作成されたすべての承認を表示できます。
承認のリストを表示するには、次のコマンドを実行します。
$ heroku applink:authorizations -a example-app
=== Heroku AppLink authorizations for app example-app
Type Add-on Developer Name Status
─────────────── ─────────────────────── ──────────────── ─────────
Salesforce Org applink-regular-78506 auth_user Authorized
Data Cloud Org applink-regular-78506 dc_user Authorized
特定の承認に関する情報を表示するには、次のコマンドを実行します。
$ heroku applink:authorizations:info auth_user --addon applink-regular-78506 -a example-app
=== auth_user on app ⬢ example_app
Add-on: applink-regular-78506
App: example-app
Created By: admin@heroku.com
Created Date: 2025-05-21T05:11:10.864524Z
ID: 864aace1-72cb-47e0-aafe-35286b4283be
Instance URL: https://acme-corp.my.salesforce.com
Last Modified: 2025-05-21T05:11:29.383383Z
Last Modified By: admin@heroku.com
Org ID: 00DSB00000SEt1L2AT
Status: Authorized
Type: Salesforce Org
承認を削除する
この操作を行うと、組織に対する承認が削除されます。承認を削除する前に、既存のコードが承認を参照していないことを確認してください。承認を削除すると、コードに含まれるこの承認への参照はすべて失敗します。
承認済みの Salesforce ユーザーを削除するには、次のコマンドを実行します。
$ heroku salesforce:authorizations:remove auth-user --addon applink-regular-78506 -a example-app
Removing credentials auth-user from example-app ... done
承認済みの Data Cloud ユーザーを削除するには、次のコマンドを実行します。
$ heroku datacloud:authorizations:remove dc-user --addon applink-regular-78506 -a example-app
Removing credentials dc-user from example-app ... done
承認状況
承認の状況は、CLI または API 経由で確認できます。
| ステータス | 説明 |
|---|---|
authorizing |
アドオンインスタンスがユーザーを承認中です。 |
authorized |
ユーザーはアドオンインスタンスで承認済みです。SDK の getAuthorization API を使用して、このユーザーをアプリで使用することができます。 |
disconnecting |
アドオンインスタンスがユーザー承認を削除中です。 |
disconnected |
ユーザー承認はアドオンインスタンスから削除済みです。 |
failed |
予期しないエラーが発生したため、承認に失敗しました。ログで詳細を確認し、再度承認を試みてください。問題が解決しない場合は、チケットを作成して Heroku サポートに問い合わせてください。 |
Heroku アプリを公開する
外部サービスでは、宣言型ツールと OpenAPI 仕様を使用して Salesforce 組織を外部 API に接続できます。Heroku アプリを外部サービスとして公開すると、Salesforce Flow、Apex、Data Cloud、Agentforce、Data Cloud を使用してアプリを呼び出すことができます。公開したアプリを呼び出すことができるのは、接続されている Salesforce 組織と Data Cloud 組織のみです。
公開コマンドで OpenAPI 仕様を設定すると、API 操作を Agentforce アクションとして指定したり、user-plus モード用にユーザー権限を追加したりするなど、特定のアクションを生成できるようになります。デフォルトでは、外部サービスアクションからアプリを呼び出すと、呼び出し元ユーザーとして user モードで実行されます。詳細は、「Heroku AppLink 用の OpenAPI 仕様の設定」を参照してください。
アプリを公開するには、次のコマンドを実行します。
$ heroku salesforce:publish api-spec.yaml --client-name HerokuAPI --authorization-connected-app-name MyAppLinkConnectedApp --authorization-permission-set-name MyAppLinkPermSet --connection-name production-org --addon applink-regular-78506
Publishing ⬢ example-app to production-org as HerokuAPI via https://applink.herokudev.com/addons/1c6bb699-2a91-47b3-b55e-8f2e37254684/connections/salesforce/production-org/apps... done
アプリを公開すると以下が生成されます。
- ユーザーが公開されたアプリを使用し、アプリのアクションを呼び出すために必要な権限セット。権限セットの名前は、
--client-name フラグで渡した値になります。 - 公開された API を表す、
Heroku タイプの外部サービス登録。 - エンドポイント URL を保存し、Heroku 外部サービス呼び出しの認証をカスタマイズするための指定ログイン情報と外部ログイン情報。指定ログイン情報の名前は
<published-app-name> です。 - Apex と Salesforce Flow でカスタムアクションとして呼び出すことができる外部サービスの Apex クラスとメソッド。Apex クラスの名前は
herokuapplink.<published-app-name> です。詳細は、「Heroku AppLink アプリの呼び出し」を参照してください。 - (任意) クライアントアプリに代わって API リソースへのアクセスを要求する承認用接続アプリ。接続されたアプリの名前は、
--authorizationConnectedAppName フラグまたはメタデータ zip ファイルで渡した値になります。 - (任意) 外部ログイン情報にアクセスするための権限セット。これにより、ユーザーは外部サービスを呼び出すことができます。権限セットの名前は、
--authorizationPermissionSetName フラグまたはメタデータ zip ファイルで渡した値になります。 - API カタログの
Herokuタブの API。
公開に失敗した場合は、Salesforce の [設定] の [リリース状況] で詳細を確認してください。
外部サービスを呼び出すユーザーにすべての権限セットを割り当てる必要があります。
Heroku でパブリケーションを表示する
接続は、Heroku AppLink ダッシュボードの Publications (パブリケーション) タブから、または CLI を使用して確認できます。
salesforce:publications を使用すると、アプリに接続された組織のすべてのパブリケーションが表示されます。パブリケーションのリストを表示するには、次のコマンドを実行します。
$ heroku salesforce:publications -a example-app
=== Salesforce publications for app ⬢ example-app
Connection Name Org ID Created Date Created By Last Modified Last Modified By
──────────────── ─────────────────── ──────────────────── ──────────────── ───────────────────── ──────────────
production-org 00DSB00000VAyPF2A1 2025-05-30T17:34:56Z admin@heroku.com 2025-05-30T17:34:56Z Admin Heroku
Salesforce でパブリケーションを表示する
アプリを公開すると、Salesforce の [設定] からアプリとその入力・出力パラメータを確認できます。設定ページで次のことを行います。
- [クイック検索] で
Heroku を検索し、Apps(アプリ) を選択します。 - 公開したアプリを選択します。
![Salesforce の [設定] に表示された Heroku アプリ](https://assets.devcenter.heroku.com/article-images/1750872001-rn_heroku_apps_setup.png)
公開したアプリとその API は、External Services (外部サービス) ページまたは API カタログの Heroku タブでも確認できます。
![API カタログの [Heroku] タブ](https://assets.devcenter.heroku.com/article-images/1750885065-API-Catalog-Heroku.png)
パブリケーションを削除する
この操作を行うと、Salesforce から公開されたアプリが削除されます。アプリアクションを削除する前に、既存のコードまたはリソースがアプリアクションを参照していないことを確認してください。
外部サービスの [アクション] 列の矢印をクリックし、Delete (削除) を選択すると、Salesforce から公開したアプリを削除できます。公開したアプリの外部サービスページで Delete (削除) をクリックすることもできます。

Heroku アプリの呼び出し
アプリを公開したら、Salesforce でアプリのアクションを呼び出すことができます。詳細は、「Heroku AppLink アプリの呼び出し」を参照してください。