はじめに
Spring ’23のリリースノートが公開されましたね!その中でもWebAPIを実行するアクションが追加されたようなので試してみようと思います。
今まででも、Apexでアクションを作ったりOpenAPIを利用した外部サービスを使ったりすればできたことではありますが
より簡易的に使えるようになることで、多くの人がFlow Builderの中でAPIで取得したデータを活用することができるようになります。
2022年12月現在Spring '23は、プレリリース組織での提供となってます。
外部サービスについては軽くですが過去に記事を書いています
プレリリース組織へのサインアップ
sandboxのプレビュー組織がまだ公開されていないので
プレリリース組織を利用します。
こちらからサインアップ
登録完了後、メール度届きますのでリンクをクリックしてログインできればOKです。
APIの準備
今回は、Qiita APIを使わせていただきます。
アクセストークンの準備
設定からアクセストークンを発行します。
アクセストークンの説明を入力し
スコープはread_qiitaにチェックを入れて発行します。
APIのテスト
$ACCESS_TOKENは取得したトークン
$USER_NAMEは自分のuser_idに変更してください
投稿した記事一覧が取得できればOK
$ curl -H 'Authorization: Bearer $ACCESS_TOKEN' \
'https://qiita.com/api/v2/users/$USER_NAME/items'
Salesforce 指定ログイン情報の追加
今回の新機能では、APIを実行する際に指定ログイン情報を使います。
外部ログイン情報
設定>指定ログイン情報にアクセス
外部ログイン情報の新規作成をします。
| 項目 | 値 |
|---|---|
| 表示ラベル | Qiita API トークン |
| 名前 | Qiita_API_Token |
| 認証プロトコル | カスタム |
作成した外部ログイン情報の権限セットの対応付けを新規登録します。
設定>権限セットで外部ログイン情報にアクセスできる権限セットを作成します。
ExternalActionQiitaという名前で作成しました。
作成後自分に割り当てをし、
作成した権限セットを外部ログイン情報の権限セットの対応付けに登録します。
作成した外部ログイン情報のカスタムヘッダーを新規登録します。
| 項目 | 値 |
|---|---|
| 名前 | Authorization |
| 値 | Bearer $ACCESS_TOKEN(取得したアクセストークン) |
指定ログイン情報
外部ログイン情報を作成後 指定ログイン情報を新規作成します。
| 項目 | 値 |
|---|---|
| 表示ラベル | Qiita API v2 |
| 名前 | Qiita_API_v2 |
| URL | https://qiita.com/api/v2 |
| 外部ログイン情報 | Qiita API トークン(外部ログイン情報で登録したもの) |
| コールアウトオプション | 認証ヘッダーを生成にチェック |
これで前準備はOKです。
フローの作成
1. Create HTTP Callout (Beta)を追加
フローのアクションから Create HTTP Callout (Beta)を選択
| 項目 | 値 |
|---|---|
| Name | getQiitaItems |
| Name Credential | Qiita API v2 (指定ログイン情報で作成したもの) |
2. APIの設定
| 項目 | 値 |
|---|---|
| Label | getQiitaItems |
| Method | GET(BetaではGETのみ) |
| URL Path |
/users/$USER_NAME/items($USER_NAMEを自分のuser idに変えてください) |
Provide Sample Responseを設定します。
利用するAPIのサンプルレスポンスを貼り付けます
アクションを作成完了です。
実行
デバッグ
デバッグ実行すると記事が取得できました!
APIの結果を変数に割り当ててみる
Create HTTP Callout (Beta)で作成したアクションは外部サービスとして登録されています。

変数のデータ型Apex 定義で作成した外部サービスの型を利用できるのでApexクラスで選択。
このように割り当てが可能です。
今回は、複数件記事を取っているので1件に絞るには、APIのリクエストパラメータを追加するか
フローのコレクションを1件に絞るとかすればいいと思います。
最後に
Spring '23 のCreate HTTP Callout (Beta)の機能はどうだったでしょうか?
元々自分は外部サービスを触っていたのですが、いままでだとOpenAPIの定義が必要だったり少し手間なことがありましたが、今回の新機能だとサンプルのレスポンスから作成できるので
以前より登録がかなり楽になりました!Spring '23楽しみですね!
では、また別の機能をご紹介しようと思います。
ほぼ、Salesforceネタを書いている1人アドベントカレンダーもやっておりますので
興味がある方は是非見ていただけると幸いです。
参考















