Mark Hammer's Blog

SalesforceやTrailheadに関する情報を投稿しているブログです。

Salesforceのリリースバージョン番号

はじめに

今年もDreamforceが終わりました。
Twitterを見てると、今年はワークフローとプロセスビルダーからフローに乗り換えに関する話題で盛り上がりましたね。
約1年後にはワークフローとプロセスビルダーの新規作成を禁止されるとなると結構な重要事項ですが、今回のテーマはそれではありません。

True to the Core オンデマンド録画の25分ごろからその話題になるのですが、ここでスピーカーのPatrick Stokes氏はタイムライン説明の際に "Spring ‘22" といった形ではなく ”Two thirty-six”, "Two thirty-eight", "Two fourty" と話しています。
しかし紹介したブログには、 "Spring ‘22", "Summer'22", "Winter'23" と従来のバージョン名で記載されています。
これはどういったことなのでしょうか。

Salesforceのリリースバージョンには番号がある

実はSalesforceのリリースバージョンには、"Winter'22"のような我々がよく知る「季節+年」の表記以外に数字のバージョン番号も設定されています。
それはSalesforceリリースノートのURLを見れば分かります。

このように、releaseURLパラメータがSummer'21では232、Winter'22では234と2増えています。
このルールは今後のバージョンでも同様ですので、

  • Summer'21: 232
  • Winter'22: 234
  • Spring'22: 236
  • Summer'22: 238
  • Winter'23: 240

となります。
Patrick Stokes氏はバージョンをこの番号で説明しており、それをブログ著者が「季節+年」の表記に書き換えたんですね。

おわりに

通常、Salesforceのバージョンは「季節+年」表記で表されており、一般ユーザがバージョン番号を聞くことは滅多にありません。*1
少なくともDreamforceのこのセッションは一般向けではなかった、ということでしょうか。

releaseURLパラメータはメジャーリリースごとに2増える、と覚えておくと先述のリリースノートのURLパラメータ書き換えだけで希望のリリースノートを見つけることができたりするなど*2、いいことがあるかもしれません。

*1:目にするのはSalesforceアプリのバージョン番号ぐらいでしょうか。それもあまり気にしませんよね。

*2:リリースノート画面にあるバージョン選択リストから選んだ方が早い、と言われるとそうですが…

Trailhead モジュール:Advanced Salesforce Release Readiness Strategies

※この内容は2021/9時点のものです。

Master the Release Readiness Process

https://trailhead.salesforce.com/ja/content/learn/modules/advanced-salesforce-release-readiness-strategies/master-the-release-readiness-process

  • 説明:英語
  • Challenge:英語選択問題

Select and Prioritize Features

https://trailhead.salesforce.com/ja/content/learn/modules/advanced-salesforce-release-readiness-strategies/select-and-prioritize-features

  • 説明:英語
  • Challenge:英語ハンズオン

【Challenge要約】

※筆者注:Challenge前に組織設定にて言語のデフォルト値を「英語」にする必要があります。

  • 以下内容で新規カスタムオブジェクトを作成してください。
    • 表示ラベル:New Feature
    • 表示ラベル(複数形)*1:New Feature
    • オブジェクト名:New_Feature
    • 説明:Object to track and prioritize new features to be deployed
    • タブスタイル:トロフィー
  • 以下内容でNew Featureカスタムオブジェクトに新規カスタム項目を追加してください。
    • 項目の表示ラベル:Feature Area
      • データ型:選択リスト
      • 項目名:Feature_Area
      • 値:Accounts & Contacts, Opportunity, Productivity, Case Management, Knowledge, Tasks & Activities, Email, Calendar, Automation, Reports, Dashboards
    • 項目の表示ラベル:Business Impact
      • データ型:選択リスト
      • 項目名:Business_Impact
      • 値:High, Medium, Low
    • 項目の表示ラベル:Implementation Effort
      • データ型:選択リスト
      • 項目名:Implementation_Effort
      • 値:High, Medium, Low
    • 項目の表示ラベル:Decision Status
      • データ型:選択リスト
      • 項目名:Decision_Status
      • 値:Proposed, Auto-activated, In development, Deployed, Cancelled
    • 項目の表示ラベル:Target Deployment Date
      • データ型:日付
      • 項目名:Target_Deployment_Date
      • ヘルプテキスト:When will this feature be deployed?
  • 以下内容でNew Featureオブジェクトのレコードを作成してください。
    • New Feature名:Flow
    • Feature Area:Productivity
    • Business Impact:High
    • Implementation Effort:High
    • Decision status:Proposed

Test New Features Before a Release

https://trailhead.salesforce.com/ja/content/learn/modules/advanced-salesforce-release-readiness-strategies/test-new-features-before-a-release

  • 説明:英語
  • Challenge:英語選択問題

Communicate New Features to Users

https://trailhead.salesforce.com/ja/content/learn/modules/advanced-salesforce-release-readiness-strategies/communicate-new-features-to-users

  • 説明:英語
  • Challenge:英語選択問題

*1:設定項目の表示には組織設定にて言語のデフォルト値を「英語」にする必要があります

古いAPIバージョンのアクセスを追加費用なしで確認したい

はじめに

Salesforce Platform API バージョンが古いものについて、以下のように順次サポート終了、アクセス不可が予定されています。

こうなると自分の組織に古いAPI バージョンのアクセスがないか気になるところですが、これを確認する方法は現状EventLogしかありません。
しかし、イベントログの開発者ドキュメントには以下の記載があります。

安全でない外部アセットイベント、ログインイベント、ログアウトイベントは、サポートされている Salesforce エディションで追加費用なしで使用できます。残りのイベントタイプを購入するには、Salesforce にお問い合わせください。

APIアクセスイベントは上記でいう「残りのイベントタイプ」になります。 つまりEvent Monitoringライセンスを購入しないと古いAPI バージョンのアクセスがあるかないか分からないのです。

しかし、それでは困るという顧客の声があったのでしょう。
Summer'21リリースにてAPI 合計使用量イベントを使用した API バージョンの使用の追跡というリリースが行われました。

このイベントは、バージョン 30.0 までの SOAP、Bulk v1、および REST API 要求へのコールを記録します。データは 24 時間保持されます。
(中略)
API 合計使用量イベントは、すべての顧客が無料で使用できます。

これにより、追加費用なしでも廃止対象APIバージョンのアクセスを確認することができるようになりました。

試してみた

実際にAPI 合計使用量イベント(ApiTotalUsage)が取得できるか試してみました。

古いAPIバージョンでアクセスする

今回はWorkbenchでアクセスします。

  1. Workbench経由でSalesforceにログインする
  2. 上のメニューから Utilities|REST Explorer をクリック
  3. HTTPメソッドを「GET」、URIを /services/data/v20.0/sobjects/account/describe で指定して[Execute]をクリック

f:id:mark-hammer:20210909020715p:plain
Workbench画面

イベントログを取得する

Workbenchアクセス後、1日待って以下作業を行います。

  1. Salesforce Event Log File Browser経由でSalesforceにログインする
  2. EventTypeを「ApiTotalUsage」と指定して「Apply」をクリック
  3. 結果が表示されればCSVをダウンロード

f:id:mark-hammer:20210909020852p:plain
Salesforce Event Log File Browser画面

実際の結果はこうなりました。(CSVから一部抜粋)

EVENT_TYPE API_FAMILY API_VERSION API_RESOURCE HTTP_METHOD
ApiTotalUsage REST 20 /v20.0/sobjects/account/describe GET

ちゃんとバージョン20のAPIアクセスが記録されていますね。

おわりに

注意点として追加費用なしの場合、イベントログは1日しか残らない点が挙げられます。
つまりアクセスの有無を確認するには毎日取得しなければならないので、実際に取得を検討される方はご注意ください。

Appendix

Lightning Platform Starter, Plus ユーザとケースオブジェクトへのアクセス

はじめに

Salesforceユーザライセンスのうち、比較的安価な Lightning Platform Starter ライセンスと Lightning Platform Plus ライセンス。

www.salesforce.com

この2つのライセンスは、ヘルプにてケースオブジェクトにアクセス可能なことが明言されています。

f:id:mark-hammer:20210715000313p:plain
ヘルプページ抜粋

しかし、Lightning Platform Starter, Plus ユーザライセンスを購入するとSalesforce組織上では Salesforce Platform ユーザライセンスとして有効化されますが、 Salesforce Platform ユーザライセンスではケースオブジェクトにアクセスできません。 権限セットを割り当てようとしても以下のようにエラーになります。

f:id:mark-hammer:20210731134937p:plain
エラー画面

実際にケースにアクセスさせるには

実はヘルプの冒頭に

「Lightning Platform Starter と Lightning Platform Plus のどちらにも Salesforce Platform ライセンスと Company Communities 権限セットライセンスが含まれます。次の表は、Salesforce Platform ライセンスが付与され、Company Communities 権限セットライセンスが割り当てられているユーザが使用できる機能を示します。」

という文言がある通り、 ケースオブジェクトにアクセスさせるには Company Communities 権限セットライセンスをユーザに付与する必要があります。
Company Communities 権限セットライセンスは、Salesforce組織上では「Company Community for Force.com」権限セットライセンスとして有効化されます。

手順

Company Communities 権限セットライセンスをユーザに付与する具体的な手順は以下になります。

  1. 設定画面でメニューから「権限セット」を選択
  2. [新規]をクリック
  3. 表示ラベルやAPI参照名を入力し、ライセンスから「Company Community for Force.com」を選択して[保存]をクリック
    f:id:mark-hammer:20210731135508p:plain
    権限セット作成画面
  4. [オブジェクト設定]をクリック
  5. オブジェクト名から[ケース]をクリック
  6. [編集]をクリックし、オブジェクト権限の「参照」「作成」「編集」「削除」から必要な権限をチェックして[保存]をクリック(必要に応じて項目権限等もチェックを入れる)
  7. [割り当ての管理]をクリック
  8. [割り当てを追加]をクリック
  9. 割り当てたいユーザにチェックを入れ、[割り当て]をクリック
  10. 割り当てが成功したことを示すメッセージが表示されればOK

注意事項

上記手順で作成した権限セットは、Salesforce Platformユーザライセンス以外のユーザにも割り当てられます。
つまり、SalesforceユーザライセンスのユーザにCompany Communities 権限セットライセンスを割り当てることもできますが、これはCompany Communities 権限セットライセンスを無駄にする行為です。(Salesforceユーザライセンスは単体でケースアクセス可能なため)
Company Communities 権限セットライセンスを使った権限セットの割り当てはSalesforce Platformユーザに限定するようにしましょう。

Appendix

Salesforce ヘルプ: Grant users with Salesforce Platform License access to Case object

Known IssueとIdeaExchange検索結果を以前と同じページ表示にする

はじめに

Trailblazer CommunityがTrailheadと合流したため、Known IssueとIdeaExchangeはページの形式が変わりました。

trailblazer.salesforce.com

trailblazer.salesforce.com

さらにKnown IssueとIdeaExchangeの検索結果画面は、Salesforce Help画面に統合されました。

f:id:mark-hammer:20210714214038p:plain
Known IssueとIdeaExchangeの検索結果画面

しかし、Salesforce Help側の検索画面…、個人的な思いですがなんか使いにくいんですよね…。
例えば、「lightning report」でIdeaExchangeを検索した場合の結果を比較しましょう。

f:id:mark-hammer:20210714214428p:plain
旧画面の検索結果

f:id:mark-hammer:20210714214445p:plain
新画面の検索結果

旧画面の方では「関連する投稿→ポイント数降順」のソートがかかっているように見えます。
結果、検索に関連する投稿のうち、よりポイント数が多い=他ユーザの共感が多い投稿が上位になります。

一方、新画面の方はステータスがMerged(=0ポイント)の投稿が最上位となっており、完全に検索キーワードとの関連度のみでソートしているように見えます。
これが致命的に悪いというつもりはありませんが、個人的には旧画面の方が好みなのです。

旧画面の検索結果を表示する

かといって、現時点ではKnown IssueとIdeaExchangeページの検索窓にキーワードを入力すると強制的にSalesforce Help画面に遷移するので、旧画面の検索結果は表示できません。
そこで、URLパラメータを使い、以下のようにURLに検索キーワードを直打ちします。

https://trailblazers.salesforce.com/issues_index?keywords=<検索キーワード>
https://trailblazers.salesforce.com/ideasearch?keywords=<検索キーワード>

これで旧画面の検索結果ページを引き続き表示させることができます。
私のような旧画面の検索結果ページが好みだった方にお使いいただければ幸いです。

データローダで複数のオブジェクトにまたがったデータを取得したい

はじめに

データローダでデータを取得しようとするとき、例えば取引先責任者で「ID、姓、名、取引先名、作成者、最終更新者」のデータを取得しようとすると、以下SOQLと結果になります。

  • SOQL
Select Id, AccountId, LastName, FirstName, CreatedById, LastModifiedById FROM Contact
  • 結果(CSV)
ID ACCOUNTID LASTNAME FIRSTNAME CREATEDBYID LASTMODIFIEDBYID
0032v00002m22azAAA 0012v00002MaYXxAAN Gonzalez Rose 0052v00000YW5o3AAD 0052v00000YW5o3AAD
0032v00002m22b0AAA 0012v00002MaYXxAAN Forbes Sean 0052v00000YW5o3AAD 0052v00000YW5o3AAD
0032v00002m22b1AAA 0012v00002MaYXyAAN Rogers Jack 0052v00000YW5o3AAD 0052v00000YW5o3AAD

ここで、取引先名、作成者、最終更新者はIDではなくて実際の名前を取りたいと思いました。
レポートであれば実際の名前を取得できるのですが、ここではデータローダで取得してみましょう。

データローダでリレーションクエリを使う

リレーションクエリとは、参照関係や主従関係がある場合に対象のオブジェクトと関連するオブジェクトのデータを取得するクエリです。
詳細は以下を参照してください。 developer.salesforce.com

リレーションクエリでは、 <呼び出し元の項目名>.<呼び出し先のAPI参照名> という形で項目を指定します。
「項目名」はAPI参照名ではなく、項目設定画面で確認できます。
例えば取引先責任者オブジェクトの「取引先名」項目は、API参照名は AccountId ですが、項目名は Account になります。

f:id:mark-hammer:20210706012109p:plain
リレーションクエリで用いる項目名

「はじめに」に書いた要件を満たすようリレーションクエリを用いたSOQLが以下になります。

Select Id, Account.Name, LastName, FirstName, CreatedBy.Name, LastModifiedBy.Name FROM Contact

結果(CSV)はこうなります。

ID ACCOUNT.NAME LASTNAME FIRSTNAME CREATEDBY.NAME LASTMODIFIEDBY.NAME
0032v00002m22azAAA Edge Communications Gonzalez Rose 管理 一郎 管理 一郎
0032v00002m22b0AAA Edge Communications Forbes Sean 管理 一郎 管理 一郎
0032v00002m22b1AAA GenePoint Rogers Jack 管理 一郎 管理 一郎

おわりに

標準オブジェクトやカスタムオブジェクトの場合、レポートでも同様の出力は得られますが、「サイト」や「権限セット」など、設定側のオブジェクトデータをエクスポートする際には役立つかと思います。
リレーションクエリはApex等開発でしか使わないものかと思っていましたが、データローダのエクスポートクエリはSOQLなので、リレーションクエリも使えるのだと勉強になりました。

Trailhead モジュール:認定アドミニストレーター資格の更新 (Spring '21)

※この内容は2021/4時点のものです。

Spring '21 での認定アドミニストレーター資格の更新

https://trailhead.salesforce.com/ja/content/learn/modules/administrator-certification-maintenance-spring-21/maintain-your-administrator-certification-for-spring21

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

※このChallengeには、Salesforce公式解説があります。

  • このCSVファイルをダウンロードした後、オブジェクトマネージャの「作成|スプレッドシートからのカスタムオブジェクト」をクリックして、オブジェクトのAPI名: Laptop_Warranty としてインポートしてください。
    • 筆者注:「作成|スプレッドシートからのカスタムオブジェクト」を選択後、Salesforceログイン画面に戻るので、事前にユーザのパスワードリセットを行ってください。
    • 筆者注:オブジェクトのAPI名: Laptop_Warranty 以外はデフォルトのままで問題ありません。
  • カスタムオブジェクトのレコード詳細ページを動的フォームにアップグレードしてください。
    • Informationセクションを1個の列に変更してください。
    • 「Active Warranty」項目を「Support Level」項目の上に配置してください。
    • 「Support Level」項目と「Expiration Date」項目は、「Active Warranty」項目にチェックがある場合のみ表示するようにしてください。
    • 筆者注:有効化前にレコード詳細ページの表示ラベルが「Laptop_Warranty Record Page」、API参照名が「Laptop_Warranty_Record_Page」となっていることを確認してください。なっていない場合は修正してください。
  • レコード詳細ページを保存し、デスクトップおよび電話の組織のデフォルトとなるよう有効化してください。
  • 保存後に実際のレコード詳細ページを表示し、「Active Warranty」項目にチェックがある場合のみ「Support Level」項目と「Expiration Date」項目が表示されることを確認してください。

PCだけでSalesforce多要素認証を実現する(Authy)

はじめに

Salesforce多要素認証では、Salesforce AuthenticatorアプリかGoogle Authenticator等サードパーティ TOTP 認証アプリ、またはYubiKeyなどのセキュリティキーが必要となるため、「スマートフォンがない人はセキュリティキーを用意する必要がある」という認識でした。
しかし、以下のイベントでは「SMSの受信、または受電ができるデバイス(フィーチャーフォン含む)」と「Google ChromeがインストールされたPC」で多要素認証に対応する方法を説明する、とのことでした。

trailblazercommunitygroups.com

調べた結果、AuthyであればPCと電話でSalesforce多要素認証の対応が可能と分かりましたので、手順を書いてみます。

手順

Authy セットアップからログイン

まず、 https://authy.com/download/ にアクセスし、Desktopの枠から自分の利用しているOSを選択して 「Download」をクリックします。
この時、Windowsは32bitと64bitを選択する欄がありますが、自分がどちらを利用しているかは Microsoft社のヘルプ などを参考にしてください。

f:id:mark-hammer:20210404235509p:plain

ダウンロードした exeファイルを起動すると、Account Setup 画面が表示されます。
この画面に電話番号を入力します。左の枠には「Japan」と入力して日本の国番号である「+81」を選択し、右の枠には自分の電話番号を入力します。

f:id:mark-hammer:20210405000345p:plain

次に、認証方法を選択します。 スマートフォンなど、SMS受信可能な場合はSMSを、電話のみ可能な場合は Phone Call を選択します。
※この画面は既に初回認証が完了している電話番号を使用しているため、認証済みの端末を表す Existing Device が表示されていますが、一番最初の認証時は表示されないはずです。

f:id:mark-hammer:20210405000031p:plain

・SMS を選択した場合
SMSを選択した場合は6桁の認証番号を入力する画面が表示され、認証番号がSMSにて英語の文面で届きます。
SMSで届いた認証番号を画面に入力すればOKです。

f:id:mark-hammer:20210405000806p:plain

・Phone Call を選択した場合
Phone Call を選択した場合は、画面に2桁の数字が表示され、入力した電話番号宛に電話がかかってきます。 その電話を取り、表示された2桁の数字を入力すればOKです。(電話音声は英語です。)

f:id:mark-hammer:20210405001023p:plain

認証が終わると、このような画面が表示されます。
これで準備は完了です。

f:id:mark-hammer:20210405001209p:plain

Salesforce アカウントの多要素認証登録

※ここでは、「ユーザインターフェースログインの多要素認証」にチェックがあるユーザを利用します。

Salesforce ログイン画面からログインします。

f:id:mark-hammer:20210405001623p:plain

「Salesforce Authenticator を接続」画面が表示されるので、「別の検証方法を選択」をクリック

f:id:mark-hammer:20210405002143p:plain

「検証方法を選択してください」画面が表示されるので、「認証アプリケーションからの確認コードを使用」を選択し、「次へ」をクリック

f:id:mark-hammer:20210405002257p:plain

「認証アプリケーションを接続」画面にてQRコードが表示されるので、「QRコードをスキャンできません」をクリック

f:id:mark-hammer:20210405002421p:plain

「認証アプリケーションを接続」画面にてキーと確認コード入力画面が表示されるので、キーの文字列を全てコピー

f:id:mark-hammer:20210405002554p:plain

Authy に戻り、「+」マークをクリック

f:id:mark-hammer:20210405002705p:plain

コピーしたキーの文字列を「Enter Code ...」の枠に貼り付け、「Add Account」をクリック

f:id:mark-hammer:20210405002839p:plain

確認コードを識別するための名前(任意。ここではSalesforceユーザ名として「admin@testaccount.com」を設定)、Authy上でのアイコン(Salesforceを選択)、トークン長(「6-digit」を選択)を設定し、「Save」をクリック

f:id:mark-hammer:20210409165307p:plain

これで、Salesforce多要素認証用の認証コードが表示されました。

f:id:mark-hammer:20210409165315p:plain

最後に、Salesforce画面に戻り「認証アプリケーションを接続」画面にてAuthyに表示されている確認コードを入力し、「接続」をクリック

f:id:mark-hammer:20210405003243p:plain

以上でSalesforce アカウントの多要素認証登録は完了です。

多要素認証登録後のSalesforceログイン

通常通り、Salesforceログイン画面からログインします。

f:id:mark-hammer:20210405001623p:plain

「IDを検証」画面にてAuthyに表示されている確認コードを入力し、「検証」をクリックします。

f:id:mark-hammer:20210405003849p:plain

以上でログインは完了です。

おわりに

今回はAuthyを使って、スマートフォンアプリなしで多要素認証を行う手順を記載しました。
ちなみに検証していませんが、電話なしでPCのみでの多要素認証が可能なアプリもあるそうです。

なお、注意事項として多要素認証の認証コードを発行できる端末がPCのみの場合、そのPCがなければSalesforceにログインできないことになります。
また、電話番号が会社の固定電話の場合、会社以外からAuthyにログインできないため、会社以外でのSalesforce接続は不可、ということにもなります。
このようにSalesforceへの接続場所が固定されるデメリットもあるため、利用時は利用環境も含め検討されることをお勧めします。

Salesforce多要素認証: API接続でも多要素認証を求められるケース

※この投稿は2021/3時点の内容を基に記載しています。

はじめに

2022/2から必須となるSalesforceでの多要素認証(MFA)。
セールスフォース・ドットコム社のFAQでは、API接続は多要素認証必須化の対象外としています。

f:id:mark-hammer:20210325011122p:plain
FAQから抜粋

しかし、「ユーザインターフェースログインの多要素認証」を有効にして多要素認証対応した場合でも、API接続に多要素認証が必要な場合があります。

データローダの場合

パスワード認証の場合

「ユーザインターフェースログインの多要素認証」を有効にしたユーザを用意し、データローダでパスワード認証を行った場合は、従来通り正常にログインができます。

f:id:mark-hammer:20210325011623p:plain
パスワード認証の場合

OAuth認証の場合

一方OAuth認証の場合、表示されるSalesforceログイン画面にユーザ名、パスワードを入力すると多要素認証画面が表示され、多要素認証を行わなければログインできません。

f:id:mark-hammer:20210325014321p:plain
OAuth認証の場合

Data connector for Salesforce の場合

Data connector for Salesforce は初めて利用する場合Salesforceアカウント認証を行いますが、その際にSalesforceログイン画面からのログインとなるため、「ユーザインターフェースログインの多要素認証」を有効にしたユーザの場合は多要素認証画面が表示されます。

f:id:mark-hammer:20210325013338p:plain
Data connector for Salesforce 認証の流れ

ただし、既にSalesforceにログインした状態でData connector for Salesforce のSalesforce認証を行う場合は、AUTHORIZEボタンクリック後即アクセス権画面に移動するため、多要素認証は不要です。

f:id:mark-hammer:20210325013511p:plain
Salesforce既ログイン時の Data connector for Salesforce 認証の流れ

まとめ

API接続の多要素認証について、実際はログイン経路によって多要素認証の要不要が決まるようです。

  • 多要素認証が必要な場合
    • Salesforceログイン画面からログインする場合(例: Data LoaderのOAuth認証、Data connector for Salesforce)
  • 多要素認証が不要な場合
    • ユーザ名、パスワードを直接ツールに入力してログインする場合(例: Data Loaderのパスワード認証)

実際に各自が利用しているツールで多要素認証が必要となるかは上記で判断できると思いますが、最終的には「ユーザインターフェースログインの多要素認証」を有効にしたユーザを用意し、ログインを試すのが一番確実かと思います。

「多要素認証の話」発表資料公開

2021/2/27の Salesforce Saturday 赤坂 にてLTで発表した、「多要素認証の話」の資料を公開します。

注意事項

  • この資料は2021/2/22週の資料、Salesforce動作に沿っています。
    • 情報は常に更新されますので、何か設定される際は最新情報をご確認ください。
    • この資料を参考にしたことによってトラブルが発生しても一切の責任を負いかねます。
  • この資料には、一部に個人的な予想・推測が含まれます。
    • 実際の行動は必ずセールスフォース・ドットコム社の公開情報を参考にしてください。

資料

speakerdeck.com