Salesforceに新規レコードを作成
この記事では、Salesforceと連携して新規レコードデータを作成する方法について紹介します。
【できるようになること】
- SalesforceCreateRecordを利用
- Salesforceのレコードを自動で作成
Salesforceの新規レコード作成
下記手順にてワークフローを設定します。
今回は以下のように「オートロ株式会社」の取引先(Account)レコードを作成する設定をします。
作成時、住所・電話番号を一緒に登録します。
- コネクションページからSalesforceのコネクションを登録します。
連携手順:Salesforceと連携
- アクション一覧から「SalesforceCreateRecord」アクションをドラッグ&ドロップします。
- プロバイダID:パラメータ右横の「プロバイダIDを選ぶ」から選択します。
- オブジェクト名:レコードを作成するオブジェクトの名前を入力します。
【例】取引先オブジェクト:Account - 作成データ:作成する項目名と値を設定します。設定は以下のようにオブジェクト形式で記述します。(オブジェクト形式とは上記オブジェクト名とは別の用語です。詳細はこちらをご参照ください。)
{項目名: 値,項目名: 値}
- ここではワークフロー内で設定した変数も
${変数名}
の形式で利用できます。その場合、以下のように記入します。
例)ワークフロー内で会社名をcompanyNameという変数に設定していた際の呼び出し方
{"Name":"${companyName[0]}"}
※Salesforceのオブジェクト名や項目名は、Salesforceのオブジェクトマネージャーから確認することができます。詳細はこちらの記事をご参照ください。
salesforceの項目の中には住所、名前のように1つのカテゴリーでも複数の項目が存在するケースがあります。
このような場合BillingAddressをSalesforceのデータを取得で取得すると下記のように住所項目の詳細がでてきますが、
請求先市区郡を更新する場合は以下NGのように「Salesforceのデータを取得」の形式ではなく、OK例のように他の項目同様の形式で指定の項目を入れ更新する必要があります。
失敗する書き方
{"BillingAddress": { "city": "testest", }} 成功する書き方
{"BillingCity":"中央区日本橋"}
NGケースで実行すると下記のようなエラーが出ますが権限上の問題はありませんのでクエリについてご確認ください。
Error: Unable to create/update fields: BillingAddress. Please check the security settings of this field and verify that it is read/write for your profile or permission set
ロングテキスト項目に対して、改行が存在する文字列を入れたい場合は、以下の記法を用いる必要があります。
"ロングテキスト項目名": ${JSON.stringify(改行の存在する文字列を格納した変数名)}
※上記は末尾のカンマが抜いてありますのでご注意ください。
※オブジェクトのバリュー側(JSON.stringify())へのダブルクォーテーションは、不要です。
数値項目に対して数値型変数を利用する場合は、以下の形式である必要があります。
- 値に指定した変数をダブルクォーテーションで囲う
- 数値型であることを明示
整数を入力したい場合 ${parseInt(変数名)}
小数を入力したい場合 ${Number(変数名)}
※小数を格納した変数を設定し、上記の形式で入力しても小数点以下が表示されない場合は、項目の表示設定等をご確認ください。
レコード作成時、親オブジェクトを紐付けることが可能です。
※オブジェクト間の関係についてはこちらをご参照ください。
例)商談レコードに既存の取引先レコードを紐づける
今回新規に商談レコードを作成するとします。
その際、その商談先の情報として、既存の取引先レコードを紐付けておくと便利です。
ここでは商談レコードの中で、親取引先を入力する項目を探して、そちらの項目に取引先レコードのIDを入力することで紐付けできるようになります。
以下画像だと、「取引先名」が該当項目とわかります。
この場合、オブジェクトマネージャから「取引先名」の項目名を参照して、以下の通り設定します。
{“AccountId”:“取引先レコードID”}
実際のアクションへの入力は以下のような形になります。
※対象の取引先レコードIDは、別途何らかの方法で取得する必要があります。
対象の取引先レコードの検索をAUTOROのアクションで行う場合は、こちらも併せてご参照ください。
# レコードを作成する +salesforce_create_record_1: action>: SalesforceCreateRecord provider: object: Account data: "{\n \"Name\": \"オートロ株式会社, \n \"BillingState\": \"東京都\", \n \"BillingCity\": \"中央区\", \n \"BillingStreet\": \"日本橋蛎殻町1丁目 13-7日本橋人形町プレイス5F\", \n \"Phone\": \"0300000000\"\n}\n"
<Saleseforce>セールスフォース