Salesforce
SOQLクエリーの実行
概要
このブロックは、SalesforceのSOQLクエリーを実行して、結果を「結果を格納する変数」プロパティで指定された変数に格納します。
変数には、オブジェクトの配列形式で、クエリー結果が格納されます。変数に格納されたデータを処理する系統のブロックと組み合わせて使用できます。
以下に、変数に格納されたデータを処理する系統のブロックの一部を列挙します。
警告
SOQLクエリーを実行した結果のレコード件数が多いと、ブロックの実行がエラーになったり、動作しなくなる可能性があります。大量のレコード件数を扱う場合は、「SOQLクエリーの結果からGCSにファイル作成」ブロックの利用をおすすめします。
プロパティ
| プロパティ名 | 説明 |
|---|---|
| ブロック名 |
編集パネルに配置した当該ブロックの表示名が変更できます。 ブロックリストパネル中のブロック名は変更されません。 |
| アカウント |
Salesforceアカウントを選択します。 備考 |
| SOQLクエリー |
SalesforceのSOQLクエリーを指定します。 |
| 結果を格納する変数 |
SOQLクエリーを実行した結果を格納する変数を指定します。 クエリー結果は、以下のようなオブジェクトの配列形式で格納されます。
[
{
"name": "opportunityA",
"amount": 100.99,
"sales_date": "2021-06-30"
},
{
"name": "opportunityB",
"amount": 99.01,
"sales_date": "2021-01-30"
}
]
|
| Sandbox | SOQLクエリーの実行先となるSalesforceがSandbox環境かどうかを指定します。 |
| ブロックメモ | このブロックに関するメモが記載できます。このブロックの処理に影響しません。 |
| APIバージョン |
このブロックで使用するAPIのバージョンを指定します(このブロックでは、Salesforceが提供するAPI経由でSOQLクエリーを実行しています)。 APIのバージョンによって、使用できるクエリーの文法や関数が異なる可能性があります。 自身の環境で使用できるAPIバージョンについては、SalesforceのEditionおよびAPIバージョンを確認する方法open_in_newを参照してください。 |
使用例
この使用例では、Salesforceからプロジェクトデータを取得し、データを活用するフローを紹介します。
「プロジェクト管理と分析」シナリオについて
この使用例は「プロジェクト管理と分析」シナリオの一部です。このシナリオでは、以下のSalesforce関連ブロックを組み合わせて、プロジェクトデータの取得・更新・分析を行います。
- 「SOQLクエリーの実行」ブロック:Salesforceからプロジェクトデータを取得(現在のブロック)
- 「レコードの追加」ブロック:新規プロジェクトデータをSalesforceに登録
- 「レコードの更新、無ければ追加」ブロック:既存プロジェクトデータの更新または新規登録
- 「変数からAnalyticsへアップロード」ブロック:取得したデータをCRM Analyticsにアップロード
各ブロックの使用例を順に参照することで、Salesforceデータを活用した完全なワークフローを理解できます。
このフローは、プロジェクトマネージャー向けの進捗分析レポート作成や、経営層へのプロジェクト状況報告など、Salesforceに蓄積されたデータを有効活用する際に役立ちます。
前提条件
- Salesforceアカウントが設定済みであること
- 「プロジェクト管理」カスタムオブジェクト(Project__c)が作成済みで、アクセス権があること
- GCPサービスアカウントが設定済みであること(スプレッドシート出力時に必要)
カスタムオブジェクトについて
この例では、「プロジェクト管理」というカスタムオブジェクトを使用します。以下の設定でカスタムオブジェクトが作成されていることを前提としています。
| 項目 | 設定値 | 説明 |
|---|---|---|
| 表示ラベル | プロジェクト管理 | 画面に表示される名前 |
| オブジェクト名 | Project | APIで使用される名前(末尾の__cは自動付与) |
| レコード名 | プロジェクト管理名 | 各レコードを識別するための項目の名前 |
| データ型 | テキスト | プロジェクト名を任意のテキストで入力可能 |
このカスタムオブジェクトには、以下のカスタム項目が設定されているものとします。
| 表示ラベル | データ型 | 項目名 | 詳細設定 | 説明 |
|---|---|---|---|---|
| 予算 | 通貨 | Budget | 桁数:18 小数点以下の桁数:0 |
プロジェクトの予算額 |
| 開始日 | 日付 | StartDate | - | プロジェクトの開始日 |
| ステータス | 選択リスト | Status | 選択値: 計画中 進行中 完了 |
プロジェクトの状態 |
| 顧客名 | テキスト | CustomerName | 文字数:80 | 顧客企業名 |
| 説明 | ロングテキストエリア | Description | 文字数:32768 表示行数:6 |
プロジェクトの説明 |
フローの実装手順
- 「SOQLクエリーの実行」ブロックを配置し、以下のように設定します。
プロパティ名 値 アカウント 使用するSalesforceアカウントを選択 SOQLクエリー SELECT Name, Budget__c, StartDate__c, Status__c, CustomerName__c, Description__c FROM Project__c ORDER BY Budget__c DESC
結果を格納する変数 project_dataSandbox 適宜選択(本番環境の場合はオフ)
実行結果
取得したデータは以下のようなオブジェクトの配列形式で変数に格納され、後続の処理で利用できます。
[
{
"Name": "クラウド移行プロジェクト",
"Budget__c": 8000000.0,
"StartDate__c": "2024-03-31",
"Status__c": "計画中",
"CustomerName__c": "グローバル商事",
"Description__c": "オンプレミスからクラウドへの移行"
},
{
"Name": "新規システム開発プロジェクト",
"Budget__c": 6000000.0,
"StartDate__c": "2023-12-31",
"Status__c": "計画中",
"CustomerName__c": "株式会社サンプル",
"Description__c": "顧客管理システムの新規開発(予算増額)"
}
]
データ活用例
このデータを使用した後続処理の例を紹介します。
スプレッドシートに出力する
- 「スプレッドシートを作成」ブロックを配置し、以下のように設定します。
プロパティ名 値 ファイル名 プロジェクト_データ一覧出力データの変数 project_dataワークシート名 プロジェクト一覧共有相手 特定のユーザー付与する権限 閲覧Eメールアドレス 共有相手のメールアドレスを指定
作成されるスプレッドシートのイメージ:
| Name | Budget__c | StartDate__c | Status__c | CustomerName__c | Description__c |
|---|---|---|---|---|---|
| クラウド移行プロジェクト | 8,000,000 | 2024-03-31 | 計画中 | グローバル商事 | オンプレミスからクラウドへの移行 |
| 新規システム開発プロジェクト | 6,000,000 | 2023-12-31 | 計画中 | 株式会社サンプル | 顧客管理システムの新規開発(予算増額) |
次のステップ
この使用例は「プロジェクト管理と分析」シナリオの一部です。次のステップとして、以下のブロックの使用例を参照してください。
- 「変数からAnalyticsへアップロード」ブロック:取得したプロジェクトデータをCRM Analyticsにアップロード
- 「レコードの更新、無ければ追加」ブロック:プロジェクトデータの更新を行う