[Salesforce]URLHackでケース登録画面の初期値を設定する

やりたいこと

Salesforceのケース登録をスムーズに行いたい。

多くのフィールドがある中で、7割ほどはいつも決まっている項目を選択・入力するため、入力コスト削減のためURLHackを利用する。

構文

/lightning/o/オブジェクト名/new?defaultFieldValues=フィールド名=入力文字列

テキストフィールド(1行)

/lightning/o/オブジェクト名/new?defaultFieldValues=フィールド名=入力文字列

テキストフィールド(複数行)

/lightning/o/オブジェクト名/new?defaultFieldValues=フィールド名=入力文字列

プルダウンフィールド

/lightning/o/オブジェクト名/new?defaultFieldValues=フィールド名=選択値

ルックアップフィールド

/lightning/o/オブジェクト名/new?defaultFieldValues=ルックアップフィールド名=オブジェクトの18桁ID

オブジェクト名の確認方法

各フィールド名はすべて、records-record-layout-item > divdata-target-selection-nameに定義されている。

テキストフィールド(1行)

<!-- TalkDetail__c -->
<records-record-layout-item class="slds-form__item slds-no-space slds-size_1-of-2 item-left" field-label="顧客名" lwc-2qpe2t0sbck-host="">
    <div lwc-2qpe2t0sbck="" class="slds-grid slds-size_1-of-1 label-stacked" data-target-selection-name="sfdc:RecordField.TalkHistory__c.CustomerName__c" role="listitem">
        <!-- 中略 -->
    </div>
</records-record-layout-item>

テキストフィールド(複数行)

<!-- TalkDetail__c -->
<records-record-layout-item class="slds-form__item slds-no-space slds-size_1-of-2 item-left" field-label="会話内容" lwc-2qpe2t0sbck-host="">
    <div lwc-2qpe2t0sbck="" class="slds-grid slds-size_1-of-1 label-stacked" data-target-selection-name="sfdc:RecordField.TalkHistory__c.TalkDetail__c" role="listitem">
        <!-- 中略 -->
    </div>
</records-record-layout-item>

プルダウンフィールド

<!-- SelectItem1__c --> 
<records-record-layout-item class="slds-form__item slds-no-space slds-size_1-of-2 item-left" field-label="選択リスト" lwc-2qpe2t0sbck-host="">
    <div lwc-2qpe2t0sbck="" class="slds-grid slds-size_1-of-1 label-stacked" data-target-selection-name="sfdc:RecordField.TalkHistory__c.SelectItem1__c" role="listitem">
        <!-- 中略 -->
    </div>
</records-record-layout-item>

ルックアップフィールド

<!-- ContactA_c --> 
<records-record-layout-item class="slds-form__item slds-no-space slds-size_1-of-2 item-left" field-label="商談A" lwc-2qpe2t0sbck-host="">
    <div lwc-2qpe2t0sbck="" class="slds-grid slds-size_1-of-1 label-stacked" data-target-selection-name="sfdc:RecordField.TalkHistory__c.ContactA_c" role="listitem">
        <!-- 中略 -->
    </div>
</records-record-layout-item>

エンコード処理は不要?

ほかの方の記事を見ると、フィールド名={!URLENCODE(‘文字列’)}で、エンコードしましょうという記載を見かけるのだが、
そうすると、{!URLENCODE(‘文字列’)}のままテキストフィールドに設定されてしまった。

逆に、フィールド名=’文字列’とすると、特に文字化けずに設定できた。